Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

In IoT World, we are starting from analog world and connecting to digital cloud and hence multiple layers play the role in the middle.

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

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.

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

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.

 

3. Applications

The applications starts from programs that run on general purpose computing devices. They don't have to be your computer. They can be a gateway, a laptop, or a server. For that matter, the Raspberry Pi is also a general purpose computer and is where the IoT application can start.

Gateways

In general, we call the general purpose computers that are deployed "locally" - close to the sensors, devices and machines "gateways". Gateways are often used to take advantage of range-limited protocols such as ________. 

Usually, gateways are more lightweight, small foot-print, and small-sized computers. For example, the Raspberry Pi, the Intel Stick and ______.  Some "gateways" get bigger and more powerful, and we call them "appliances"

Clouds

We call the computers that gets the IoT data only from IP protocols (and hence whose physical location does not matter) the "clouds". Cloud can be private (in enterprise datacenter) or public (AWS).

Your IoT application may runs only on the cloud without a gateway. Likewise, you may have an application that only runs on a gateway, without cloud. The division between gateways and clouds is often by design, not rigid.

How TQL runs in IoT Solutions

The TQLEngine is a peer-to-peer enabled middleware and application container. Because of its small footprint, it can run on any range of computers starting from most gateway type of devices such as RaspberryPis your laptop, servers, and on public/private clouds. IoT applications written in TQL can often be distributed across gateways and clouds. However, because TQLEngine requires JVM to run, it does not run on MCUs.

Here are a few options:

  1. 1 instance of TQLEngine running on a laptop, communicating with MCUs, or devices/machines
  2. Multiple instances of TQLEngine running on multiple gateways (each gateway has 1). Another instance of TQLEngine running in the cloud. They communicate with each other.
  3. All instances of TQLEngines are running on local gateways, without a cloud instance. 

The flexibility of the TQLEngine requires many variations of the application topology. So you can choose per your design and project requirement.

Diagrams here

 

 

  • No labels