Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
iconfalse

In general, an IoT application (solution) can be divided into three segments:

  1. The sensors and actuators
  2. The micro-controllers (MCUs)
  3. The application

 

1. Sensors or Actuators

    Sensors and actuators are the physical touch points to the physical world.  They come in two categories - Analog and Digital. Analog sensors need electronics to convert analog signals to digital output. Digital Sensors have this electronics as part of the sensor.

https://learn.sparkfun.com/tutorials/analog-vs-digital

2. MCUs

     Data coming directly from sensors and actuators

Signal or data coming from sensors and actuators often cannot be interpreted and utilized directly by the operating systems (Windows, Mac, Linux) running on modern general purpose computers. Most modern computers's operating systems support serial interfaces such as Bluetooth, USB, DB9, but not low level protocols used by sensors and actuators, such as _______________.

A software program needs to be written to translate the signal or data from low level protocols to the serial or other high level protocols accepted by our computers before they can be utilized by your application. These programs are frequently written in C/C++.

With the current technology capabilities, it often makes sense to run such programs on a very small processor called a micro-controller (MCU).

The MCU then will be connecting to the sensors and actuators on one side (South-Bound) and communicating with your computer/server on the other side (North-Bound). Analog Sensors can connect to analog pins and digital sensors are connected to digital pins on the MCU. The north bound communication often takes a serial protocol. It can be wired serial or wireless serial. Newer generation of MCU's may directly support IP protocols.

You can find out more about the general information on MCUs here ____________.

When we write C/C++ code on MCUs for IoT solutions, the usually perform the following functions:

a. assignment of MCU pins to the sensor

b. send/receive voltage signals from the pins

c. convert voltage signals to digital values, with calibration formula

d. send the digital value through the (serial) port

e. control frequency of these actions

In Arduino these programs are called sketches.

 

Devices and Machines

However, as discussed in Thing Categories, many devices and machines have their own controllers built inside. These controllers perform similar functions to the MCUs. Therefore, devices and machines are often able to communicate at a higher level protocol accepted by your operating system. When you have an IoT solution with such devices and machines, you may not need separate MCUs. 

Sensors and Actuators can't be connected as it is to high end computers, who only provide serial interfaces like Bluetooth, USB, DB9, etc. There is intermediary electronics required to take analog or digital signals, compute the information and forward it upstream or vice-versa. Computed information from sensor is passed on a communication channel or forward the message from communication channel to actuator by using embedded software on the MCU.

https://www.sparkfun.com/tutorials/93

Analog Sensors can connect to analog pins and digital sensors are connected to digital pins. Northbound of MCU depends on the comm support from the MCU. It can be wired serial or wireless serial. Newer generation of MCU's may directly support IP protocols. 

Gateway

     Most of the MCU's support local protocols and hence any connected solution needs a gateway to take local protocols and expose the interfaces on IP based protocols. Here TQL Engine plays the role and abstracts all sensors and actuators connected through MCU's and/or devices connected on wireless or wired protocols and maps into local domain - like agriculture, parking, traffic, etc.

...