1. What’s so hard about adding new functions to a system once it’s up and running?
Adding new functionality to a system that’s already in operation usually requires a firmware update.
This is a particularly burdensome task when that system isn’t IoT-enabled; someone will need to visit each individual installment's location to perform the updates.
Furthermore, hardware updates such as connecting devices or sensors are similarly difficult when a system is in operation.
2. No need to anticipate future functionality when developing firmware!
To give a brief overview, NEQTO Engine refers to the firmware that gets embedded on the edge side (MCUs) of IoT solutions.
To manage and remotely control NEQTO Engine-enabled devices and hardware, NEQTO includes a cloud service called NEQTO Console.
To demonstrate, we’ll use an example system that detects leaks of liquefied petroleum gas (LP gas) and sends email alerts to an administrator.
We’ll assume that ‘device A’ has a terminal block with IO connection, as shown in the figures below. For our IoT device, we’ll use the STM32 Discovery Kit (B-L4S5I-IOT01A) from STMicroelectronics and connect it to the LP gas detector.
We have made the connections for power, UART, and GPIO on device A’s terminal block.
The relay output of the LP gas detector is connected to GPIO (12) and GND of Device A. This relay output is the A contact, and is set to open by default. Once a gas leak is detected, the contact closes.
On the NEQTO Console, you can manage users by region with “Groups”.
You can also manage users in a Group by associating them with a "Node." The figure below shows an example where users (Client A, B, and C) are tied to Nodes in a Group called “New York.”
Using the Action function on the NEQTO Console, we can configure the system to send an email alert when a gas leak is detected by the gas detector.
We can then confirm using a test gas that the following email is sent when the LP gas alarm detects a gas leak.
Now, suppose you want to add a function to control the gas using a solenoid valve. We can do this while the system continues operation by connecting a solenoid valve to an IO of Device A. For this example, we'll use a relay instead of a solenoid valve.
The control line and power supply of the relay module kit are connected to GPIO (13), +5V, and GND of Device A. Once the connection to Device A is complete, there are just two steps left to complete the upgrade!
Finally, click the "Reload Script" command on NEQTO Console. That's all there is to adding new functionality! We connected a light to the relay module kit to easily visualize the result. The light is switched on when a gas leak is detected.
We confirm again with a test gas that, when it is detected by the LP gas detector, the relay module kit's relay closes and the light switches on.
In addition, at any time should you find it necessary to update the firmware on connected non-NEQTO microcontrollers in order to add functions, NEQTO includes a feature called Machine Driver. Machine Driver is a unique feature to remotely update the firmware of connected microcontrollers. We'll explain more about Machine Driver in a future blog, so be sure to keep an eye out for it.
NEQTO Hardware Spresense and the STM32 Discovery Kit (B-L4S5I-IOT01A) both support NEQTO Engine and can be ordered online, so get yours to try NEQTO today!
Links to devices used in this blog (Japanese only)
STM32L4+ Discovery kit IoT node [B-L4S5I-IOT01A] ：STMicroelectronics LP gas detector [APH-32SV]：Ricoh High-current large relay module kit [CXD5602PWBLM1J]：Akizuki Denshi Tsusho