Thoughts From the Sensor Applications Symposium

Last week I attended the IEEE Sensor Applications Symposium at Rowan University, an academic conference all about the Internet of Things and sensors. There were presentations on many topics relating to smart sensors, sensor hubs, and different ways to process the data that you collect from these devices. One of the special sessions at the end focused on IEEE standard P21451-1, a standard for how IoT devices can communicate data between each other. This article contains some brief thoughts of how a TV or set-top box would fit into this network. In this standard, sensors are called TIMs and communicate with network nodes, called NCAPS, before connecting to the Internet.

Using TVs as Sensor Hubs

The logo for the Sensor Applications Symposium

A TV or set-top box would be a pragmatic sort of sensor hub, acting as a middleman between various sensors and the cloud. Having sensor hubs allow each sensor to be lower-powered, connecting locally instead of having to implement a full network stack. TVs are devices that expect continuous power, meaning they are less concerned about preserving battery life. They would also expect a stable Internet connection, allowing this data to be uploaded in batches. As this device is expected to stay in a single place, it is able to easily track other devices that exist in the home.

One can do a lot of great data visualization through a large display like a television. One has a large screen, sometimes up to a 4K resolution, to display the results of each connected sensor. If you wanted to look at your sensor data, you can do so without having network latency, allowing data to be read more frequently. As part of the standard, nearby sensors will be able to expose what types of data they provide. This could allow for smart displays to be generated procedurally based on what’s nearby, updating automatically when something new connects.

Fog Computing

Fog computing is a new buzzword, similar to cloud computing. Instead of processing everything in the cloud, processing and storage happens in the end nodes in order to improve efficiency of handling larger data sets. For example, temperature data may be processed and logged in the sensor hub before being sent to the cloud. The sensor processing can be done in the background even while the user is watching a video in the foreground. The hardware in TVs are selected for having high graphical processing and data throughput. NVIDIA has been using their GPUs as a platform for deep learning. The NVIDIA Shield is a powerful gaming console, which has the same kind of hardware that would be needed to process lots of sensor data.

Right now TVs don’t do anything while asleep. Computing applications for inactive devices, like Folding @ Home, allow individuals to run computations for research without the need for a high-performance computer. Instead, the processing is distributed among hundreds of thousands of machines at a minimal cost to each device. (If you haven’t downloaded it, it’s a great way to contribute to Cancer research.)

Folding@Home
Folding@Home

While the app is available on Google Play for phones, it is not available for TVs. However, TVs would be perfect. It could run continually without the need for preserving battery life. There are many applications for how to use this hardware for the many hours when it is not in use. This might increase power consumption, but research groups could offer compensation such as Gridcoin.

A cryptocurrency rewarding people who donate computing time

The TV can also run in the background doing other kinds of tasks for your home. It could run a torrent client, mine cryptocurrencies, or do other long-term tasks that could run whenever the device is not active. The largest obstacle to adopting of these things is around the operating system. Android hasn’t been seen as very common compared to other personal computer platforms (Windows and Mac OSX) and most applications haven’t been designed for high-performance computations.

Software Adoption

IoT devices can connect using a variety of means: serial, Bluetooth, Wi-Fi, or others. A good sensor hub would be able to handle all of these types. Android natively has support for the latest Bluetooth and Wi-Fi standards, although it has not typically had support for wired communication protocols (I2C, SPI, and UART). Android Things has recently brought these APIs into the platform, although they aren’t available for other Android platforms.

Android devices could benefit from having support for these protocols on TVs and phones, using a USB to serial cable. These cables are great tools for debugging microcontrollers on a laptop, and could allow for light-weight communication through your phone. Cross-platform is a big part of this standard, and of IoT in general, meaning any two devices should be able to communicate.

The Shield has several USB ports, for connecting to hard drives, peripherals, or anything else. Adding a serial interface and APIs would allow for more types of applications to be developed, and allow for greater compatibility between Android devices (Android phones & Android Things).

The Raspberry Pi has been seen as a great device for these sensor hubs, due to their communication support and ease of writing Python. Although Android devices may not natively run Python, Java could provide an adequate substitute if there are enough features and support for more devices.

Conclusion

Relevant XKCD comic: https://xkcd.com/927/

The Internet of Things will continue to be a growing industry, with all kinds of devices connecting to the Internet and each other. Many will use their own custom protocols and fitting everything together will be a difficult task. The IEEE standard will allow for greater compatibility and interoperability while establishing a solid foundation for the future of hardware.

As part of this standard, we should think about the role our current devices will play in these networks. Our TVs are a device with a lot of potential but are definitely underutilized given how much power they have. In the Internet of Things, TVs can play an important role as centralized units which read, display, and process all of the data in our home. It would take full advantage of the specifics of a TV or set-top box, and full advantage of the powerful graphical processing hardware that lies inside.

It is up to Google and other OEMs to decide how TVs integrate in our smart homes, and I hope we will see promising news at May’s Google I/O developer conference.

Nick Felker

Nick Felker

Nick Felker is a student Electrical & Computer Engineering student at Rowan University (C/O 2017) and the student IEEE webmaster. When he's not studying, he is a software developer for the web and Android (Felker Tech). He has several open source projects on GitHub (http://github.com/fleker) Devices: Moto G-2013 Moto G-2015, Moto 360, Google ADT-1, Nexus 7-2013 (x2), Lenovo Laptop, Custom Desktop. Although he was an intern at Google, the content of this blog is entirely independent and his own thoughts.

More Posts - Website

Follow Me:
TwitterLinkedInGoogle PlusReddit