Close

Architectural Refinement

A project log for SentriFarm

Solving a key farming problem: is it safe to harvest / spray / sow today? (+experiments with 'big' data in agriculture)

pastcomputepastcompute 05/24/2015 at 13:240 Comments

Now that I have two inAir9 modules talking to each other on my bench, I have been spending some more time considering architectural questions, while waiting for delivery of PCBs.

At this stage we are looking at using MQTT as the glue.

The fencepost will be running Linux, and either RSMB or mosquito. There will be a bridge process that is an MQTT client subscribing to wildcard and forwarding the data through the SX1276 to the next hop. By using the right MQTT hierarchy, store and forward should be scalable for the number of hubs we are looking at. The ground sensors will thus be publishing MQTT clients, and there will also be a publisher inside the fencepost for the weather sensors, etc. The far end is a second client that receives radio data and publishes the results.

To reduce bandwidth requirements, I envisage some kind of compression or rather binary translation layer, so that the SX1276 clients will have a small database of MQTT topic to binary code mappings, used to tag each message instead of a full topic.

Discussions