Open Community ARMmbed

Arduino LogoIt has already been a decade since Arduino was first introduced to the world. And since 2005, terms like open source hardware and software, have been used more commonly.

Nowadays, students can also implement their ideas into reality using Arduino; and the communities based on open source hardware and software have enabled it.

The number of makers using Arduino grows every second and communities made by makers play a powerful role in the era of IoT. The potential of IoT just seem endless thanks to Arduino.

 

To follow the trend of open source hardware, ARM corporation provided an alternative option beside Arduino with ARMmbed. ARMmbed provides an ecosystem in collaboration with many silicon partners, cloud partners, and device partners; ARM says that any developer can easily develop an IoT device platform and prototype using platforms and services provided in the ecosystem. ARMmbed expects to become the ecosystem that can lead the IoT era.

20160711_104621
20160711_103929ARMmbed first launched its beta version in 2009. Since then, ARMmbe built its ecosystem by collaborating with other IT companies like Atmel, NXP, Nordic, and STM. Almost 100 platforms based on Cortex-M series core were registered and around 400 components were used in that platform, resulting in creating over 17,000 projects and 6,000 libraries currently opened and registered. Also, mbed OS is slowly being considered as the most powerful OS in IoT device market since ARM was famous for developing CPU architecture.

However, mbed has not built a large fandom as Arduino so far although it has successfully made and provided an ideal environment. This post can help developers and makers who have not experienceed or underutilized ARMmbed.

Refer to these links for more details about ARMmbed.

Refer to these links if you would like to find out more about the 100 platforms, 400 components, and 20,000 codes.

 

Be aware that the ARMmbed ecosystem is an environment created by its users. Users made and shared more than 20,000 codes, thus there could be errors and difference in the implementation content. However, these difficulties are commonly found when obtaining info from the open source communities. Since ARMmbed ecosystem provides service simlir to Git, which many developers use, users can obtain the shared code and modify projects or libraries already created and send comments to ther users; and through these activities the code becomes more reliable.

One of the strengths of the ARMmbed ecosystem is the Web Compiler developed by ARMmbed.
ARMmbed brought the working environment for developers from Local to Web using this Web Compiler. This allows users to open and share many projects and libraries. And the data that developers use with platforms provided form ARMmbed, are currently being strored in the ARMmbed database through the Web compiler. As result, ARMmbed has been able to secure powerful resources of open source software in a short period of time.

The Web Compiler provides many advantages to the ARMmbed ecosystem and its developers, and one of those advantages is version management. Web Compiler enables easy version management since it provides simliar service as Git. Users can use and switch among the registered 100 platforms and easily compare with previous versions when working as a team.

The following links explain how to generate and compile projects on Web Compiler.

 

Lastly, the picture and link below is about the product development procedure in the ARMmbed ecosystem.

I will introduce various projects made with WIZwiki-W7500 platform board from WIZnet, Silicon partner of ARMmbed, in the next curation.

https://developer.mbed.org/explore/

Explore mbed

Visitor Tracking via Wi-Fi

Wi-Fi Probe request is used to actively seek any, or a particular access point.

wifi-probe-eng

For example, if you turn on the Wi-Fi of the smart phone, the smart phone will show all available AP list. At this time, the smart phone transmits the “Probe Request” packets to search the APs around. After then the phone will show a list of APs that sends the response packets to the phone.

The probe request packet includes MAC address information of the device. Therefore, if we can capture this probe request packet in any specific area, it is possible to collect the data about staying time of devices. In this posting, we will make a device to track Wi-Fi devices using probe request packets.

<Hardware>

We need below hardware

  • WIZwiki-W7500 (ARM Cortex-M0 Platform)
  • WizFi310 : Wi-Fi Module (This module has the function to capture the probe-request packet.)
  • SD CARD

probe-1

WizFi310 scans the probe request around and send the data to WIZwiki-W7500ECO. After parsing the data, WIZwiki-W7500 save the data in the SD Card.

The source code for this operation, can be downloadable from mbed.

https://developer.mbed.org/users/jehoon/code/WiFi_Tracker/

 

<Result>

We could get the below data.

