Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Using the Atmel AVR Arduino as IoT nodeIntroduction | ||||||||
Line: 16 to 16 | ||||||||
![]() | ||||||||
Changed: | ||||||||
< < | Problems when using the AVR Arduino is the missing network interface which must be added as a shield and, at least for the Nano and the Uno, its very limited resources in RAM space (2 kBytes only). | |||||||
> > | Problems when using the AVR Arduino are the missing network interface which must be added as a shield and, at least for the Nano and the Uno, its very limited resources in RAM space (2 kBytes only). | |||||||
The network interfaceWhen trying to use the Arduino as an IoT node on Cayenne for the first time, I used the Arduino Ethernet shield as network interface. This worked without problems and the code generated in Cayenne worked out of the box. However, when trying to use the board during a workshop in a hotel there is a fair chance that only WiFi will be available for network access. | ||||||||
Line: 48 to 48 | ||||||||
Another problem with the WiFi is the fact that the communication between the CPU card and the shield uses Tx0 and Rx0, which are also used upload and flashing and for the debug monitor. In order to upload code to the Arduino flash the connection to the WiFi shield must therefore be cut. This is done with the 2 left most switches on the 4 dip switch block (switch set to off position). Unfortunately you do not have access to these switches if the multi-function board is plugged on top of the WiFi shield. I therefore used the ESP01 with its level converter connected to Tx0 and Rx0 and powered with a separate 3.3V power supply. When flashing new code I have to switch this power supply off and therefore disable the ESP01. The power is switched back on once flashing has finished. | ||||||||
Added: | ||||||||
> > | The C++ code connecting the multi-function board to CayenneThe code controlling the devices on the multi-function board as well as the programs making the devices visible on Cayenne can be found on https://github.com/uraich/multifunctionCayenne![]() | |||||||
-- ![]() |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Using the Atmel AVR Arduino as IoT nodeIntroduction | ||||||||
Line: 10 to 10 | ||||||||
| ||||||||
Changed: | ||||||||
< < | The Arduino features an Software Development Kit, the Arduino SDK![]() | |||||||
> > | The Arduino features an Software Development Kit, the Arduino SDK![]() | |||||||
Another advantage is the built-in 10 bit ADC making it easy to read put analog signal levels. | ||||||||
Line: 41 to 41 | ||||||||
A warning: If you are not willing to put a major effort into getting the WiFi shield to work then do not buy it!
The WiFi interface | ||||||||
Changed: | ||||||||
< < | Both WiFi modules are based on the ESP8266 processor chip which has a WiFi interface integrated into its silicon and which communicates with its host processor through AT commands over a serial line. Many versions of the AT firmware is floating around on the net but you can probably do with the version pre-installed. A list of available AT commands can be found here![]() | |||||||
> > | Both WiFi modules are based on the ESP8266 processor chip which has a WiFi interface integrated into its silicon and which communicates with its host processor through AT commands over a serial line. Many versions of the AT firmware are floating around on the net but you can probably do with the version pre-installed. A list of available AT commands can be found here![]() | |||||||
The Arduino Uno or Mega are running on 5V while the WiFi module needs 3.3V, which means that we need a level converter. This is accomplished with the blue module seen on the left on the photo together with the ESP01. On the WiFi shield the level converter is implemented on the board. There are also several versions of the WiFi shield available on the market having different misspellings on them. On the one I bought the word "More" is misspelled to "Moer" and this series has wrong transistors installed on their level converters which must be replaced to make the converter work. Here is a detailed description![]() |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Using the Atmel AVR Arduino as IoT nodeIntroduction | ||||||||
Line: 45 to 45 | ||||||||
The Arduino Uno or Mega are running on 5V while the WiFi module needs 3.3V, which means that we need a level converter. This is accomplished with the blue module seen on the left on the photo together with the ESP01. On the WiFi shield the level converter is implemented on the board. There are also several versions of the WiFi shield available on the market having different misspellings on them. On the one I bought the word "More" is misspelled to "Moer" and this series has wrong transistors installed on their level converters which must be replaced to make the converter work. Here is a detailed description![]() | ||||||||
Added: | ||||||||
> > | Another problem with the WiFi is the fact that the communication between the CPU card and the shield uses Tx0 and Rx0, which are also used upload and flashing and for the debug monitor. In order to upload code to the Arduino flash the connection to the WiFi shield must therefore be cut. This is done with the 2 left most switches on the 4 dip switch block (switch set to off position). Unfortunately you do not have access to these switches if the multi-function board is plugged on top of the WiFi shield. I therefore used the ESP01 with its level converter connected to Tx0 and Rx0 and powered with a separate 3.3V power supply. When flashing new code I have to switch this power supply off and therefore disable the ESP01. The power is switched back on once flashing has finished. | |||||||
-- ![]() Comments |
Line: 1 to 1 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Added: | |||||||||||||||||||||||||||||
> > |
Using the Atmel AVR Arduino as IoT nodeIntroductionTogether with the Raspberry Pi the Arduino is one of the most popular platform in embedded systems. The family of Arduino boards is quite large with the Nano, Uno and Mega being the most used ones. The boards are very cheap (<2 US$ for a Nano, <3 US$ for the Uno and 7-8 US$ for a Mega. These were the cheapest prices I found in China) The Arduino Uno and the Arduino Mega come with a standardized pin-out for which several piggy back "shields" are available that can simply be stacked on the processor board.
![]() ![]() The network interfaceWhen trying to use the Arduino as an IoT node on Cayenne for the first time, I used the Arduino Ethernet shield as network interface. This worked without problems and the code generated in Cayenne worked out of the box. However, when trying to use the board during a workshop in a hotel there is a fair chance that only WiFi will be available for network access.![]()
![]() The WiFi interfaceBoth WiFi modules are based on the ESP8266 processor chip which has a WiFi interface integrated into its silicon and which communicates with its host processor through AT commands over a serial line. Many versions of the AT firmware is floating around on the net but you can probably do with the version pre-installed. A list of available AT commands can be found here![]() ![]() ![]() Comments
|