The Internet of Things: 843493

 Defination of IOT

In an extensive sense, Internet of Things is a term that constitutes of the entire connection of devices in the internet. However, then it has been vastly regarded to depict of any devices actions to communicate to one another. According to Matthew Evans, it is a network comprising of devices ranging from mere sensors to smartphones as well as other wearables. The United Kingdom-based head of IoT curriculum at techUK suggests that integrating electrical devices into automated frameworks will enable information collection, analysis and creation of handy actions[1]. The latter would be aimed to aid in people’s daily tasks if not enhance a learning curve.

As stated by Caroline Gorski, the fundamental paradigms envisioned for IoT revolve around the network, related devices and the data[2]. Leading IoT at Digital Catapult, she acclaims how IoT enhances devices connections despite being within enclosed private connections. Through the internet, the devices are brought closer to each other despite their data emanating from various types of networks. The intent behind connecting devices to the internet has been disputed as unnecessary for some. However, the fact that they can be used to purposefully collect data proves utilitarian to not only buyers but also bears on the economy.  

Despite the continuous guide offered with IoT, the various operations pose a number of hindrances as this section draws. Firstly, stakeholders seeking to plunge into the industry’s benefits are faced with a drawback in meeting their clients’ expectations. The latter is based on the rapid growth of internet availability since the 20th Century heading to the foreseeable year 2020[3]. Secondly, finding a remedy for security options on IoT is facing daunting motives regardless of being considered safer than LAN connections. Verily, the responsibility that emerges in securing appliances must be put into hyper-security. Thirdly, updating IoT hardware through the cloud while ensuring integrity on data is a great challenge. Lastly, IoT is posed with issues of connectivity since they use a centralized server-client framework.

Figure 1 IoT Technological Challenges

Retrieved from: https://iot.ieee.org/newsletter/march-2017/three-major-challenges-facing-iot.html

SECTION 2 – ARCHITECTURE OF IOT

Internet of Things is enabled via four profound technologies namely mobile devices, embedded devices, networking and a connected community. As to be explained shortly, the facets are attributed to physical devices integration through a gateway and presented in applications respectively. The latter is considered handy for a better understanding of the IoT architecture.

Figure 2 IoT technology tier

Figure 2 IoT technology tier

Mobile Devices

IoT mobile devices are fitted with physical sensors as well as actuators, with the device being an intelligent agent. The two enhancements are used to gauge the arguments and interpret them into electric signals. Some of the fresh mobile technologies would include automobile which sees driverless vehicles, the expectation of fortuity and mitigation as well as automated in-line parking. The latter functionalities are made on behalf of the user, unlike the response.

Embedded Devices

They include most implementation of the integration tier, thence, typical host of streamed data in the cloud. Since they are layered to accumulate data from the interconnected devices as well as laying in memory and databases. Richer analysis of streamed data is effectively rendered via the event-based currents into data globs which enable processing of queries in consequent procedures. A sample device would include Apache Kafka as an open source execution. The chuck processor is based on structuring data pipelines and application streaming in real-time.

Networking

The term relates to the gateway tier as a component responsible for the provision of essential technologies. It operates by translating protocols from the interconnected devices and directs them to leverage data in IP channels. Networking in IoT is mandated to ensure transport as well as a selective provision of data filtration, cleanup, moderation and inspection of packets’ content. A critical role posted on the gateways involve managing device lifecycles including unique ID allocation, onboarding, registration of identity as well as updating the firmware. The latter will be indicated further through the application layer of the IoT tier[4].

Connected Community

Actuated in the application tier of IoT, communities are able to access, process and convey information. Through the application, incoming data is presented almost in a real-time hence provides ample time to observe anomalies. Filtering events and enrichment of data can also enable machine learning as well as forecasting. As demonstrated by Watson IoT program, an identical measure of language devices is utilized for communicating across the platform through the internet. Reception of data is potential for its analysis whose results can be availed amongst applications meeting industry’s particular needs. Nathan Marz referred the IoT lambda architecture for generic, as ascendable and error limiting framework for data processing.

