Home Automation: Embedded Development for Smart Home

Working with the leading Smart Home company, Waverley created a hybrid mobile application allowing remote monitoring and control of security, heating, and electricity for home management devices. We also helped the client develop embedded software for security panels and voice communication.

Home Automation: Embedded Development for Smart Home - 0Home Automation: Embedded Development for Smart Home - 1Home Automation: Embedded Development for Smart Home - 2Home Automation: Embedded Development for Smart Home - 3Home Automation: Embedded Development for Smart Home - 4Home Automation: Embedded Development for Smart Home - 5Home Automation: Embedded Development for Smart Home - 6Home Automation: Embedded Development for Smart Home - 7
<h2>HOME AUTOMATION</h2> <p>Our Client is an industry-leading company turning regular security systems into smart home solutions. The company needed a reliable, dedicated software engineering team offshore with experience in mobile and <a style="color: #3343b4;" href="https://waverleysoftware.com/embedded-software/" target="_blank" rel="noopener">embedded software development</a> to create customized applications that would allow remote monitoring and control of security, heating, and electricity for home management devices.</p>

HOME AUTOMATION

Our Client is an industry-leading company turning regular security systems into smart home solutions. The company needed a reliable, dedicated software engineering team offshore with experience in mobile and embedded software development to create customized applications that would allow remote monitoring and control of security, heating, and electricity for home management devices.

Home Automation: Embedded Development for Smart Home background

PROJECT GOALS

  • Develop an application integrating security and energy management, working with the client’s in-house development team.
  • Create a new touchscreen user interface, develop fast platform-independent UI components, resulting in a hybrid mobile application (iOS and Android) designed for remote monitoring and control of end-user’s home. 
  • Performance optimization for low-cost Android touchscreen devices. 
  • Creation of a custom Android “wrapper” for the JS application.
  • Planning, analysis, verification and review activities through the entire development process.
  • Design and execute testing for functional, GUI, and hardware compatibility, including automated tests for JS front-end.
Home Automation: Embedded Development for Smart Home background

WAVERLEY SOLUTION

Waverley’s expertise in the development of mobile web applications allowed us to introduce a change to the architecture that significantly simplified UI development. Our solution, based on an emerging AngularJS framework, enabled the power of canvas-based UI controls while maintaining the ease of development typical of traditional UI elements. The client started with a small Waverley team focused on front-end development. Within one year, this team’s mandate expanded to include Android components, server-side work, firmware development for a new product, and QA for multiple products. 

Home Automation: Embedded Development for Smart Home image

HYBRID MOBILE APP

We created a hybrid mobile app, with a new version of the user interface (touchscreens panels and mobile devices). The client previously had a flash-based app that didn’t work on iOS and worked slowly on Android, which is why they focused on JavaScript/HTML5. 

  • The new app is much faster and works cross-platform on iOS, Android and touchscreen (Android), and browser. It allows working with video cameras, but since video streaming didn’t work well with HTML5 (it worked only in specific browsers), we needed to create our own video player, with the navigation through the history of clips and with ability to pinch to zoom. 
  • The app also integrates with the latest HD security video cameras. 
  • One more challenge was performance – since we had a limited budget for mobile devices, we had to apply webview + JavaScript.
  • Since mobile screens were not big enough to see all the details of video streaming from the camera, we introduced pinch to zoom functionality to our player.
Home Automation: Embedded Development for Smart Home background

EMBEDDED

Our work involved interfacing and controlling numerous hardware components through industry-standard protocols as well as custom firmware written by us.

  • Waverley was involved in building software for a security panel that teaches panels to integrate with the server through 3G (3G universal communicator) modems. 
  • We enhanced the panels that were able to connect with the server through GSM to be able to connect through 3G. The firmware created for 3G universal communicator by our team allows it to be installed (used) in the following security panels: GE SimonXT (XTi), Honeywell Vista, Honeywell Lynx 3000. 
  • We also added support of two-way voice communication (over the air) – user of the panel could talk to the operator on the other side and enabled remote panel settings management (for GE Simon XT and GE Simon XTi). 

The approach we chose included the use of microservices. It also supports different devices (locks, and other smart home features, cameras, door/fire sensors,etc.), as requested by the client.

Home Automation: Embedded Development for Smart Home background

QUALITY ASSURANCE

The team of Waverley QA engineers is using the Qmetry test management tool. We provide:

  • Regression testing for iOS/Android/Web and REST API.
  • Functional testing for different types of Security Panels. 
  • Load testing.
  • Smoke testing.

All bugs are reported in a bug tracking system (Jira) where we also capture any updates. A weekly meeting is conducted between the QA Lead from the client’s side and Waverley’s QA Team. During the meeting, all tasks and bugs are carefully analyzed and discussed. 

In addition, the Waverley development and QA teams regularly meet with the Senior Manager from the client’s side. In close cooperation with the client, we:

  • Created the automated testing framework for functional testing of the security panel. (Test cases are written on Java. Arduino is used to automate the interaction with the equipment and Selenium WebDriver is used to automate the interaction with Web clients.)
  • Automated test cases for Smoke testing.

RESULTS

The project is ongoing.

Call to action 0Call to action 1Call to action 2Call to action 3Call to action 4Call to action 5Call to action 6Call to action 7Call to action 8Call to action 9

Let us know how we can help

contact us