Commonly, we send data from the devices like ESP32 Arduino, Smartphone, Raspberry Pi, Smart Watch to the IoT platform. IoT platform can be self hosted or on the cloud. Example of actual such one way communication can be our example simple project, such as ESP32 Arduino sending temperature, humidity data to IBM Watson IoT platform. We already know the theory around machine to machine communication, and some protocols like LoRa, ZigBee.
In our one example project, we have shown example of sending commands to IBM Watson IoT to trigger event on ESP32 device.
There are a number of devices with different kind of interaction. Smartphones and wearable devices more tend towards two way interaction. The methodologies theoretically depends on the old concept of broadcast, unicast, multicast, anycast.
Two way communication not simply from the main platform a device it attached, but also includes the software methods to fetch data designed for the devices, using NTP server to get the current time (separately we discussed about NTP) is one such example. The concept of multi-cloud actually getting in to the devices. When we add a home automation system then we establish a basic a two way connection. Two way connection and communication has a part of security issues, because simply the microcontroller based devices become like a miniature server holding data and possibility to get control to access. Medical devices as IoT devices has promising features and it is a segment where engineers, doctors has both hope of extreme mesh networking and fear of disaster.
Present consumer grade devices, prototyping boards do implement some basic two way communication like Alexa does, IBM Watson Conversion chat bot with Raspberry Pi. As IoT will expand more and more, the devices will add more two way connections.
An useful middleware to deploy two way communication model is Node-RED. As Node-RED is a F/OSS software, we can easily fit it in to different environments including self-hosted platform.
Unlike traditional one-way communication, in two-way communication we need minimally need to pre-plan the routes. Two way communication is complex when there is chance of physical theft, unauthorized access of the remote device. Before actual deployment of two way communication in IoT with prototyping boards, we need to learn adding extra layer of security at software level to the devices. An example of security can be triggering password, OTP upon certain actions, such as movement of the device.