It is fascinating how IoT has brought significant changes to the Automotive sector. Various automobile constructing organizations, providers of telecommunications services and software organizations collectively establish connections among vehicles. Referred to as Computer Aided Automobile (Cavs), they are fitted with onboard sensors as well as an internet connection to heighten the interior feel for its users[5]. As such, the connected car not only means the capability to browse while driving but also vehicle-to-vehicle communication as well as with other devices. Lately, a very few numbers of vehicles are internet enabled, however, expectations have raised concern to increase the number within the coming decade. Due to the changing lifestyle among the contemporary generations led by the exposure to smartphones, the mission is anticipated to be plausible in the bid to connect cars and ensure an exponential growth in the market. Therefore, connected cars as implemented by IoT incorporate numerous other technologies in the automotive sector as depicted in figure 3 below.

Figure 3 IoT role in the automotive sector

Retrieved from: http://www.iosrjournals.org/iosr-jce/papers/Conf.CRTCE%20-2018)/Volume%201/7.%2036-44.pdf?id=7557

DEVELOPMENTS ON CONNECTED AUTOMATED VEHICLE (CAV)

Infotainment

Infotainment alludes to a framework in vehicles that conveys a mix of data and stimulation administrations. Normal highlights of an In-Vehicle-Infotainment (IVI) framework are – giving route highlights while driving, overseeing sound/visual stimulation content, conveying back seat excitement, availability with PDAs for hands free involvement with the assistance of voice directions[6]. Infotainment Options ought to make a Safer In-Car Experience helping drivers keep their eyes out and about and their hands on the wheel. Infotainment choices like applications and menus should be efficient and getting to highlights ought to be extremely natural to maintain a strategic distance from drivers’ diversion. Likewise, voice and sound directions needs to grapple the in-auto application stage and drivers ought to have the capacity to explore menus or make messages utilizing voice directions. Sound ought to be the essential method to acknowledge directions from the clients. With fast development in advanced mobile phone and Cloud advances, customers are requesting for live gushing of music and Internet radio. Thoughts for cutting edge infotainment highlights coordinate both client conduct and the following level of cloud based infotainment frameworks.

Integration of Vehicles with Smartphones

In the contemporary quick-paced world, individuals should be both versatile and online for more often than not with no special case with regards to being locally available of an auto or notwithstanding while being the driver. Utilizing the On-Board Diagnostics OBD/OBD-II port, or screens outflows, mileage, speed, and other valuable information; data with respect to a motor and other critical vehicle parameters can be shown on the driver’s cell phones and same can be sent to a specialist co-op for investigation. Cautions identified with the auto like opening doors, Lights ON and Handbrake ON and performing activities on certain vehicle parts, for example, locking and Un-bolting vehicle entryways, move windows up/down and AC temperature +/ – are getting to be consistent. Cell phones sensors, for example, GPS, preference sensors and accelerometers are utilized to display the driving conduct. Plating the cell phone in the vehicle, information from the sensors are utilized to distinguish driving mannerisms, for example, abrupt turns, emergent speeding up, arduous braking, and skidding. The aforesaid can amply be utilized in profiling the driver if secured or insecure, to rank and analyze diverse drivers hence, offering such information with insurance agencies for modified premiums.

Vehicle Predictive Maintenance using On-board Diagnostics

An On-Board Diagnostics (OBD/OBD-II) port is usually utilized in vehicle benefit, what’s more, upkeep for self-analysis and detailing of any issues that may happen, or have happened inside the framework. Utilizing the data including outflows, mileage, deficiencies, vehicle and motor speed, motor temperature, liquid levels, adapt shifts, battery status, and so forth can be checked II is associated to the Check Engine light or MIL-Malfunction Indicator Light, which enlightens when the framework recognizes an issue[7]. Till now it was to a great extent utilized for post-facto examination; i.e. just when some issue emerges. In any case, by blending cell phones with vehicles, this data can be promptly made accessible to the vehicle proprietors and benefit stations, giving them a superior image of the auto-execution. Observing these parameters effectively what’s more, with some level of on-gadget examination, drivers can get proactive administration cautions on their cell phones and potential issues can be recognized for early finding and care.

