Hardware for IoT - Microcontrollers and Microcomputers

Internet of Things (IoT) is a topic that involves automating or controlling (not only) households from intelligent devices. Under the term IoT, it is possible to imagine everything around us that communicates in some way, and it is possible to acquire information, manage and know about these devices, such as whether they are turned off or turned on. This is your television, your computer, washing machine, mp3 player, appliances, sockets, lights.

Their data must be sent to the network by hardware if they do not have a certain connectivity or if they do not support the IoT standard. As a hardware we can use a chip or a minicomputer that performs this function. Consequently, these devices can be managed with the hardware that they can communicate with the device and then send these device values / statuses to the IoT network gateway. In this article you can read about the most famous IoT hardware platforms, but most of the hardware is only used for local projects without having to connect them to the Internet. They have direct integration with IoT. Let's look at the list of the most used development platforms that allow communication in IoT networks. Let us therefore look at some of the most used ones, which we will also discuss in other articles.

Arduino

Arduino manufactures microcontrollers of various sizes with different functions and parameters, allowing some of them to benefit from IoTs also from superstructures, which makes them modular hardware components. The Uno and Mega (most commonly used) have only "bare" features without the ability to communicate over the network.

IoT networks use a star or tree connection. This means that all the elements are connected to the central node, which can further send the data to other subscribers in the network or the Internet. The most common role of the gate - the central point of the star is Raspberry Pi in the event that Arduino does not provide network connectivity (other hardware that is compatible).

The Raspberry Pi communication works based on the RX / TX pin that the devices communicate with. But there is also a USB connection through a serial line. For this connection, you need to set the same speed on both devices, for example: 9600kbps.

Arduino Uno and Mega are clocked at 16Mhz and are programmed in Wiring (Simplified C language). The program's editor is called Arduino IDE, and offers everything from editing programs to uploading to debugging.

However, if the possibility of connecting to the RX / TX gateway is not possible, there is a way to make communication with an additional shield. Shield is a hardware superstructure for Arduina that is mostly compatible with multiple board models. With an add-on library and attached module that mounts on the pins, the module can be connected to the Internet / local area network, setting up a unique MAC address. Shieldy exist in an Ethernet version on a classic RJ45 connector or Wifi. Wifi shield got multiple forms with different chips. The ESP8266 chip on the shielde has become very popular due to its "size" and has begun to revolutionize this industry.

NodeMCU

ESP8266 has become the heart of the NodeMCU development board, so we can integrate it into SoC (System on Chip). Espressif Systems develops these chips (nowadays the long-awaited ESP32). NodeMCU is a development board with this chip that performs two functions. It is both a 80 / 160Mhz processor and a wifi modem. In fact, 40% of its performance at 80Mhz goes on wifi, which could be felt in a very demanding computing program. It happened that the board "slept" because wifi was not even possible to disconnect ms and skipped the step or delays in the periodic program.

The board enjoyed great popularity thanks to the large community of Arduin. Yes, Arduino ... NodeMCU is originally programmable only in Lua language. Thanks to this community, it is possible to program it directly in the Arduino IDE. If you want to program this board in Lua, you need to flash the device firmware. The cost of this device is about $ 3.50 in a non-Chinese Chinese store where you can find it yourself. But beware of the version! There are NodeMCU V1, V2, V3.

In the picture: V3 (left LoLin) vs V2.

I did not meet the V1 version, but it contained errors. Version V2 used a CP2102 converter that is square. The board did not hurt the developers because it was not compatible with the Base Kit, for example. This version of the board is rough only as an inch. I own 3th version and I can not approve it. It uses the CH340, which works very well and reliably. Directly from Arduino IDE can be uploaded at 115200kbps. For Version 3, Base Kits are also developed.

These are NodeMCU pin extension boards, allowing you to work more comfortably with this device and also include wall / table holes.

In case you buy NodeMCU v2 / v1 and the baseboard, it will take you to it because these initial versions of NodeMCU boards are too narrow and you will not be able to access the female pins. Devices directly support the MQTT protocol for IoT. The boards are powered by MicroUSB, the same connector as the smartphone. ATTENTION: NodeMCU does not have a 5V output branch and has only one analog pin.

BigClown

BigClown is a Czech company that has developed a IoT board that includes a 32-bit ARM processor STM32L083CZ with a 32MHz clock and a RISC instruction set. The device supports I2C, MQTT, JSON, but also other standard protocols to transmit information and interpret it. For the module there is an additional breadboard module that also includes additional batteries for outdoor use.

The development board has an integrated thermometer, an accelerometer directly on the circuit board. The SPSGRF chip works as a communication module. This module can also work as an autonomous device connected to a gate, such as Raspberry Pi. I have no experience with this development board and therefore I can not evaluate its suitability for automation.

ESP32

This chip is the successor to ESP8266, also manufactured by Espressif Systems, it is also a development board. The initial version has encountered a number of issues. The hardware surprisingly came with a 32-bit dual-core processor with 240 MHz of 40 MHz technology, also pleased with the integration of the 2.4Ghz wifi with Bluetooth.

Unofficial sources say that one core is dedicated to wifi and the other to our computational operations. Thanks to this, the board enjoys stability and also sells in Chinese stores. At present it has few people and so it is difficult to talk to this chip somehow. The price of these chips is 7 €. The motherboards for this module are not yet.

Raspberry Pi v3

Raspberry Pi is a specific platform because it provides plenty of power for automation that is equipped with plenty of pins and has also built communication ports - the RJ45. This is a versatile computer that can handle HD video streaming as well.

Programming language for Rpi boards is Python. Thanks to its performance and protocols support, this mini-computer has become the most widely used platform for IoT. In particular, it fulfills the function of the gateway, but it can also obtain data directly with this function, which can then be sent to the Internet. Raspberry Pi in Version 3 offers a 1.2Ghz 64-bit ARM processor and has an integrated wifi 802.11n standard but also an Ethernet port, so you can comfortably separate services that will communicate over wifi and via an Ethernet cable.

I hope that you are interested in the article and you can enjoy the presentation of the various software technologies, which are also used by IoT with examples from practice. There are companies that use the protocols for MQTT in the Czech Republic (we did not encounter the company that would use MQTT) and the giant in using one of the IoT protocol is Facebook.

You use it everyday, although you do not know about it, the Messenger in the background communicates via MQTT, and in the case of a message / message post, it's just the MQTT protocol that this notification came to your phone. Through IoT, it is possible to control appliances, sockets, make commands for closing / opening doors, turning on lights or switching on individual appliances.

All you need is a control module that can send the signal, but it must be instructed first. IoT can be managed through a web / app / console / serial line, but there are also a number of non-traditional ways, such as SMS, or one TV control to control the whole household peacefully and offline in a closed (non) IoT network without Internet / Internet access. I believe you have learned something interesting and you can enjoy the new software article soon, where you will learn how the information is transferred to the Internet, where it is saved and how it is interpreted to the client. You will also refer to the most widely used IoT protocols in the next article.

Comments

Popular posts from this blog

Web scraper via Arduino & NodeMCU & ESP32

ESP32 control via UDP datagrams

Biking on Google Maps - Arduino Leonardo (32u4) - HID device