Our general manager, James Mack & Bill Zhou from M2M Connectivity took some time out after the YOW Connected trade show to talk to Patrick Catanzariti from Dev Diner about designing a product and building a business around The Internet of Things.
Read the full interview over at Dev Diner – http://devdiner.com/interviews/building-iot-with-m2m-one-m2m-connectivity
Over the past 15 years the team at M2M Connectivity & M2M One have coached, consulted, celebrated and at times commiserated with thousands of hopeful developers trying to make their mark on the Machine to Machine/Internet of Things landscape.
This series of blog posts is designed to pass on some M2M 101 style tips to developers looking to get into the space.
A big question we get asked is “How do I keep my device online as long as possible”, while it’s almost impossible to provide 100% uptime for any wireless device we’ve provided a few tips below to help you get closer.
A few things to consider:
- Expect outages! – Despite their best intentions every single mobile operator in the world still has to have periods where they restart or change a network element either planned or otherwise.
- ‘Mobile’ Networks – Most people aren’t in the same spot using their phone or iPad for 24 hours a day so they don’t notice network changes or intricacies, but m2m devices are a bit different. A data-logger measuring the water level of a reservoir isn’t going anywhere so if the network goes down, even for a moment it’s communication is going to be interrupted.
- Is coverage available? – In countries like Australia you can have vast regions of unpopulated land, at some point you’re going to run out of cellular coverage so you need to think of how to cope.
Worst case scenario… – Photo courtesy of http://www.engineeringradio.us
So how can you preempt a lack of cellular coverage?
1. Store and forward – Make sure you have enough memory on your hardware to store at least one or two days of data, that way if you experience an outage or your device moves out of cellular coverage temporarily nothing is lost.
2. Build a smarter modem – This is particularly important for devices that don’t move between cell towers. Previously we advised customers building M2M devices that they should factor in an automatic reboot to any stationary M2M device at minimum once a day. This is still a great tried and tested solution, but if you need something that communicates 24 hours a day an unnecessary restart may be impractical.
A majority of modem manufacturers include a ‘watchdog’ feature in their hardware which can be set to ping an IP address at certain intervals, this can either be a public known IP like Google for example, or your own network. If the device is unable to ping the ‘watchdog’ address then it will automatically power cycle the modem, without you having to do anything.
For older devices without a ‘watchdog’ we still recommend an automatic reboot at least once a day, and having some kind of failover like being able to restart the device with an SMS.
Why is restarting the modem important? Most raw M2M hardware is reasonably ‘dumb’ if it can see a network and can communicate with that network it assumes everything is ok. This however is not the case, have you ever been in a situation where you can make calls or send an SMS but can’t surf the Internet on your phone? Normally if you put it in and out of airplane mode it fixes the issue. The same principals apply here, the modem assumes everything is normal but really it can’t make a data/IP connection. By restarting the modem you force it to create a brand new connection which 99% of the time brings voice, SMS & data back.
3. Can you feel my heart (beat)? – For those of you who are building and deploying devices using public Internet APNs (those commonly shared with mobile phones and tablets). We highly recommend putting in a ‘heartbeat’ to remind the network your device is still there. Public networks are highly aggressive when it comes to closing sessions, this is to maximize capacity and reduce congestion.
Unfortunately networks around the world have different timeouts ranging from minutes to hours to days. So we can’t prescribe the perfect solution, but as most heartbeats send a minimum amount of data (around 1 byte per beat) you can usually be reasonably safe with every few minutes.
4. How critical is your data? – Most of the time store and forward will be ok; when a device is back in cellular coverage your data is sitting there waiting for you. However if you absolutely need 24 hour uptime you need some kind of failover, just like cellular became standard failover for Ethernet or Wi-Fi.
Some devices can get away with utilizing multiple SIM cards or connecting to multiple carriers via a ‘roaming SIM’ – This is a great option for areas of high cellular coverage with multiple operators. Remote locations on the other hand tend to have a single operator or none at all, this is where utilizing satellite technology becomes critical.
A lot of people cringe when I start talking about satellite communications, their minds instantly go back to the days of $10,000+ phone bills and hardware that cost and weighed as much as a car. This really isn’t the case anymore, using satellite as a failover for cellular is fast becoming commonplace in OH&S solutions in the remote operations, utilities and mining sectors.
Sometimes satellite is your only option – Photo courtesy of Wikimedia
Hopefully these tips have inspired you to build some extra smarts or redundancy into your next or current M2M project.
Did you find this tip useful? Do you have some questions on the Machine-to-Machine and Internet of Things industry we can answer for you? Let us know on Twitter @M2MOneAU, on LinkedIn at M2M One or visit our website at www.m2mone.com.au.
General Manager – M2M One
The views and opinions expressed in this blog site are solely those of the author and do not necessarily reflect the opinions of M2M One or M2M Group.