SECTION 3 – Nucleo Board F401RE – LED control

Figure 4  Selecting the platform

Source: Mbed

Figure 5 Creating the New Program

Source: Mbed

Figure 5 Importing the Embed Library

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 6 Creating a New File

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 7 Updated embed Library Files

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 8 Added main.cpp on project folder

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 9 Adding the code to the main.cpp file

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 10 Continuing Code

Source: https://os.mbed.com/compiler/#nav:/Nucleo_LEDnBUTTON/main.cpp;

Figure 11 Continuing Code

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 12 Continuing Code

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 13 Compiling Code

Figure 14 Downloaded binary file

Source: https://os.mbed.com/compiler/#nav:/Nucleo_test_DigitalIn/main.cpp;

Figure 15 Downloaded program in .bin file

IMPROVING THE PROJECT

The proposed software project can be enhanced into a SmartLamp project. The latter is backed by the already created prototype of the LED lamp that is controllable through signals or using a smart phone. Basing the project on STM32 microcontroller, a proximity sensor can be utilized to manipulate LED using the signals of either switching on or off[8]. Similarly, modulating the saturation of light produced can be managed by simply encroaching the device using one’s palms. An enhancement on the board would include incorporation of Bluetooth connection providing chance for setting up the LED color to either White, Green, Red or Blue through a smartphone.

IDENTIFICATION AND EVALUATION OF ALL COMPONENTS AND LIBRARIES USED TO BUILD THE PROJECT

Features of the NUCLEO-F401RE board

As depicted below the implemented NUCLEO-F401RE board avails a cheap and transparent manner for all clients seeking to attempt and structure prototypes together with a wide array of STM2 lines of the microcontroller. The availed functions would thus include integrations of execution, energy use and characteristics. The Arduino and ST Morpho both provide handy properties in form of headers that alleviate functionality based constraints posed by STM32 Nucleo. The latter is a multi-sided platform used in developing as well as providing a wide array of alternatives of differentiated shields. Verily, a differentiated investigation approach by STM32 Nucleo board incorporates the ST-LINK/V2-1 debugger.

Figure 16 Features provided by the microcontroller:

Figure 17 Features provided on the board

DETERMINING ON HOW TO IMPROVE AND THE Nucleo_test_DigitalIn SOFTWARE

Figure 18 Understanding the board pinout

The following are all pin captions as implemented on the code.

SOURCE CODE

#include “mbed.h”

#include “ultrasonic.h”

DigitalOut myled(LED1);

#include “debug.h”

#include “btle.h”

//#include “BlueNRGDevice.h”//User does not use any platform specific header file

#include “BLEDevice.h”

#include “UUID.h”

#include “Utils.h”

BLEDevice dev;

const static char  DEVICE_NAME[] = “FearInProgress”;

const uint8_t device_address[6] = { 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 }; //Peripheral address

//InterruptIn event_button(USER_BUTTON);

volatile bool go_to_sleep = true;

#define MAX_SERVICES_NOS 1                                                                                                                                  

static uint8_t mm[2] = {0x00, 0x00};

static uint8_t upd[2] = {0x00, 0x00};

GattCharacteristic proxLevel(GattCharacteristic::UUID_ALERT_LEVEL_CHAR, mm, sizeof(mm), sizeof(mm),

                            GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY|GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ

                            /*GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_INDICATE*/);

GattCharacteristic updateRate(GattCharacteristic::UUID_MEASUREMENT_INTERVAL_CHAR , upd, sizeof(upd), sizeof(upd),

                            GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE_WITHOUT_RESPONSE|

                            GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE|GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ);                           

GattCharacteristic *proxChars[] = {&proxLevel, &updateRate };

