Both sides previous revisionPrevious revisionNext revision | Previous revision |
en:iot-open:hardware2 [2023/08/21 06:07] – [Actuators and output devices] ktokarz | en:iot-open:hardware2 [2024/06/11 17:36] (current) – agrisnik |
---|
====== IoT Hardware Overview ====== | ====== IoT Hardware Overview ====== |
| {{:en:iot-open:czapka_b.png?50| General audience classification icon }}{{:en:iot-open:czapka_e.png?50| General audience classification icon }}\\ |
| IoT hardware infrastructure is mainly inherited from the embedded systems of the SoC type for Edge class IoT devices and from PCs for Fog class. As IoT devices are by their nature network-enabled, many of the existing embedded platforms evolved towards network-enabled solutions, sometimes indirectly through delivering network communication module (wired or wireless) as an external device yet integrated on the development board (e.g. Arduino Uno with Ethernet Networking shield, GSM shield, etc.), sometimes a new system, integrating networking capabilities in one SoC (e.g. Espressif SoCs). More advanced devices that require OS to operate preliminarily benefited from externally connected peripheral network interfaces via standard wired ports like USB (e.g. early versions of the Raspberry Pi, where WiFi card was delivered as USB stick), currently, usually integrate most of the network interfaces in a single board (e.g. RPi 4, including Ethernet, WiFi and Bluetooth). Still, in the case of the Fog class devices, those are separate chips from the CPU, and they communicate over, e.g., PCI or USB protocol. |
| |
IoT hardware infrastructure is mostly inherited from the embedded systems of the SoC type. As IoT devices are by their nature network-enabled, many of the existing embedded platforms evolved towards network-enabled solutions, sometimes indirectly through delivering network communication module (wired or wireless) as an external device yet integrated on the development board (e.g. Arduino Uno with Ethernet Networking shield, GSM shield, etc.), sometimes a new system, integrating networking capabilities in one SoC (e.g. Espressif SoCs). More advanced devices that require OS to operate preliminarily benefited from externally connected peripheral network interfaces via common wired ports like USB (i.e. early versions of the Raspberry Pi, where WiFi card was delivered as USB stick), currently, usually integrate most of the network interfaces in a single board (e.g. RPi 3B, including Ethernet, WiFi and Bluetooth). | A microcontroller with network capabilities is the key, but it is not the only element forming an IoT node device. Additional elements, including sensors and actuators, are needed to stay in touch with the environment. |
| It is important to emphasise that only hardware components carrying CE marking are appropriate in Europe. This is important in providing human safety for HVAC, DC modules and other electrical devices, while EMC/ETSI regulatory compliance applies to radio devices. |
| <WRAP excludefrompdf> |
| In the following chapters, there is a description of the families of popular microcontrollers, sensors and actuators: |
| * [[en:iot-open:hardware2:microcontrollers]], |
| * [[en:iot-open:hardware2:sensors]], |
| * [[en:iot-open:hardware2:actuators]]. |
| |
===== Most Noticeable Platforms ===== | Finally, in the last sub-chapter, there is an introduction to the powering of IoT devices: |
The IoT market is an emerging one. New hardware solutions appear almost daily, while others disappear quickly. At the moment of writing the first version of this book (2016-2019), some hardware solutions existed which seemed to be prominent for at least a couple of years. After a few years, while the current version of the publication is prepared (2023–2025), most of the hardware solutions described previously are still present on the market, even strengthening their position and having modernized and improved versions (e.g. ESP32 as the successor of ESP8266). However, some other platforms increased their popularity, mainly because of their appearance in the VSCode programming environment with PlatformiO, and what is even more important, the possibility to write programs in the Arduino model. In the following sections, a short review of these platforms is provided. | * [[en:iot-open:hardware2:powering]]. |
* AVR: Arduino – a development board that uses the Atmel microcontroller, which is no doubt the most popular development platform for enthusiasts and professionals. Arduino itself barely offers networking capabilities yet; there is a vast number of extension boards including network interfaces (both wired and wireless); | </WRAP> |
* ESP: Espressif (Espressif Systems) – the great SoC solutions with wireless network interfaces built-in; the family of Espressif chips includes ESP8266 (WiFI) and ESP32 (WiFi, Bluetooth) | |
* nRF52: Nordic Semiconductor SoC that is based on ARM architecture and offers NFC, Bluetooth and ZigBee capabilities | |
* STM32: Another ARM-based family of SoCs; some of them have Bluetooth wireless module built-in | |
* ARM: Raspberry Pi (and its clones) – advanced boards, including Linux operating system with GUI interface, even able to replace desktop computers. | |
| |
To access description of specific platform, please choose from the following list: | |
| |
* [[en:iot-open:hardware2:arduino|Arduino]]; | |
| |
* [[en:iot-open:hardware2:esp8266|ESP8266]]; | |
| |
* [[en:iot-open:hardware2:esp32|ESP32]]; | |
| |
* [[en:iot-open:hardware2:nrf52|nRF52]]; | |
| |
* [[en:iot-open:hardware2:stm32|STM32]]; | |
| |
* [[en:iot-open:hardware2:RaspberryPI|Raspberry PI]]. | |
| |
A microcontroller with network capabilities is the key, but not the only element forming an IoT node device. To keep in touch with the environment additional elements are needed including sensors and actuators. | |
| |
===== Sensors and Sensing ===== | |
| |
A sensor is an element which can turn a physical outer stimulus into an output signal which then can be used for further analysis, management, or making decisions. People also use sensors like eyes, ears and skin for gaining information about the outer world and act accordingly to their aims and needs. Sensors can be divided into many categories according to the measured parameter of the environment. | |
| |
<figure label> | |
{{ :en:iot-open:getting_familiar_with_your_hardware_rtu_itmo_sut:arduino_and_arduino_101_intel_curie:sensor2.png?400 | title}} | |
<caption>Environment sensing data flow.</caption> | |
</figure> | |
| |
Usually, every natural phenomenon – temperature, weight, speed, etc. – needs specially customised sensors which can change phenomena into electric signals, usually the voltage, that could be used by microprocessors or other devices. Sensors can be divided into many groups according to the physical nature of their operations – **touch**, **light**, an **electrical characteristic**, **proximity** and **distance**, **angle**, **environment** and other sensors. | |
| |
* [[en:iot-open:hardware2:sensors_touch]]; | |
| |
* [[en:iot-open:hardware2:sensors_light]]; | |
| |
* [[en:iot-open:hardware2:sensors_optical]]; | |
| |
* [[en:iot-open:hardware2:sensors_electric]]; | |
| |
* [[en:iot-open:hardware2:sensors_distance]]; | |
| |
* [[en:iot-open:hardware2:sensors_angle]]; | |
| |
* [[en:iot-open:hardware2:sensors_environment]]; | |
| |
* [[en:iot-open:hardware2:other_sensors]]; | |
| |
===== Actuators and output devices ===== | |
| |
An output device is a unit that changes an electrical signal coming from the microcontroller into the physical parameter. It can generate or modify light, generate sound, force, pressure and other physical values that influence other devices nearby or the surrounding environment. Some output elements can be connected directly to the microcontroller's pins, and some require higher voltage or current and so they need an additional electronic circuit called the driver. Output devices can be divided into groups based on the physical phenomenon they control. Popular output devices include LEDs, displays, motors (actuators), speakers, buzzers and others. | |
| |
* [[en:iot-open:hardware2:actuators_light]]; | |
| |
* [[en:iot-open:hardware2:actuators_mechanical]]; | |
| |
* [[en:iot-open:hardware2:actuators_sound]]; | |
| |
* [[en:iot-open:hardware2:actuators_motors]]; | |