probe-2

  • X4000 : Probe request packet
  • xx:xx:xx ~~ : MAC Address
  • -84:RSSI (Wireless Signal Sensitivity)

By analyzing above raw data, we could get below result

probe-3

probe-4

 

  • WizFi310 captured about 36,000 Probe request packets
  • Found 343 MAC addresses
  • Captured 15,000 probe requests from a MAC address
  • Captured more than 1000 probe requests from 5 MAC addresses
  • Captured more than 100 probe requests from 33 address

If we use this ‘probe request packet capture’ function, we may be able to make the device to search the visitors who often visit a specific area and sends various information such as restaurant, movies, parking places and etc.

IoT Pet Feeder

If you have this ‘IoT Pet Feeder’, you can feed your pet on command from anywhere in the world and monitor them if they are O.K without any problem.

In this posting, we will introduce the initial version of a pet feeder. The author will develop this device by adding more functions such as Wi-Fi, network camera and etc.

pet_1

As you see above image, a rotating typed servo motor is installed in the T-PVC with auger screws. The servo motor is controlled by the WIZwiki-W7500 platform. By implementing web server , you can remotely control the device from a web page. If you click below image, you can learn more about WIZwiki-W7500 (ARM cortex-M0 MCU platform board)

pet_2

For the case, the author used various material. He made some parts by using 3D printer. If you go to the Thingivers site, you can easily find the 3D modeling files for pet feeder. For this project, he used the files from below link.

http://www.thingiverse.com/thing:34100 

pet_3d

We also need the T type PVC.

pet_t

To save the cost, he used the pack of the Pringles.

pet_pringles

 

Below is the servo motor image (Parallel Continuous Rotation Servo)

servo_motor

Now, let’s assemble them. When he printed the auger screw using above 3D modeling file, he found its size does not fit into the T-PVC. So he cut one side of the PVC.

pet_cut

It is not difficult to assemble the all the parts. He made the cap for the feeder with the Pringle cap. In the 0.1 version, as the network connection is implemented by Ethernet, you can see the network lines. In the next version, the Wi-Fi and network camera will be added.

pet_ass

 

As the web server is loaded on WIZwiki-W7500, you can control the device on the web page. If you click the “Network Information” menu, you can configure the network parameters for the device. The “Feeding Example” will provide the menus for motor control (Left/Light Control & Go/Stop Control) When the camera is installed to this device, you can monitor your pet through “Monitoring Example” menu.

pet_web

All the codes are programed by mbed on-line compiler. If you go to below page, you can download the all source code.

https://developer.mbed.org/users/justinkim/code/PetfeederWebServer/ 

pet_mbed

All the codes are programed by mbed on-line compiler. If you go to below page, you can download the all source code.

https://developer.mbed.org/users/justinkim/code/PetfeederWebServer/ 

pet_7500

 

Below is the demonstration movie.
http://serviceapi.nmv.naver.com/flash/convertIframeTag.nhn?vid=6D4D8D9CDCA3C6CF8B94CFC598BFBA7A56E0&outKey=V123dc08c6915ce680b6bf0c30a16fa6e01b1564b628dbdb7210ef0c30a16fa6e01b1

Adding REST-based Web Services to IoT Device for IO monitoring

wizwiki-w7500eco3dtop_edit

This project is to make a simple RESTful Web service library for IoT Devices. The library is written with C language code and on WIZwiki-W7500ECO platform board from WIZnet. With it, users can implement a RESTful Web service on IoT devices easily. Monitoring IoT devices can be done by RESTful API based on JSON, as well.

 

* Frozen JSON parser and generator for C/C++ included

* APIs for HTTP POST method will be added

* The post will be update continuously

 

I’ve also posted this at Instructables.

http://www.instructables.com/id/Adding-REST-based-Web-Services-to-IoT-Device-for-I/

 

 

Step 1: Parts

 

wizwiki-w7500eco_detailpinout

 

WIZnet WIZwiki-W7500ECO Platform board

  • WIZwiki-W7500ECO is a compact platform board based on W7500, which is a SOC chip that integrates an ARM Cortex-M0, 128KB Flash memory and hardwired TCP/IP core.
  • W7500 is the best fit to IoT devices.

 

