Case - Smart elevator


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:



  • 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:



  • 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:



    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