When developing a new embedded device it is almost guaranteed that it is going to interoperate with some existing system. This interoperability often takes the form of a communication link. If being constrained by the need for physical proximity is not a concern, directly wiring-in the new device using either Ethernet or some other wired technology generally provides the best bandwidth and reliability. However for ease of installation, and to increase flexibility, some form of wireless technology is often vital. Given the ubiquitous nature of the Internet it is preferable that this link can support TCP/IP communications. However that is not an absolute requirement, and many embedded devices look to alternative technologies to achieve their goals, especially when power and locality are a concern.
Wireless LAN, aka WiFi or more specifically 802.11, is probably the most common IoT communication protocol. It is a widely supported standard, and immediately gives almost full access to the device from almost anything else connected to the Internet. This, combined with its high data throughput, probably makes it the most flexible option. However it does have several drawbacks as well.
- User configuration - The requirement to connect to a local WiFi access point means that the embedded device must be configured. This is often a painstaking process, requiring the user to manually enter a long WPA2 passkey, often 20-30 characters long. When using a smartphone or similar small entry mechanism, this is not a very user friendly experience. Some manufacturers go a long way to ease this, such as the Google Chromecast which temporarily creates a peer-to-peer private wifi network with the phone, and then uses the phone's own log of access points to reduce what the user needs to enter.
- Power draw - WiFi can be a relatively power hungry option, which may rule it out for long life battery backed devices.
- Complexity - the software requirements for WiFi are generally more onerous than those for other, simpler, wireless technology. This means that either a larger, more expensive, CPU is required, or if the primary CPU is not capable, a “smart” WiFi module must be used. Each of these options may increase the final production costs.
Bluetooth is another widely supported protocol. It has lower power requirements than WiFi and is generally used for direct a connection between a small low-power device and a larger (more complex) computing device rather than for establishing a direction Internet connection. There are also two distinct forms of Bluetooth - Bluetooth Classic, and Bluetooth Low Energy. Comparing these two forms, Bluetooth Classic is relatively high bandwidth and is used for things such as audio and file transfer, whereas Bluetooth Low Energy, as it’s name suggests, requires very little power, but also has much lower transfer rates. Both of these technologies have a similar operational range, generally in the low tens of meters.
There are various options for connecting to mobile networks, depending on the location and providers available - GSM, 3G, HSDPA, 4G and UTMS for example. Whilst the various technologies offer different speeds and price trade offs, they are still fairly similar in their fundamental functionality. The primary advantage of these technologies is that devices can be permanently connected to the Internet with very little installation requirements. This allows for installation in areas where a WiFi connection might be difficult to establish, or where the device is to be mobile. Unfortunately cellular devices tend to be much more expensive than other wireless technologies, as well as incurring an on-going fee from the upstream provider. As such they tend to be the most expensive of all the connectivity options.
ZigBee is a contender in the ultra low-power communications range. The devices are very cheap, and consume very little power. It fits in a very similar niche as Bluetooth Low Energy, and given the popularity of Bluetooth and its availability directly on modern smartphones, we generally recommend Bluetooth over Zigbee.
ANT is a similar technology to ZigBee, although more popular in the sports and fitness industry. It is generally aimed towards low power sensor devices. As with Zigbee, it is also seeing its market eroded by Bluetooth Low Energy.
NFC is a specialised form of RFID. This allows for very low bandwidth communications between devices that are physically very close, typically almost touching. It is most often found in modern payment applications, but is also used for things such as stock management. Because NFC chips are found in many modern smartphones it is gradually receiving more attention in the market. NFC devices are of such low power consumption that they can be parasitically powered from the NFC frequency itself, requiring no battery on the device.
Should all of the typically available technologies not be sufficient, a custom solution is also an option. The one field where custom solutions are often employed is in long range low bandwidth communications. These typically take place in the lower frequencies of what is known as the Industrial, Scientific and Medical (ISM) band - a series of unlicensed radio spectrum frequencies that are free to use. When utilising the lower frequencies in these bands, such as 433 MHz, it is possible to get multi-kilometer line-of-sight communications. When combined with modern mesh-network designs these are often utilised very effectively in rural areas where options such as cellular or WiFi are not available.
If you’re interested in finding out more, the following articles provide more detail on the differences between the technologies.