A computer for using KEIL uVision5 IDE

  • These library is developed and compiled with uVision5 IDE.

 

 

Step 2: Download, Build and RUN

Download the RESTful Web Server & I/O Control by REST API Project on GitHub repository

 

Build and Firmware write to target board: WIZwiki-W7500ECO

  1. Project Build
  2. Firmware Write
    • Writing firmware into WIZwiki-W7500ECO has three ways
      • Using the CMSIS-DAP (Drag and Drop)
      • Using the CMSIS-DAP (through KEIL uVision5)
      • Using the ISP (ISP, In-System Programming)
    • Please refer to WIZnet wiki site; How to write the firmware into WIZwiki-W7500P

Eric's Labs

wizwiki-w7500eco3dtop

This project is simple REST Web server library for small IoT devices. Users can be made the IoT device for REST-based web services available in this project using C language / WIZwiki-W7500ECO platform board.

Users can monitor your devices using REST APIs based on JSON.

* This project includes Frozen JSON parser and generator for C/C++

* HTTP POST method APIs are being developed.

* This posting will be continuously added.

I’ve posted at Instructables.

http://www.instructables.com/id/Adding-REST-based-Web-Services-to-IoT-Device-for-I/

Step 1: Parts

wizwiki-w7500eco_detailpinout

WIZnet WIZwiki-W7500ECO Platform board

  • WIZnet WIZwiki-W7500ECO is a compact WIZwiki platform board based on W7500. The W7500 chip is one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially internet of things.

A computer for using KEIL uvision5 IDE

  • These library source code and project are developed based on uvision5 IDE

Step 2: Download, Build and RUN

Download the RESTful Web Server…

View original post 208 more words

Seeed Arch Link Board (VAR)

Arch Link is an mbed enabled development board based on Nordic nRF51822 and WIZnet W5500 ethernet interface. With Arduino form factor, Grove connectors and micro SD interface, it is extremely easy to create a bluetooth low energy device.

Features

  • mbed enabled
    • Online IDE
    • Easy to use C/C++ SDK
    • Handy libraries
  • CMSIS DAP based on LPC11U35
    • Drag-n-drop programming
    • Debug using CMSIS DAP standard
    • USB virtual serial for communication
  • Arduino form factor with Grove connectors
    • I2C and UART connecter on board
  • Nordic nRF51822 Multi-protocol Bluetooth® 4.0 low energy/2.4GHz RF SoC
    • ARM Cortex M0 processor
    • 256kB flash/16kB RAM
    • Configurable I/O mapping for digital I/O
  • WIZnet W5500 Ethernet
    • Supports following Hardwired TCP/IP Protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE
    • Supports Power down mode
    • Supports Wake on LAN over UDP
    • Supports High Speed Serial Peripheral Interface(SPI MODE 0, 3)
    • Internal 32Kbytes Memory for Tx/Rx Buffers
    • 10BaseT/100BaseTX Ethernet PHY embedded
    • with RJ45 connector
  • USB Micro B connector
  • Micro SD Card connector

https://developer.mbed.org/platforms/Seeed-Arch-Link/

WIZnet New Product “WIZwiki-W7500P”

WIZwiki-W7500

WIZwiki Platform

WIZnet WIZwiki Platform based on WIZnet’s MCU. WIZnet WIZwiki-W7500P is a WIZwiki platform board based on W7500P. The IOP4IoT W7500P chip is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash, hardwired TCP/IP core for various embedded application platform, 10/100 Ethernet MAC and PHY, and especially internet of things. The TCP/IP core is a market-proven hardwired TCP/IP stack and PHY is IC plus IP101G, an IEEE 802.3/802.3u Fast Ethernet Transcevier for 10/100Mbps. The Hardwired TCP/IP stack supports the TCP, UDP, IPv4, ICMP, ARP, IGMP and PPPoE which has been used in various applications for more than 15 years. W7500P suits users who need Internet connectivity best.

For more information, please visit: http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500p:start.

To purchase this product, please visit: http://www.shopwiznet.com/wizwiki-w7500p.