Close

Protocol

A project log for Aquariumatic

Automated aquarium monitor with Web GUI. daisychain units can control multiple tank all from the one master unit. PI/Arduino/ESP Powered

craig-hissettCraig Hissett 03/29/2017 at 00:480 Comments

This is just a small update regarding a change of tact regarding communication for the Aquariumatic.

My Arduibox arrived:

Here it is pictured alongside my Pi Zero case. I love it! I am currently testing the configurations of lcd shield, relay shield etc. I think it's looking like both Shields will be dropped and just a standard 4 channel relay module added (screws and spacers added to the Arduibox prototyping area). With regards to the screen I feel like I may end up purchasing the oled add-on module available from Hartmut to keep the device looking so clean.

So, protocol - up until this very point the plan has always been to use i2c to chain my units together; nice and easy, and addresses for 112 devices to be linked together. As a secondary form of communication the pcb was going to carry an esp8266, connected to the Nano via serial, for an additional way of getting data out of the slave, whether that be to a iot site like Thingspeak or even just to another Web browser.

Today I had a brief chat over on the Aquariumatic Facebook page with a chap who was questioning my use of i2c. After talking him through my plans for i2c and a secondary esp8266 connection he said 'why not just use the wireless connection for the main protocol?'

I couldn't give him a good reason why not, other than I have used i2c successfully in other projects so knew I could develop something for this project using it.

After some thinking I have decided to stop letting my inexperience in wireless comms get in the way and have started looking at ways to implement this as the main comms in the project.

The Tornado library (used to create the Python webserver on the Pi) has a handler for websockets, so I am going to look into using that to handle connections from my ESP8266. The ESP8266 will be getting coded to take data from the serial connection with the Arduino, package it into json format and sending it via websockets to the Pi.

Wish me luck! Ha ha!

Discussions