Cargo theft is a growing problem for Canadian businesses and their transportation providers. In fact, it is estimated that $55 million in goods will have been stolen in 2018. Businesses also suffer secondary financial losses due to increased insurance and security costs, and a loss of productivity when trucks are stolen. These costs eventually make their way back to the consumer, making products less affordable. Furthermore, most of these thefts negatively affect society by leading to increased opioid and illegal-firearm presence. Our solution: Hydra, a modular IoT device that reacts to thefts as they happen - rather than days later.
What it does
Hydra uses Raspberry Pis as modular and mobile nodes to communicate with each other over wifi. There are three nodes used - one in the tractor, one in the trailer, and one located at the control centre. The tractor and trailer nodes send their current GPS locations to a server. The control centre then pulls this data and calculates the distance between the two nodes to determine if the tractor and trailer have been separated. If the nodes are farther than 30m apart, then a 'Separation' alert is activated; if no signal is received within a certain period of time, a 'Disconnect' alert is activated; otherwise, no alerts are made.
Our unique modular solution simplifies hardware installation, and vastly improves the response time of the alert system.
How we built it
The nodes communicate over the IoT cloud platform Particle.io. This system allows the Raspberry Pi's installed on Tractors and Trailers to publish their GPS coordinates to a server that the Control centre is subscribed to. The control centre then calculates the distance between the 2 nodes.
The control centre node is able to push alerts to other devices, apps or services. In our proof of concept, we pushed these alerts to an Arduino which displays the relevant information on an LCD screen.
Challenges we ran into
Our original idea was to work with Arduino and install wifi shields to gain internet connectivity, but there were too many issues with this setup:
We were missing board connectors - we came up with a rudimentary solution to address this
We successfully created a server, but it only worked once and we couldn't recreate it
We then switched over to Dragonboard, where we ran into more issues
We tried 3 different OS releases (each taking ~20mins to download and ~20mins to image), but none of them booted to a desktop environment
The kit was missing the USB dongle for the keyboard/mouse combo
Finally, we decided to switch over to Raspberry Pi. We also had some issues, but they were minor compared to the previous 2 devices and we troubleshot our way through it.
One of our MicroSD cards got corrupted (we fixed it)
We didn't have enough MicroSD cards
We didn't have enough Raspberry Pi's
We didn't have enough USB-microUSB cables
Accomplishments that we're proud of
We successfully created a modular IOT device with excellent hardware and software components - all while remaining at a low cost. It's also able to quickly react to changes in state (<15 seconds). What's amazing is that we integrated 3 Raspberry Pi's and an Arduino into a well functioning system - something we had never done before. Finally, we managed to make this hack 'plug and play' - even if you power it off and on, it'll start working and communicating with the server right away. There's no need to reconfigure it.
What we learned
We gained a greater understanding of Raspberry Pi & Arduino, and how to make these 2 devices work together. We also further developed our troubleshooting skills, in both hardware and software. We explored cloud and point to point networking using IoT.
What's next for Hydra
- Sticking compact and untraceable models onto commercial trucks!
- Usage on any moving system where a noticeable (by GPS) distance must be reached
- Convoys, any form of truck-trailer connection
- Addition of a method that compares the truck's path with its actual route, to determine when it's off course