Wi-Fi for embedded Internet of Things applications
The Internet of Things (IoT) is a hot topic these days and for good reason — the market offers a tremendous opportunity to create products that make consumers’ lives easier and will touch many things in our daily life with over 30 billion Internet connected devices expected by 2020.
Think of your home and the electronic equipment that could benefit from being connected to your mobile device or directly to the Internet. Utility meters for water, gas and electricity so you can monitor your usage remotely; security systems that send you a picture when there is an alarm; lighting that can be easily networked, programmed and even turned off remotely; kitchen appliances like dish washers that alert you when there is a leak. Additionally, networked devices in the home offer an opportunity for manufacturers to update software remotely or troubleshoot products prior to sending a technician with tailored customer support and maintenance based on usage data.
Beyond remote access, the IoT provides consumers with intuitive ways to control and interact with their products. Now, through smartphone and tablet apps, manufacturers can deploy a customized user-interface to give end-users easier access to the product.
Wi-Fi is a great option for connecting the IoT given its wide deployment in homes, public places and offices. However, since the majority of IoT devices are based on microcontroller (MCU) architectures, Wi-Fi systems need an architecture change since traditionally Wi-Fi has been paired with microprocessors (MPUs) to handle the complexities.
An MPU-based system is generally dominated by a complex high-level operating system and applications as well as complex hardware. MPU-based systems are well suited for apps involving rich user interfaces, Web content, video and media streaming. MCU-based systems on the other hand, are much less complex and are best suited for very simple data transmissions such as diagnostics and control commands up to simple web information such as weather and electricity pricing which require bytes of data transfer.
Traditional Wi-Fi solutions come with an extremely complex software architecture, which is unthinkable to a typical MCU developer. If we look at the traditional model of Wi-Fi connected to an MPU in Figure 2, you can see that all of the software is residing on a host processor. Significant processing power is necessary for handling packets and running software like the TCP/IP stack. At the bottom-left, you will see that the host is an MCU paired with TI’s SimpleLink Wi-Fi CC3000 WiFi module. The only thing that resides on the MCU is the API, the driver, and the SPI driver. The network software is embedded in the Wi-Fi device, including the TCP/IP stack, Wi-Fi driver and security supplicant. Because the software is embedded, it requires as little as 2 KB of Flash and 251 B of RAM to add Wi-Fi functionality to an MCU-based system, enabling many different host controllers to pair with the CC3000.
Beyond this primary challenge of software complexity, a Wi-Fi solution for MCUs also needs to be simple and reliable. Few MCU-based system developers will have in-house capability for the RF design and regulatory certifications. So having pre-certified RF modules is critical. Additionally, MCU-based products generally have faster time-to-market, so easy development tools and a wide range of example software applications is very important to ensure adding Wi-Fi doesn’t become an obstacle.
The last consideration for Wi-Fi in the IoT is that devices must be easily configured and added to the network. This can be complex for devices without displays or keypads where entering a security key is virtually impossible. Through WiFi activation software, a consumer can easily add devices to their Wi-Fi network using a smartphone, tablet or PC application.
Wi-Fi is not the only wireless connectivity technology option for the IoT – and sometimes not the best one. Wi-Fi will coexist with other technologies including Bluetooth, Bluetooth low energy, ZigBee and more. However, with reduced power modes, MCU-friendly memory requirements, software and support, Wi-Fi can be the ultimate wireless connectivity technology. After all, it is all about making our lives more connected, but also manageable anywhere, anytime – and how better than with Wi-Fi?