//UUID PROXSERVICE(GattService::UUID_IMMEDIATE_ALERT_SERVICE);

GattService proxService(GattService::UUID_IMMEDIATE_ALERT_SERVICE, proxChars, sizeof(proxChars) / sizeof(GattCharacteristic *));

static const uint16_t uuid16_list[] = {GattService::UUID_IMMEDIATE_ALERT_SERVICE};

void dist(int distance)

{

    //if (dev.getGapState().connected) {

    mm[0] = distance & 0xff;

    mm[1] = (distance >> 8);

    dev.updateCharacteristicValue(proxLevel.getHandle(), mm, sizeof(mm));

    //}

    DEBUG(“%d%d Distance changed to %dmm\r\n”, mm[1], mm[0], distance);

}

void ISR_pressed()                      // ISR for the button press

{

    DEBUG(“Button pressed\n”);         // Show that the button has pressed

    go_to_sleep = !go_to_sleep;         // Toogle the sleep state

    //mu.checkDistance();

    //event_button.disable_irq();         // Disable the interrupt request

}

void disconnectionCallback(uint16_t Handle_t)

{

    DEBUG(“Disconnected!\n\r”);

    DEBUG(“Restarting the advertising process\n\r”);

    dev.startAdvertising();

}

void onWriteCallback(uint16_t attributeHandle) {

    DEBUG(“Write Callback!!\n\r”);

    }

void onConnectionCallback(uint16_t Handle_t) {

    //myled = 1; // LED is ON

    DEBUG(“Connected BlueNRG!!\n\r”);

    }

void onNotifyEnabled(uint16_t charHandle) {

    //myled = 1; // LED is ON

    DEBUG(“onNotifyEnabled!!\n\r”);

    }

void onNotifyDisabled(uint16_t charHandle) {

    //myled = 1; // LED is ON

    DEBUG(“onNotifyDisabled!!\n\r”);

    }

void onDataSentNotify() {

    //myled = 1; // LED is ON

    DEBUG(“on Data Sent Notify!!\n\r”);

    }

/**

 * Triggered periodically by the ‘ticker’ interrupt; updates hrmCounter.

 */

void periodicCallback()

{

}

int main() {  

    //Ticker ticker; //For Tick interrupt if used later on (periodic data updates?)

    //event_button.mode(PullUp);          // Setup the internall pull-up resistor

    //event_button.fall(&ISR_pressed);    // Set the ISR associated to event fall (push the button)

    //ticker.attach(periodicCallback, 1);

    myled = 0;//Switch OFF LED1

    DEBUG(“Initializing BlueNRG…\n\r”);

    dev.init();

    dev.onConnection(onConnectionCallback);

    dev.onDisconnection(disconnectionCallback);

    dev.onDataWritten(onWriteCallback);

    dev.onUpdatesEnabled(onNotifyEnabled);

    dev.onDataSent(onDataSentNotify);

    dev.onUpdatesDisabled(onNotifyDisabled);

    dev.setAddress(Gap::ADDR_TYPE_PUBLIC, device_address);//Will reset the device and re-init()

    /* setup advertising */

    dev.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE);

    dev.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t*)uuid16_list, sizeof(uuid16_list));

    dev.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME));

    dev.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);

    dev.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */

    DEBUG(“Starting Advertising…\n\r”);

    dev.startAdvertising();

    dev.addService(proxService);

    ultrasonic mu(D8, D9, .1, 1, &dist);   

    mu.startUpdates();

    while(1) {

        /*

        if(go_to_sleep)

        {

            myled = 0;

            event_button.enable_irq();  // Enable the interrupt request

            //sleep();                  // Enter Low Power Mode

            deepsleep();                // Enter Low Power Mode (deep)

            wait_ms(200);               // Wait 200ms for debounce

            event_button.enable_irq();  // Enable the interrupt request

        }*/

        //else

        mu.checkDistance(); 

        myled = 1;

        wait(1);

        periodicCallback();//Works from here!!

        dev.waitForEvent();

    }

}

