42 Technology has helped Titan Class – an Australian IoT company – to develop a faster and easier way to roll-out its smart agricultural monitoring systems to some of the most remote farms across the country and without farmers needing to install costly infrastructure, such as gateway antennae.
The new NB-IoT enabled solution uses existing off-the-shelf agricultural sensors, combined with a Rust programming language application on a Nordic Semiconductor nRF9160 SiP device, to transmit small LoRaWAN-style packets of sensor data to the network. As a result, Titan Class has reduced the transmission costs to send real-time data via the cellular network by a factor of 100:1, leading to lower network charges and allowing the system to handle many more sensors than ever before.
The approach has been trialled using soil moisture probes but it can be used for any farm monitoring or actuation task, including monitoring weather, water trough levels, fuel tanks or the status of electric fences.
Although Australia has high NB-IoT network coverage, one of the challenges is that a sensor in a field could be up to 20 km from the nearest base station. As it’s almost impossible to maintain full duplex cellular communications across those distances, NB-IoT can instead be used to ‘fire and forget’. This contrasts markedly with the MQTT over TLS set-up used by most agricultural sensors: where the full-duplex nature means they have to use the LTE-M network, and which results in unnecessarily high network charges because the MQTT protocol has a relatively high overhead, both for connection set-up and for each packet of data sent.
Farmers tell us they’re typically paying around $50 per month in network charges per device, whereas our initial trials suggest we can reduce this to around $0.58 by sending LoRaWAN packets over UDP. Our approach is also more robust and reliable because we’re getting a much higher range and penetration from NB-IoT compared with the LTE-M network.
42T’s role in the project included improving support for the nRF9160 within the existing Embedded Rust ‘nrf-hal’ project, as well as updating its own Rust-language open-source interface to the Nordic modem to use the latest version of Nordic’s libraries.
The Rust Programming language set out to offer a more productive way to build high-performance, reliable software. It’s now widely used in back-end systems, with all the major tech companies investing heavily and reporting big successes with their roll-outs.
This support is also starting to be seen in the Embedded Rust space too, where the combination of high-performance code with a focus on security and reliability means it’s ideal for applications such as this NB-IoT based agricultural monitoring system.