Developing an App and Controller for IoT Wireless Sensor System
Coderus has been involved in developing and designing an embedded and mobile software smart alarm system with full mobile integration on all mobile platforms with the end goal of improving the client’s sales opportunities. Glaze Alarm is an Internet of Things (IoT) wireless sensor system which is built into a double-glazed unit and is used to measure shock, temperature and humidity in the home and business environment. In the event of a break-in, Glaze Alarm is designed to raise the alarm before an intruder enters the property.
At a Glance
- Coderus developed, designed and implemented an end-to-end embedded software and mobile solution.
- We took an agile working approach to ensure delivery of an application that delivered a great user experience across multiple platforms.
- We provided an end-to-end mobile solution for an integrated sensor and a companion mobile app that would liaise seamlessly with it.
The Challenge
The trend for large, glazed panels within business and residences might be attractive to look at – but are easy targets for intruders. In the event of a break-in, traditional security systems – such as CCTV – provide data after the event, giving property owners very little real-time control over their property.
GlazeAlarm, a start-up based at Innovation Martlesham – had an idea. By placing an IoT wireless sensor (The GlazeAlarm®) inside the glazed panel, property owners would gain constant data, not only about the integrity and security of their units but their performance too. The sensor reads temperature and humidity, as well as understanding when the panel has been tapped – providing a critical few seconds in which to trigger an alarm and scare off potential intruders.
GlazeAlarm had the patent-pending hardware, but in order to demonstrate it to prospects, they needed a supplier to embed the technology into the sensor and provide an end-user app. Moreover, they needed to see it all working in just three months, ready to demonstrate at a major trade show. That’s where Coderus came in.
The Methodology
We took an agile, strategic methodology to the development and design of the mobile application to ensure it was fully optimised to be used on multiple platforms and devices. To suit a variety of users, the app needed to be optimised for use on a smartphone, tablet and desktop across any device of the users’ choice. This was key to allow users to remotely view and configure the system.
The app and controller were built simultaneously and the project was delivered using an agile methodology to ensure that a POC was built on time and according to the clients’ expectations. The deliverables were split into sprints, each culminating with client testing before moving to the next. During these sprints, the Morgan logging system was used, which displays information about HTTP requests sent/received by the API server. Our team worked to ensure that an accurate log of requests was kept so any issues could be quickly identified and rectified.
The Tech_
- We used Mutexify for mutex locks, providing version control.
- We used Achingbrain’s SSDP Broadcaster for Node to broadcast the presence of the controller.
- We used CMocka to identify and solve issues early.
- We used Morgan logging system, which displays information about HTTP requests sent/received by the API server – kept an accurate log of requests to the alarm state, enabling issues to be quickly identified and rectified.
- We followed an agile methodology with fortnight-long sprints to ensure the project was built in time but also to the client’s expectations. This also allowed us to ensure the application was fully tested at regular intervals.
- We created a prototype within the time span for GlazeAlarms schedule of demoing at GlassTec.
- We created a full-stack product from the hardware interaction up to the mobile app.
Project Services
Mobile App DesignUser Experience (UX) Design
User Interface (UI) Design
Mobile App Development
iOS App Development
Android App Development
Software Development
Embedded Software Development
Quality Assurance & Testing
Support & Maintenance
Internet of Things
Consultancy
Strategy
Agile Software Development Company
Our focus throughout was on the quality of product design, development and evaluation. The mobile app and embedded solution would need to work across multiple platforms. To achieve this we used a Xamarin to communicate with the controller systems, which allowed us to create a large amount of shared reusable code with built-in logic. MvvmCross was also used to help provide an extra capability, including data binding and dependency injection.
In terms of the design and development process, we split the development stages in two – all C activities were handled by one developer and Node by another. Multiple services in each language were used to ensure the system was stable and secure at all times. C was chosen for lower-level applications – providing flexible system access – and Node for the higher level with a plan to move to the server for final project deployment. For the web framework, we chose Express for its high-quality maintenance levels and suitability for this project type.
The prototype system was built within the required timescale of three months and was successfully used as a demonstration at a major event with Glasstec. During the event, the prototype was tested on real-time users demonstrating its value proposition to both consumers and distributors on a global scale. We provided a successful embedded and mobile software solution to deliver a smart alarm system for Glazealarm with full mobile integration, turning an innovative idea into a real-life, scalable product in the glazing and security industry.