LDSE International Summer School 2019

Distributed multistage parking control system through JavaScript language and Node.js run-time environment

25th to 27th of September 2019

Laboratory for Digital Systems and Electrical Engineering (LDSE) organized a 3 day summer school where students created an Industrial Internet of Things (IIoT) based multistage parking barrier control system.

Participants built and integrated key components of a web based system using affordable hardware and open source software.


  • Day 1 - 25th of September (Wednesday): Lectures in core concepts and technologies; software installation
  • Day 2 - 26th of September (Thursday): Development of system components
  • Day 3 - 27th of September (Friday): Development of system components and integration

  • Programming in JavaScript
  • JavaScript development platform: Raspberry Pi and Visual Studio Code (or Geany)
  • JavaScript runtime environment: Node.js
  • Ethereum based authentication
Use case

  • Multistage parking lot.
  • Main entrance and parking lot accessible by all vehicles.
  • Additional (internal) parking stages / lots accessible only by subscribed vehicles.
  • Web based communication among parking barrier nodes to determine the right to access.
  • Access only for authenticated vehicles.
Developed Javascript based decentralized multistage parking barrier control application

Industrial Internet of Things

In short, this is what the developed application did:

  • A robot car approached the main entrance - the first parking area. The barrier detected it with the use of a magnetic sensor.
  • A simulated web request was sent to the first barrier node to open the barrier. The request included the user id and the destination parking area id.
  • The first barrier node send a web request to the destination barrier node to check if the user (robot car) has a right to access the destination area.
  • If the destination area node responsed positively, the motor of the first node lifted the barrier until it reached the top limit switch.
  • The car passed through the barrier. When it reached the light sensor on the other side of the barrier, the barrier was lowered until it reached the bottom limit switch.
  • The car moved on to the the next barrier and send a web request to the barrier node to open the barrier.
  • This procedure repeated until it reached the desired parking area.
  • Various use case scenarios were tested with different destination parking areas, different access rights configuration etc.

  • Raspberry Pi as a development platform
  • Visual Studio Code and Geany as JavaScript programming environment
  • Node.js as JavaScript run-time environment
  • input and output interfaces from parking barrier models to the Raspberry Pi
  • onoff node.js library for Gpio access
    • node.js link to Gpio pins
    • read from Gpio pins (sensors)
    • write to Gpio pins (motor)
  • ethers node.js library for Ethereum wallet implementation
    • user authentication
    • random ethereum wallet generation
    • use of mnemonic phrases
  • parking barrier state machine implementation
    • state variable
    • switch case statement
    • setInterval function
  • Web API
    • requestAccess
      • parameters: user (id of the user / car), area (id of the desired parking area)
      • usage: sent by a user / car to the parking barrier node it reaches
    • isAccessAllowed
      • properties: user (id of the user / car)
      • usage: sent by a parking area node to the desired parking area node to check if a user has a right to access it
  • source code: Parking barrier application
Summer school working materials

For easier understanding and participation in this summer school a handbook was compiled featuring the description of the basic concepts of the Industrial Internet of Things as well as the used technologies. The handbook includes tutorials on how to set up a working environment, how to install and use Node.js platform and WebStorm development environment for JavaSCript programming. Summer school project tasks are also included.

You can download the handbook from this LINK.

Future Work

The outcome of the summer school was satisfying as participants managed to built and integrate all the key components of the system and its main functionalities. Parking barriers were able to communicate among them in an independent and decentralized manner and exchange parking area access information.

However, many of the important functionalities are missing. For a real decentralized system there should be more instances of the particular modules. There should be more parking lots offering parking service to customers. Furthermore, these lots should compete with others to get a "job" that they are requested to do. Based on various parameters the client will send / announce a request to all the parking lots and then select the best offer. These functionality could, for example, be implemented using the blockchain technology.

We invite students interested in presented research area to come and tackle the problems of this new and exciting field. This could be in a form of a seminar or as a part of your batchelor, master or doctoral degree study.

If you are interested in working in areas described above or if you need some additional information please contact us at: or


Industrial Internet of Things Industrial Internet of Things Industrial Internet of Things

Industrial Internet of Things Industrial Internet of Things Industrial Internet of Things

Industrial Internet of Things Industrial Internet of Things Industrial Internet of Things

Industrial Internet of Things Industrial Internet of Things Industrial Internet of Things

Industrial Internet of Things Industrial Internet of Things Industrial Internet of Things

Industrial Internet of Things Industrial Internet of Things

Poveži se z nami