By Bryan Bergeron
The promise of intelligent objects — from shoes that tell you not only how many calories you’ve burned but when it’s time for a new pair, to sensor networks in your lawn that tell your sprinkler system exactly when and where to direct water — has been slow in coming. However, it seems like we’re finally there, in the form of the IoT, or the Internet of Things.
As a robotics enthusiast, you’re probably intimately familiar with the three main elements of the IoT: sensors, embedded processors, and communications links. Two additional elements — rarely identified directly but understood — are affordability and miniature form factor. Clunky, expensive hardware just doesn’t cut it when it comes to developing practical IoT systems.
Although bleeding edge micro-IoT is in the hands of the military and deeppocketed corporate R&D shops, you can explore and contribute to the technology because of a tsunami of affordable microcontrollers, miniature power circuits, and MEMS sensors. For example, I’m working on an IoT pill dispenser that tracks when, where, and how many pills are taken. The MEMS sensors are so small that I’m using sensors pre-mounted on breakout boards for the prototypes. When I’m happy with the functionality, I’ll mount the devices directly onto a miniature PCB of my design.
Power density is another factor. I’ve found the tiny LiPo battery packs sold for R/C helicopters and airplanes work well, as long as there is some means to easily and rapidly charge the battery. Scavenging energy from the environment — whether through solar radiation, Wi-Fi and cellular radio signals, body motion, or vibration — is still problematic. The most reliable environmental power source — the sun — isn’t available 24/7.
Powerful, compact, affordable microcontrollers and microprocessors are leading the charge into IoT. Take the Raspberry Pi. For about $30, you get an Internet-ready Linux computer that fits on virtually any robotic platform. For the same price, you can pick up a postage stamp-sized Arduino or Propeller board. I’ve had good experience with the ATMEGA 328-based Femtoduinos that has the same pinout layout (albeit on a smaller scale) as the Arduino Uno. The problem is the board doesn’t have built-in communications.
On the communications front, the established player is the XBee module. While it’s hard to beat for simplicity of setup — especially for a mesh or other network — it’s getting long in the tooth in terms of footprint. There are cheaper, smaller alternatives for point-to-point communications. For example, I’ve had good results with the RFM12B-S2 wireless transceiver. The unit (available through SparkFun for $7) operates in the 434 MHz band. You’ll need to provide one unit with a connection to the Internet.
If you’re using processing and Arduinos, one of the easiest means of getting your system on the Internet is to us an Arduino Wi-Fi shield. If the $80 price tag is too steep for you, then wired Ethernet shields are another option. The merits of wired versus wireless connectivity to the Internet depends on the nature of the things you have on the Internet, as well as your budget.
If you think about it, it’s now possible to create just about any intelligent object you can imagine, or that you’ve heard about. Take the smart refrigerator. It’s no big deal as long as the three elements are available. And, of course, car manufacturers are having a field day with IoT. The DoD is experimenting with smart logistical systems that automatically track assets in real time. I’m sure that someone, somewhere is looking to replace the smartphone with some kind of IoT device that’s more or less permanently associated with the body. I’m not ready to become an IoT device, but I suppose it’s inevitable. SV