Difference: TheNopIoTNode (7 vs. 8)

Revision 82019-03-14 - UliRaich

Line: 1 to 1
 
META TOPICPARENT name="AFNOGWorkshop2019"

The IoT Node and its Processor

Line: 12 to 12
 There are plenty of processors available on the market, many of which are ARM based devices with a big variety of external interfaces. There are however two extremely popular processor families which we want to have a look into:
  • The Raspberry Pi, which is a full blown computer system running a Debian based Linux operating system with all the tools needed to develop software natively. The Raspberry Pi 3 for example features a quad core 64 bit ARM processor with 1 GByte of RAM and a micro SD card with up to 32 GBytes of storage space. Due to its capabilities the Raspberry Pi is a rather expensive solution (~ 70 Euros) especially it only a very limited number of sensors or actuators are connected.
  • The Arduino. Originally the Arduino used 8 bit AVR processors and is much less powerful than the Raspberry Pi. The most interesting part of the Arduino family is an Integrated Development Environment running on Windows and on Linux machines and featuring a C++ like programming language. The IDE contains a compiler and a flash programmer for the processor used. The IDE has been extended to processors different from the AVR family and can now be used also for ESP8266 or ESP32 processors or for the STM32 family of processors. In all cases however the software is cross-developed and the resulting binaries are loaded into the processor flash.
    The standard AVR Arduino does not have an Internet connection but there are piggy back boards, so called shields that can be plugged on top of the processor board and Ethernet or WiFi shields are available. Processors like the ESP8266 or the ESP32 have Wifi already available on the processor board. The advantage of the Arduino is its price. It is possible to create an IoT node with one or two sensors or actuators less than 5 Euros.
Changed:
<
<

The Raspberry Pi

>
>
  • There are boards with an Arduino form factor, same size, same connectors as the AVR Arduinos which however are based on a different processor. Typically they use Espressif's ESP8266 or ESP32 processors, 32 bit machines with integrated WiFi and much more flash memory available than the AVR machine. These machines are ideally suited as IoT nodes. In addition to the Arduino type machine there are also smaller boards to which sensors can easily be attached. These boards can either be programmed with the Arduino IDE or they can run a Lua or micro Python interpreter.
 

The ESP01

Although the ESP01 is designed as a WiFi interface with which a host processor communicates through AT commands over a serial line, this device features a powerful ESP8266 processor with 8 MBytes of flash which can be programmed. Of course you will loose the AT firmware but you can easily re-install it if needed. One nice feature of the ESP01 is that several sensor boards have been designed onto which you can simply plug this processor card. .... and then there is the price: The whole node, processor, Internet connection and sensor will cost you less than 5 Euros. Here are two examples:

Line: 67 to 67
 
espNodeMCU.png esp8266Uno.png
esp32devkit.png esp32uno.png
Just type ./flashMicroPython and watch the magic!
Added:
>
>

The Wemos D1 mini

We have seen that the ESP01 can be programmed with micro Python and that there are add-on sensor boards available. However, when we connect the sensor board we loose the serial connection to the PC. This can be corrected by soldering extra connectors to the top of the ESP01 board but this is fiddly and needs good soldering equipment and good soldering skills.

A better and only slightly more expensive solution (we are talking about ~ 3.5 US$ instead of 2.5 US$) is the Wemos D1 mini board.

wemosd1mini.png

This module comes with 4 MBytes of flash (as compared with 1 MByte for the ESP01) it has 16 external pins and it features a micro USB connector. Several sensor/actuator boards are available for this board which can be easily stacked together with a base board.

tripleBase.png

Here is a selection of some of the sensor and actuator boards.

wemosBuzzer.png wemosDS18B20.png
wemosdht11.png wemosSht30.png
wemosOled.png wemosBmp180.png
This is the hardware solution chosen for the AFNOG-2019 workshop.
  Accessing micro Python on the IoT node
Line: 88 to 105
 
META FILEATTACHMENT attachment="esp32uno.png" attr="" comment="" date="1551547791" name="esp32uno.png" path="esp32uno.png" size="192660" user="UliRaich" version="1"
META FILEATTACHMENT attachment="esp8266Uno.png" attr="" comment="" date="1551547794" name="esp8266Uno.png" path="esp8266Uno.png" size="256464" user="UliRaich" version="1"
META FILEATTACHMENT attachment="espNodeMCU.png" attr="" comment="" date="1551547795" name="espNodeMCU.png" path="espNodeMCU.png" size="181723" user="UliRaich" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="flashMicroPython" attr="" comment="" date="1551547976" name="flashMicroPython" path="flashMicroPython" size="5680184" user="UliRaich" version="1"
>
>
META FILEATTACHMENT attachment="flashMicroPython" attr="" comment="" date="1552552564" name="flashMicroPython" path="flashMicroPython" size="5680184" user="UliRaich" version="1"
 
META FILEATTACHMENT attachment="microPython-ESP32.bin" attr="" comment="" date="1551555540" name="microPython-ESP32.bin" path="microPython-ESP32.bin" size="1126768" user="UliRaich" version="1"
META FILEATTACHMENT attachment="microPython-ESP8266.bin" attr="" comment="" date="1551555545" name="microPython-ESP8266.bin" path="microPython-ESP8266.bin" size="589584" user="UliRaich" version="1"
Added:
>
>
META FILEATTACHMENT attachment="flashMicroPython.py.txt" attr="" comment="" date="1552552342" name="flashMicroPython.py.txt" path="flashMicroPython.py.txt" size="4483" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosd1mini.png" attr="" comment="" date="1552555898" name="wemosd1mini.png" path="wemosd1mini.png" size="321062" user="UliRaich" version="1"
META FILEATTACHMENT attachment="tripleBase.png" attr="" comment="" date="1552555909" name="tripleBase.png" path="tripleBase.png" size="150874" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosDS18B20.png" attr="" comment="" date="1552557073" name="wemosDS18B20.png" path="wemosDS18B20.png" size="113155" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosdht11.png" attr="" comment="" date="1552557072" name="wemosdht11.png" path="wemosdht11.png" size="145150" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosOled.png" attr="" comment="" date="1552557076" name="wemosOled.png" path="wemosOled.png" size="312701" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosSht30.png" attr="" comment="" date="1552557077" name="wemosSht30.png" path="wemosSht30.png" size="141358" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosBuzzer.png" attr="" comment="" date="1552557078" name="wemosBuzzer.png" path="wemosBuzzer.png" size="103518" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wemosBmp180.png" attr="" comment="" date="1552558152" name="wemosBmp180.png" path="wemosBmp180.png" size="139174" user="UliRaich" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback