Alex Mills

Project Aria

This project, codenamed ‘Aria’, started out as remote telemetry system for monitoring water tank levels using 3G radios and ultrasonic sonars but software suite would eventually evolve into the AgConnect project. Setting up these systems involved starting a partnership with an M2M provider for sim card management, deciding on the most effective way of measuring tank levels, and selecting a controller to be the heart of the unit.

Aria unit mounted to water tank.
Aria unit mounted to water tank - April 2014

Skills

Sensor

Close up of ultrasonic rangefinders

Pressure sensors are the standard option for measuring tank levels but on a remote cattle station, the water qualities don’t always play well with these types of sensors. By using MaxBotix ultrasonic rangefinders mounted to the top of the tank, the sensors never touch the water and will therefore last a whole lot longer. The sensors offer a variety of outputs including pulse and analog voltage but I selected TTL serial as it was the most cost effective option with the RaspberryPi. The rangefinder reports the distance to the water surface in millimetres through a serial socket, which is easily read using PHP at scheduled intervals.

Prototype sensor unit bench testing
Bench testing prototype sonar - March 2014
Prototype sonar sensor installed on tank
Prototype sonar installed on tank - April 2014

Hardware

Initial cabinet component layout mockup
Initial cabinet layout mockup - February 2014

The main idea behind the project was that no component would be custom, that way if anything were to fail, you could simply purchase another and it would slot right in. Obviously this is not the most economical way of building a product but when these systems are setup hundreds of kilometres away from the nearest electronics store, ease of service was a key requirement. Using a RaspberryPi was more about future product availability more than anything, though the wonderful community knowledge and support were important factors. Their use of a common ARM architecture meant that the linux-based software package could run on similar boards if a substitute were needed. The initial controllers used Puppet for software package management and remote updates.

Close up of USB relay board bench testing
USB relay board bench test - February 2014

With the unit being solar powered, power management was central in the selecting electronics and their integration into the system. By using a USB serial board, I was able to switch the 3G radio and Sonar off when they weren’t being used, saving battery power and extending component life. The initial run of units were not controlling pumps or valves so a timer would switch the system completely off after dark, as there is no point sending notifications if everyone is sleeping.

Assembling the aria units
Assembling the units - March 2014
Wiring harness testing
Bench testing assembled unit - March 2014
Bench testing WiFi radios
Assembled unit with Antenna - March 2014

Netcomm radios were selected due to their low entry cost and impressive feature set. The Linux OS would use the radio like a normal data modem to send the sensor readings at scheduled intervals to the AgConnect servers. The radios have a wide input voltage range which allowed them to be powered straight from the battery.

Standard USB cables used for component power and data
Power/Data USB cables - March 2014
Installing the first unit to the tank
Installation of the first unit - April 2014
Configuring the unit with a Mac
Configuring the first unit - April 2014

Software

Close up of AgConnect version 1 on an iPhone
AgConnect Version 0.1 - March 2014

I built AgConnect as a responsive layout web app that could run inside a native iOS app, providing push notification support. This allowed the app to run with 99% functionally on almost any device that had an internet connection. The ‘load-once’ app was built on top of KnockoutJS and would make asynchronous API calls to the PHP-powered backend running a PostgreSQL database. Updates could be applied in the background without requiring the user to do anything. Initial versions of the software displayed the last two tank level readings as well as a three day trend graph.

Close up of iPhone and iPad performing layout tests
Responsive layout testing - March 2014
A software theme test running on an iPad and iPhone
Theme and layout tests - February 2014
Early proof of concept design on an iPad
Early proof of concept design - February 2014

Review

Hindsight is a wonderful thing and after completing the project as well as building AgConnect, there are a number of things I would do differently for these units. Simplify everything, this would mean making custom components but it would allow for more efficient use of electronics, cabinet space and power requirements. The units perform really simple tasks so a small PCB with an Atmel ATmega processor would be more than enough to accomplish everything required. One cheap (~$50) PCB could replace the 5v power supply, timer, TTL to RS232 converter and relay board. Taking advantage of the TCP socket features of the Netcomm radio, you could have a constant connection to the unit for requesting sensor data at any time.