Because of number of low-cost, commercially availableoff-the-shelf hardware platforms, development board and prototype kit thedevelopment of IoT application is more accessible now.
It gives a great deal offlexibility as you can substitute different sensors according to yourrequirement or you can upgrade the component if you need some changes in thefuture. There are many System-on-chip (SoC) based microcontrollerand single board computers are available commercially. SoC bundles or bringtogether many capabilities storage, data processing and networking on a singlechip. This means that for the sake of convenience you sacrifice some of theflexibilities, but there are huge number of microcontrollers and single boardcomputers with different configurations are available to choose from.2.2.2.
1 MicrocontrollerA microcontroller is a compact IC (Integrated Circuit)design to execute specific operations in an embedded systems. A typicalmicrocontroller contains Processing unit, RAM, I/Os peripheral on a single chip13.GPIOs or hardware bus can be used to connect the sensors andactuators to the microcontroller. Standard communication protocols like Modbus,SPI, I2C, CAN etc. are used for the intra-device communication with the bus andthe component.Arduino is one of the most famous and cheap microcontrolleravailable commercially. It is an open source device platform whose devicecapabilities vary across the official model and between the third-partycompatible boards. There are also many Arduino compatible boards are availablewhich serves especially for the IoT purposes like STM Nucleo14, Adafruit Flora15 etc.
“Espressif Systems” ESP82661-01 is also a low cost,low-power microcontroller with integrated Wi-Fi. Like Arduino, Thismicrocontroller has also an big active community of adopters.ESP8266 basedmicrocontrollers includes NodeMCU16, WeMos D117 and AdaFruit’s Feather Huzzah18 etc.The Table 1shows the Arduino UNO19, Nucleo F103RB20 and ESP8266-0121 technical specifications. Characteristics Feature Arduino Uno Nucleo F103RB ESP8266-01 Data Acquisition & Control GPIO Pins 6 AI, 14 digital, 6 PWM 51 with external interrupt capability 2 Digital 1 Analog Logic Level Voltage 5V 5V 3.3V Data Processing & Storage Processor ATMega 328PU ARM Cortex-M3 32 bit Tensilica L106 Processor Speed 16 KHz 72 MHz 80 MHz Memory 32kb Flash, 1 kb EEPROM 128 KB flash 20 KB SRAM 1 MB Connectivity Network Interfaces Default None Default None Integrated Wi-FI Power Power Supply 9-12V DV 0.5-2A,or 5V 500mA USB or 9-12V on VIN Pin USB VBUS or external source(3.3V,5V,7-12V) Regulated 3.
3V 300mA supply on VCC Other Dimension 2.7 in x 2.1 in 3.2 in x 2.
7 in 1.4 in x 1 in Typical Cost $25 $11 $10 Table 1: Technical Specifications ofMicrocontrollersThe Arduino-compatible microcontrollers uses C, C++ andArduino IDE for developing the software. However Community-developed visual programmingtools and language bindings are also available. The third-party shields canalso be used with the Arduino compatible microcontrollers with same pinlayouts. For example if you want to have the extended Ethernet functionality orWi-Fi then you can used the Ethernet and Wi-Fi shields.Selecting an Arduino compatible microcontroller make it easyfor you to develop different programs with Arduino IDE because of largecommunity support as well as number of Arduino libraries are available. But youstill have difference to look around as e.
g. Arduino UNO uses 5V as logic levelvoltage but the ESP has 3.3V. That might affect your decision of choosing theright sensors or actuators, because every sensors and actuator have its ownvoltage specifications and swapping both the 5V to 3.
3V may affect the results orit can also damages the pins so in order to eliminate the damage you may haveto add the voltage converter within you design.18.104.22.168 Single Board ComputersA single board computer is a computer where all thecomponents are built on to a single circuit board.
In general computers orlaptops all the computer components are not built on to a single circuit boardbut it is also connected through cables to a circuit board. The SBC containsprocessor, memory, storage as well as other necessary components 22.The most common Single board computers that are availableare Raspberry Pi 323 and BeagleBone Black24.
The Table 2shows the technical specifications of these two single board computers. Characteristics Feature Raspberry Pi 3 Model B BeagleBone Black Data acquisition & Control GPIO pins 40 I/O pins,including 29 Digital 65 Digital – 8 PWM, / Analog Logic level voltage 3.3V 5V Data processing & Storage Processor ARM Cortex A53 ARM335X ARM Cortex A8 Processor Speed 1.2 GHz 1 GHz Memory 1 Gb 4 Gb Connectivity Network Interfaces Wifi,Ethernet,Bluetooth Ethernet, USB port allow external Wifi/Bluetooth adapter Power Power Supply 5V,2.5A micro USB port 5V 1.2-2A barrel Other Dimensions 3.4 in x 2.
2 in 3.4 in x 2.1 in Typical Cost $35 $55 Table 2: Technical Specifications of SBCLike microcontroller, the Single-board computer’sfunctionality can also be extended with the help of expansion boards which isknown as hats for the Raspberry PI and capes for the BeagleBone Black. So withthese external modules you can reduce the limitation of the default SBC likeyou can add motor controllers, AD converters etc.Many Single-board computers are more like a mini computersand run an embedded operating systems, mostly a Linux distribution. As a resultthere are more choices for the development tools and languages for developingapplications than that of the microcontrollers.
However SBCs are more complex,power hungry, larger and more prone to problems like corruption of SD cards orflash memory etc.22.214.171.124 Microcontroller Vs Single-board ComputerSo now the question is do we need a single-board computerfor our application or a microcontroller will work fine? There isn’t a generalanswer for this question, because it is always depend upon your applicationrequirements.
To get started you need to consider the IoT device specificationsin light of your application requirements, and then you have to work throughthe following design decisions12:· What and how many sensors and other componentsyou need, and if necessary, any design circuits for these sensors orcomponents?· Decide on the data communication protocols thatyou need to use for the communication between your MCU/SBC and components.· Select the networking protocols and if necessarythe hardware to communicate to a cloud service or a local service· Select a microcontroller or SBC according to allof your requirements above. For example, in ourOLI Solution we have selected a Raspberry-PI 3 which is a single-boardcomputer. As our application rely heavily on the blockchain applicationdevelopment, so we have to look around the blockchain specifications first.
Forthe blockchain application a blockchain node should have installed in your Mcuor SBC. In our case we have geth node which is quite heavy, so we have to lookfor a SBC with heavy processing power. The reason of choosing a Raspberry PIis the large number of support online,largenumber of hats, good processing power with storage in a cheap price. There is not a specific hardware that fits to all IoTapplications.
Adopting Standard-Based, commodity hardware can save time andcost in the stage of development, without sacrificing flexibility