Android Arduino Communication through Modbus and Rs485

In this post I’d like to describe you a project I’m working on that consists of connecting an Android multi touch panel to one (or more) Arduino slave(s) using modbus protocol and RS485.
Even though the idea of this project could be applied in many fields, I chose to contextualize it in a typical smart home context: a touch display that dims lights, shows temperatures and bulbs statuses.


The nice feature of the Android multi touch panel I used is that it has many interfaces such as Ethernet, RS485, RS32 and I²C as well.
I expressly selected RS485 because Arduino-based microcontrollers are not ready for Ethernet yet (even though some examples still exist but without great success). Indeed, RS485 is a well known standard that has been widely used in the indus­trial con­text and in building automa­tion appli­ca­tions. It is a half-duplex, 2-wires, low noise bus that allows high speeds and remote devices connection (up to 1200 meters).
Furthermore, modbus is a serial communication protocol, developed for industrial applications, open and easy to deploy and maintain. I used modbus RTU, but other variations of the protocol still exist though. Continue reading

Comunicazione Android Arduino via RS485 e Modbus

In questo post vi parlo di uno dei progetti a cui sto lavorando in questo periodo. Consiste nell’utilizzare un pannello multi touch Android che comunica attraverso rs485 e modbus con uno (o più) Arduino board. In particolare, l’ambito principale del progetto riguarda la domotica (accensione/spegnimento/status luci, regolazione temperatura, ecc) sebbene molte delle tecniche e concetti che vedremo possono essere applicati con successo in altri campi.


La cosa carina del touch screen che ho utilizzato è l’ampia disponibilità di porte, ampia connettività in generale: Ethernet, USB, rs232, RS485 ed anche I²C. Sebbene disponga di porte molto veloci, ho espressamente scelto di utilzzare RS485 perchè i device Arduino (Uno per esempio) per supportare per esempio l’interfaccia Ethernet hanno bisogno di elettronica aggiuntiva che fa lievitare ulteriormente il prezzo (anche se dal punto di vista della fattibilità esistono diversi progetti in rete).
RS485 è uno standard molto conosciuto nell’ambito dell’automazione industriale e nella domotica. E’ half-duplex, utilizza due fili, tollera molto bene i disturbi, si riescono a raggiungere buone velocità e connettere device remoti fino anche a 1200 metri.

Inoltre, utilizzando il protocollo serial modbus, anche questo sviluppato principalmente nell’ambito dell’automazione industriale, è open, semplice e robusto da sviluppare e manutenere. Ho scelto di utilizzare la variante del modbus denominata RTU, sebbene ne esistano di altre. Continue reading