Versions Compared

Key

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

...

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 patterns used by sensors and actuators, such as _______________SPI, I2C, and UART.

A software program needs to be written to translate the signal or data from low level protocols interaction patterns 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). These MCUs run different operating systems from the ones on your computer.

The MCU then will be connecting to the sensors and actuators on one side (South"south-Boundbound") and communicating with your computer/server on the other side (North"north-Boundbound"). 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.

...

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

...

e. control frequency of these actions

In On Arduino these programs are called sketches.

...

However, as discussed in Thing Categories, many devices and machines have their own controllers controller 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.

...

In general, we call the general purpose computers that are deployed "locally" - (i.e. close to the sensors, devices and machines"gateways". Gateways are often used to take advantage of range-limited protocols such as ________ZigBee, Lora, WiFi, Bluetooth, and Serial

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

...

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 run only on the cloud without a gateway. Likewise, you may have an application that only runs run on a gateway, without cloud. The division between gateways and clouds is often by design, not rigid.

Gliffy
size6001200
nameThing To Cloud

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 to large clouds. For example, RaspberryPi, 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:

...