Using Raspberry Pi for IoT development

 

 The Internet of Things (IoT) has become a much talked about subject and is forecast to have a major influence on our lives whether at home or work. Connecting devices, also called edge nodes, to the Internet through a gateway to transfer data to a cloud-based server promises to give us access to a host of new applications and new ways to pay for products based on usage instead of outright purchase.

However, product developers need to move quickly in order to gain first-mover advantage. For engineers faced with delivering new designs the task ahead is daunting. Many are rethinking the way they go about an embedded development.

 

Figure 1: Small board computers, such as Raspberry Pi, are gaining popularity as time and cost efficient ways of bringing a design to market quickly.

 

With extensive I/O and connectivity options, using an open source Linux distribution, and with several different models to choose from, Raspberry Pi is an ideal platform on which to base your IoT development.

For many low and medium volume designs, the bill of materials (BOM) and other development non-recoverable expenses (NRE) of creating a dedicated embedded processor board are extremely high, so being able to base your design on a well proven and trusted board that has a plethora of add-on modules such as LCD touch screens, GPIO extension boards and open-source software is both cost and development time efficient. For higher volume designs the Raspberry Pi Compute development kit provides an innovative and even more cost effective way of basing your design on the Raspberry Pi Compute module and, once developed, creating your own custom interface board. For IoT designs this is even more relevant since for IoT to work connectivity is vital, and typically that means wireless. Wireless communication is regulated; so discrete designs need certification further pushing up BOM and NRE costs. Whatever wireless connectivity your Raspberry Pi design needs, there will be a number of pre-certified boards or modules available.

Typically, gateway applications will require both long-distance communications for connecting to cloud services, and short range connectivity for talking to edge nodes such as sensors etc. Use of Wi-Fi or cellular networks for connecting to the cloud are ideal not forgetting that, if an Ethernet network is available, the Raspberry Model B and B+ boards have a 10/100 BaseT RJ45 port.  An example of an extremely low-cost and miniature Wi-Fi adapter is the Edimax 2.4 GHz USB2.0 wireless adapter. This popular low power USB device provides up to 150 Mb/s 802.11b/g/n communication and is quickly configured through the command line.

Should your IoT design be portable or operate where no Wi-Fi or wired connectivity then a cellular network connection would be necessary and the SparqEE GSM Cellular module and its associated Raspberry Pi adapter shield board are ideal.

 

Figure 2: SparqEE helps you to easily get your data from your device, through the Cloud, and back out to your smartphone or computer

 

Edge nodes typically use the lower power short-range ZigBee and Bluetooth communication profiles. Using the latest Bluetooth low energy profile, Bluetooth 4.0, the compact Bluegiga USB adapter is perfect. For some industrial-based IoT designs the use of the sub GHz ISM frequency bands are popular for which the Raspberry Pi-ready ERA-Connect USB adapter is a good choice.