You may already have seen it…we have a brand-new feature on Pybytes referred to as Flash Control Over The Air (FCOTA).
This is one of the most useful implementations to have in Pybytes, and here’s why:
With the FCOTA users can now update devices remotely using Pybytes, wthout it they would be forced to physically mobilise to get to a device in the field location, take it back to the lab or desk, connect the device to a computer with a USB cable, use ATOM and Pymakr, make the changes in the device’s code, and finally bring it back to its original spot…phew, that was a long process.
Now, with FCOTA, if connected to WiFi, it is possible to inspect and edit the device code directly from Pybytes,….without leaving the comfort of your chair. Nice!
We’re looking at what we can do via other networks and in particular, of course, LoRa and Sigfox. Theoretically, it’s possible to make small changes in the code using LoRa, if a selective update system is made to reduce the bandwidth use. Perhaps likewise on Sigfox. More on that soon!
How did we do it, we hear you ask. Well, we simply use the internet connection to command the device to perform specific actions. We asked Alexis, one of our developers, to give us an overview, and he replied:
“When the user is in the tab called “Flash” as they are inspecting a device, a system in Pybytes will attempt to contact the device every 10 seconds. If the device responds, then we know it is live, online and ready for action. That way, we can keep track of what’s happening with the device and it’s possible to perform changes to it.”
The other cool thing about this new FCOTA feature is that it offers so many possibilities. For instance, it will easily be possible to make the edits to the main.py having a shared library of code pre-sets and thereby letting the users set up there devices in no time. We can also let users share assets (generic code made by the community to perform a specific action). The possibilities are endless.
In the below video, Alexis shows us how to update the main.py (which holds the code that will determine what the device will do) using the FCOTA. We show how basically the device has no purpose at the beginning but in the end, it sends sensors data.
An example, someone could perform that from the Netherlands on a device located in Singapore. As long as the device is connected to WiFi the user can update what’s going on inside it.
Alexis’s overview of FCOTA
A note of caution: there is a small pitfall to be aware of. Currently the user isn’t guided at all when modifying the device content. So, it is possible to break the device, for instance by messing up the configuration file. As a warning, this means that the device may not be able to reconnect to the internet after the update. The same thing applies if the user makes a syntax error in the code that is uploaded.
More information Here
Daniel Mariano’s animation that explains the process of updating the “main.py” of a device from Pybytes.