A deeply customized IOT project: install smart terminals for existing elevators, monitore and alarm remotely on the clouds.
Terminals are equipped with MCUSH platform which provides these basic infrastructure:
FreeRTOS
interactive serial console
filesystem
logging mechanism for diagnostic
LWIP network statck
network utilities
Python library for debug/test
Customer's bussiness codes include:
Sample and filter signals from sernsors
Elevator status evaluating
Upload data to cloud server
Remote login/debug/upgrade
Characteristic
Remote debug
Smart terminal supports remote debugging: connect and virtualize remote serial console as if a "local" one.
Remote debugging is as easy as local debugging, this greatly increase the efficiency of remote diagnosis.
Remote debugging for traditional IOT terminals:
![](images/debug_traditional.png)
Engineers send request for server
Server send request to terminal
Terminal response back to server
Server response back to engineer
Remote debugging for MCUSH smart terminals:
![](images/debug_remote_mcush.png)
Engineers send request for server
Server send request to terminal
Virtual channel established between engineer and terminal, mapped as local console port
Engineers debug remote terminal as if localized
Disconnect the virtual channel
Benifits:
Agile debugging
Commands can be lower level and fully ranged (MCUSH commands include management of memory, tasks, queues, filesystem, network, logging...)
Automation is easier
Development of new firmware feature no longer depends on the cooperation of server platform, development process will not be postponed.
Deployment of new feature into the remote terminal as quick as possible, integrate them with the server platform lately after fully tested.
(agile and parrel development is quite important for startup companies)
Dual-login technics for remote debugging:
![](images/debug_remote_mcush_agent.png)
Remote terminals can be more than one and are grouped together in a small area, only one terminal (gateway) is connected with the server,
others are connected with the gateway (agent). After two steps of logins, their consoles can also be virtualized.
Similar to the above, create virtual channel A with terminal A
Send debug request from A to B, then create virtual channel B with terminal B
Enggineers can debug remote terminal B as if localized
Disconnect the virtual channel B
Disconnect the virtual channel A
up to now, nearly hundreds of terminals have been running and monitoring the status of elevators uninterruptably
|