The client was a company specialising in the design and production of standard and emergency lighting systems.
The challenge was to create, build and deploy a web platform for managing lighting systems in offices and warehouses. There was a requirement for multiple functions and the use of dedicated networking devices in the form of Wi-Fi communication.
The goal was to write and develop a web lighting control application which would allow the end user to manage and control lamps via a router.
A number of functionalities were required:
- registration in, and deregistration from, the system;
- turning lights on and off;
- adding lamps to a group or removing them from it
- changing the power consumption;
Our engineers also had to develop a log system which would record all the information on the operation of the lighting in the databases. Another requirement was for the precise verification of the signals sent and received by the Wi-Fi router. This was to be achieved by analysing the operation of every command issued from the website.
The project was divided into stages:
· building the library for communicating with the router;
· implementing the commands for managing single lamps;
· implementing the commands for managing groups of lamps;
· creating the module responsible for the logs;
· creating the module responsible for the work and power consumption statistics;
· implementing the commands for managing the lamp switches (KNX and activator);
· creating the module responsible for managing the lamps on the graphic plan.
The first, crucial stage of the work was to build a library for communicating with the router. Every command or functionality, which we implemented was also connected with writing unit tests and with manual tests on the real devices provided to MakoLab by the client.
The lighting control web application we developed features all the functionalities required by the client. It connects with the router. Communication is carried out via the router by sending signals containing low-level commands. In effect, what our developers did was create and enable the translation of the commands sent and received into the C# programming language.
The technologies used were Net 5, Net 6 and Vue.js 2. The environment was integrated on the basis of the Bitbucket service.
In addition to the required functionalities, users can: