The Smart Cyber Ecosystem for Sustainable Development. Группа авторов
Чтение книги онлайн.

Читать онлайн книгу The Smart Cyber Ecosystem for Sustainable Development - Группа авторов страница 15

СКАЧАТЬ uses ad-hoc technology known as Ad-hoc Piconets. Connection establishment in Bluetooth can be possible in sequence using three different phases such as Inquiry, Paging, and Connection. In the “Inquiry” phase, Bluetooth devices discover other Bluetooth devices near it. After finding a Bluetooth device nearer to the current device, in this second phase “paging”, connection can be established between these two devices. In the third phase of “connection”, either devices can actively participate in the network or enter into low-power sleep mode.After discussing IoT associative technology such Sensor and Actuators, IoT Networking, IoT connecting technology, and IoT communication protocol, the important characteristic of IoT devices and technologies that make all this possible is “Interoperability in IoT” as discussed in the next topic.

      In IoT, many heterogeneous devices, protocols, operating systems have to work together to fulfill objectives. This heterogeneity is one of the major concerns when we perform communication in the world of IoT as it requires not only anytime, anywhere but also anything enabled to communicate. “Interoperability” is a characteristic of a product or system whose interfaces are completely understood to work with other products or systems without any limitations. Interoperability is must when we would like to communicate in the era of IoT that contains heterogeneous devices [19]. So, by maintaining interoperability in the IoT network, we can have exchange of data and service in a seamless manner. In this seamless exchange of data and service, many elements are involved and perform the communication such as physical objects can communicate with other physical objects.

      As per the overall goal of IoT, anytime anywhere anything (device) can be communicated with other devices, i.e., can do Device-to-Device (D2D) communication. More than these types of communication, others such as Device-to-Machine (D2M) communication, M2M communication should also be performed seamlessly in the IoT network. Hence, in this situation, the IoT network has to deal with many types of heterogeneity such as heterogeneity of different wired and wireless communication protocols. Moreover, different programming languages are used for different platforms as well as different hardwares that also vary different standards and support different languages and communication protocols. So, if we would like to perform seamless communication between such corel, heterogeneous connected components, protocols, languages, operating systems, databases, and hardwares, then interoperability among them is a must.

      There are basically two types of Interoperability such as User Interoperability and Device Interoperability. User Interoperability is an interoperability problem between user and device(s) and Device Interoperability is an interoperability problem between two different devices. User interoperability problems occur when remotely located users would like to communicate with other device(s) whose product id may be written in different language, there may be differences in user syntaxes, differences in user semantics, as well as differences in user specification for those devices. So, all these types of complex veracity leads to create a simple IoT problem into a complex one that falls under the problem of interoperability.

      To resolve such user syntax interoperability problems worldwide, there are different solutions that provide unique device identification addresses to devices such as Electronic Product Codes (EPC), Universal Product Code (UPC), Uniform Resource Locator (URL), and IP addresses IPv6. For resolving syntactic interoperability problems there are different approaches such as Open standard protocol (IEEE 802.15.4, IEEE 802.15.1, and Wireless HART), Closed standard protocol (Z-Wave), Service Oriented Computing (SOC), and web services. But all these approaches have the problem of heterogeneity and, therefore, incompatible with each other to perform communication. So, we have certain middleware technologies such as Universal Middleware Bridge (UMB) that resolve such devices interoperability problems that have been generated due to heterogeneity amongst them. Thus, in this topic we have discussed IoT which is surrounded by heterogeneity problems, which can be resolved using interoperability features. The next topic explains about the programming technologies concerned with IoT.

      The programming technologies associated with IoT such as Arduino programming, Python programming, and Raspberry Pi are well known. Arduino programming can be done in consultation with the Arduino UNO board to accept analog and digital signals as input and generate desired output. Python is a lightweight programming language that is very much popular for IoT application development. Raspberry Pi is powerful compared to Arduino in terms of memory capacity and processing power. Raspberry Pi is a single-board, low-cost computer that provides easy access using GUI.

      1.5.1 Arduino

      Arduino is low resource consuming and cheaper in cost. Due to these two characteristics, it is popular worldwide for implementing the IoT. As shown in Figure 1.4, Arduino is an open source programmable board with a built-in microcontroller and the software (IDE). So, using this Arduino board, we can have input as analog or digital signals and produce digital signal as an output and there is no need to have a separate programmer to program it like traditional microprocessor 8051 and 8085. To program the Arduino microcontroller board, open source software of Arduino IDE is utilized using C or C++ programming language. IDE can be downloaded from Arduino’s official website [22].

Photo depicts Arduino UNO board.

      Figure 1.4 Arduino UNO board [21].

      Table 1.1 Arduino function and its description.

Function Function Description
pinMode(pin, Mode) Configure the input/output pin(s) with its pin number in the arduino board. pin = pin number on Arduino board, Mode = INPUT/ OUTPUT
digitalWriter() Write digital pin value (HIGH/LOW)
analogRead() Read from analog input pin
Delay() Provides a delay of specified time in milliseconds

      Using the above common function, we can write down a program in Arduino IDE that is used for “Blinking LED”. To perform this practical on an Arduino board, we require several objects/entities as hardware such as an Arduino micro-controller board, USB connector, LED, respective capacity of resistor, bread board, connecting wires, and as a software Arduino IDE as shown in Table 1.2.

      Table 1.2 Arduino programming requirement.

Activity Hardware Side Software Side СКАЧАТЬ