Home and industrial automation projects employ a big set of products, such as sensors, touch screens, external modules, PLCs and HMIs in order to solve specific problems and dealing with special requirements. The current scenario shows that the logic and the user interface are frequently managed by different components, using a common bus in order to communicate and modify statuses.
Based on this state of the art, our research and development lab, designed and created a brand new product with the aim of merging some of the products presented above, in order to reduce complexity, enhance user interface experience and especially reduce the costs.
In this brief Android development tutorial, you’ll be able to create your first Android Hello World application. The Android app that you’ll create can be installed in every Android smartphones, tables and especially in the newest development boards that are used in home and industrial applications.
First, you need to download Eclipse IDE. Since in the Download page many version are available, the one called “Eclipse IDE for Java Developers” should be fine.
Another important package to download is the Android SDK.
The project I’m working on is about making a home automation system using an ARM Cortex A8 1Ghz Android based development board and some Arduino slaves that communicates using rs485 and modbus.
In the previous article, I wrote about how to create Arduino slaves that wait and answer for modbus requests. Indeed, I also made some performance tests in case of rs485 communication failure. Please take a look at the end of the article.
It is now time to present how to write an Android project that acts as a master and communicates with slave devices.
The nice thing of this design is that the logic that controls the smart home system is not constrained to be on the masters’ node. Instead, it can be distributed across all the Arduino devices. Indeed, since rs485 and modbus protocol were designed for industrial environments, this project could be easily used in industrial automation.