Embedded CC/C++IAREclipseBatch Scripts − GSM/GPRS/2G/3GZigbee mesh networkTCP/IPNFCGPSOSAL (OS from Texas Instruments)J-Link
The challenging requirements for future embedded firmware included product performance, usability, reliability, security, and scalability.
At first, the client was looking for support and improvement of an existing smart IoT system for lamp control units of 1st and 2nd generation, which are installed in several cities. Later on, the client required integration of new hardware modules into the next generation of the lighting system – 3rd, which entailed new firmware development.
With all challenging requirements, it was also a high concurrent, heavily loaded network. Several live networks have already been working for years and were sensitive to changes in the firmware. Backward compatibility was a key requirement.
The embedded software is an intelligent control and maintenance system that optimizes street light usage to lower energy consumption, by decreasing the lighting level at off-peak traffic hours. It also reduces maintenance costs via real-time performance monitoring and reporting.
In this firmware development project, Euristiq conducted support, enhancement, and extension of proprietary communication protocol at Application layers of Zigbee, TCP/IP, UART, NFC. For extended and integration testing purposes, we assembled special test stands to emulate the real environment and real load.
Two stands with 40 and 25 streetlight nodes were built in an extra secure fashion so that not only electronics or embedded experts can handle it, but also a regular backend engineer. All types of tests can be performed on these stands including long-term ones that are currently conducted by the client’s team. One of the advantages of having our own stands is that we could code and run various tests on 40 units simultaneously. It allowed us to perform cross-platform tests to identify possible issues with the server, frontend, and microcontrollers.
For the next part of the IoT smart lighting system, Euristiq engineers developed software for the 3rd generation of nodes that control and monitor streetlights. It included firmware development for IoT sensors and desktop app development we used for system testing. Within the scope of firmware development, we conducted hardware bring-up and new Zigbee stack bring-up.
Also, our engineers developed special test procedures for automated testing and SW tools for End Of Line testing for a new HW platform generation.
We have also analyzed traffic and suggested a few ideas for optimization that would allow 3-4x traffic speed up. Unfortunately, the client declined the idea as it entailed changing the data transfer protocol to a compressed binary format which wasn’t a priority at this stage of the project.
The improved embedded system includes up to several hundred units in the mesh network and 27K+ units installed in cities.
A testament to our successful collaboration is an ongoing project development with a team of embedded engineers.
Our development team helped the client with traffic optimization between the network coordinator and the back-end server and optimized used proprietary protocols. We also improved the system’s security via device and communication channel protection.
In just three days we assembled special test stands that prove that Euristiq has the capacity of a large software development company. Test stands enabled us to perform more test cases, which resulted in 60% improvement in test coverage.
The system is completely wireless with instant connectivity which we enabled by adding support for NFC and GPS technologies – node identification via NFC technology and automatic GPS detection. These technologies also allow conducting over the air (OTA) firmware updates.