Versions Compared

Key

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

...

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.

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

 

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.

     In some situations, instead of gateway, there may be only appliance where TQLEngine runs and integrates with all connected (wired or unwired) devices.

Cloud

     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). TQLEngine runs in the cloud to aggregate all edge TQLEngines and directly connected devices (through IP stack).

Refer to a topology picture for the Greenhouse tutorial (to be created later)

Jira Legacy
serverJIRA (atomiton.atlassian.net)
serverId6675b638-29d6-3b8e-81c0-6089f01f08ad
keyTQLDOC-9

Gliffysize600nameThing To Cloud

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.

Gliffy
size600
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 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