Reference

Anderson, M, “Understanding the IoT and Mobile Devices.”. in Target Marketing, 2018, <https://www.targetmarketingmag.com/article/understanding-the-internet-of-things-and-mobile-devices/all/>

[accessed 31 October 2018]

.

Banafa, A, “Three Major Challenges Facing IoT – IEEE Internet of Things.”. in Iot.ieee.org, 2018, <https://iot.ieee.org/newsletter/march-2017/three-major-challenges-facing-iot.html>

[accessed 31 October 2018]

.

Burgess, M, “What is the Internet of Things? WIRED explains.”. in Wired.co.uk, 2018, <https://www.wired.co.uk/article/internet-of-things-what-is-explained-iot>

[accessed 31 October 2018]

.

Jenny, W. (2018). The essential building blocks of an IoT architecture. [online] Mobile Business Insights. Available at: https://mobilebusinessinsights.com/2017/09/the-essential-building-blocks-of-an-iot-architecture/ [Accessed 31 Oct. 2018].

Kiran, R., Rao, M. and Agrawal, H. (2018). Internet Of Things (IoT) In The Smart Automotive Sector: A Review. [online] Iosrjournals.org. Available at: http://www.iosrjournals.org/iosr-jce/papers/Conf.CRTCE%20-2018)/Volume%201/7.%2036-44.pdf?id=7557 [Accessed 31 Oct. 2018].

Matthews, K, “5 challenges still facing the Internet of Things (IoT).”. in Big Data Made Simple, 2018, <https://bigdata-madesimple.com/5-challenges-still-facing-the-internet-of-things-iot/>

[accessed 31 October 2018]

.

Raquo, M, “SmartLamp Project.”. in Instructables.com,  2018, <https://www.instructables.com/id/SmartLamp-Project/> [accessed 31 October 2018].


[1] M Anderson, “Understanding the IoT and Mobile Devices”, in Target Marketing, , 2018, <https://www.targetmarketingmag.com/article/understanding-the-internet-of-things-and-mobile-devices/all/>

[accessed 31 October 2018]

.

[2] A Banafa, “Three Major Challenges Facing IoT – IEEE Internet of Things”, in Iot.ieee.org, , 2018, <https://iot.ieee.org/newsletter/march-2017/three-major-challenges-facing-iot.html>

[accessed 31 October 2018]

.

[3] M Anderson, “Understanding the IoT and Mobile Devices”, in Target Marketing, , 2018, <https://www.targetmarketingmag.com/article/understanding-the-internet-of-things-and-mobile-devices/all/>

[accessed 31 October 2018]

.

[4] M Burgess, “What is the Internet of Things? WIRED explains”, in Wired.co.uk, , 2018, <https://www.wired.co.uk/article/internet-of-things-what-is-explained-iot>

[accessed 31 October 2018]

.

[5] W Jenny, “The essential building blocks of an IoT architecture”, in Mobile Business Insights, , 2018, <https://mobilebusinessinsights.com/2017/09/the-essential-building-blocks-of-an-iot-architecture/>

[accessed 31 October 2018]

.

[6] R Kiran, M Rao & H Agrawal, “Internet Of Things (IoT) In The Smart Automotive Sector: A Review”, in Iosrjournals.org, , 2018, <http://www.iosrjournals.org/iosr-jce/papers/Conf.CRTCE%20-2018)/Volume%201/7.%2036-44.pdf?id=7557>

[accessed 31 October 2018]

.

[7] K Matthews, “5 challenges still facing the Internet of Things (IoT)”, in Big Data Made Simple, , 2018, <https://bigdata-madesimple.com/5-challenges-still-facing-the-internet-of-things-iot/>

[accessed 31 October 2018]

.

[8] M &raquo;, “SmartLamp Project”, in Instructables.com, , 2018, <https://www.instructables.com/id/SmartLamp-Project/> [accessed 31 October 2018].