Wireless for the Internet of Things Projects

Course Projects

The 2023 Wireless for IoT course culminated in a series of final projects led by individual groups. Each group was challenged to build a new wireless device, experiment with new software for wireless IoT devices, or investigate wireless IoT networks in the real world.

Project List:

WiFi to LoRa

Members: Alicia Land, Jerry Pinto, Martin Salzberg

Although we have only covered one radio mode at a time in classes and labs for the Heltec boards, they have multiple options for radios, so we would like to be able to leverage multiple modes at a time. Inspired by the way smartphones can seamlessly toggle automatically between Wi-Fi and cellular network modes, we will create a way to do the same for Heltec boards toggle between Wi-Fi and LoRa modes. For instance, a smartphone may have Wi-Fi mode enabled, but if it is not in range of a known Wi-Fi network, it will not connect to Wi-Fi and will instead default to cellular service. In a similar manner, if a Heltec board is not connected to a Wi-Fi network, it will default to LoRa mode if it needs a direct connection to another board. There could be a variety of reasons that a board isn’t connected to Wi-Fi, such as being out of range or the Wi-Fi network losing power, so it should be in LoRa mode by default but continuously check whether it can connect to Wi-Fi. If the board is in range of a known network and can connect, it will do so, but if it is disconnected, it will use LoRa instead.

Local Smart Device Control with NFC

Members: Stephen Laming, Alan Gray, Andrew Hunter

Our final project is an NFC based smart device controller that would allow anyone with a compatible smartphone to access and control a designated smart device. Current smart device technology usually requires the user to connect to the device through either bluetooth or wifi. This form of connectivity has two problems: pairing and security. Every user of the smart device currently needs to discover and pair with the device for use. This requires effort and time, but also finding the correct device to connect with can be challenging if a user is surrounded by many devices (connecting to one smart light in a building full of them). Additionally, this type of connectivity allows users who are not physically nearby (could even be outside the building) to still control devices. An NFC based controller would solve both of these problems.

Remote Laundry Detection

Members: James Connors, Brian Christner, Quinn Ferguson

Living in a house with multiple people who share a single laundry room can sometimes get complicated. Our laundry room is in the basement, so we cannot hear when the laundry has completed from our upstairs rooms. This can cause a lot of problems, as when one person is late moving their laundry, it holds up the machines for everyone else in the house as well. So, the idea of our project is to create a system which will make it easier for us to know when our laundry is ready. In this project, we used a Heltec WiFi Kit as a WiFi webserver to host a laundry API site on our local network. Users of our laundry room can sign on to this website, and sign up their phone to receive a notification upon completion of the washer or dryer. After submitting this form, the WiFi kit notifies a raspberry pi over USB to start taking photos of our washer and dryer. Every 30 seconds, the raspberry pi will process images of the washer and dryer, and notify the WiFi kit of the current status. If a user signed up for notifications for a machine that has turned off, the WiFi kit will use the Twilio API to notify the phone number that the machine has completed.

GPS Asset Tracker

Members: Alan Zheng, Victor Xia, Nathan Yu

Asset losses due to theft are a common problem for any company that has assets available for use by the public. Our project implements an asset tracker using the LoRaWAN wireless protocol and GPS. The GPS board is connected to the Heltec Wifi Lora 32 (V3) board via Serial, and the location data is packaged into a payload along with the device ID. The payload is processed through The Things Network(TTN), and stored into a database via the native Storage Integration API available on TTN. The GPS data is visualized via the GeoViews and ttn-storage-api libraries. The data can be visualized by ID, and the location points are ordered by most recent to least recent, with most recent data points being red and least recent data points being blue.

Accumulated Temperature Data Compression

Members: Richard Wang, Coleman Jenkins, Alexander Hails

Imagine a scenario where a remote research station in Antarctica required a temperature sensor to transmit long term readings of outdoor temperature back to the researchers stationed a moderate distance away. In such a scenario, it would be crucial to do this in a manner that would preserve as much of the limited power available as possible, yet maintain the range so that the research team would not have to brave the harsh temperatures getting close to the sensor. A great protocol for this is LoRa because of its inherent long range and low power. But, a problem is that if we were to transmit every collected temperature value, we would waste power on the overhead required. So to minimize bandwidth, we will implement data compression on the LoRa device, send multiple temperature readings in one packet, and decompress them on the receiving end. And to make this interpretable, we will implement a display for the collected data.

[github]

Third Party Bus Tracking

Members: Nick Cooney, Justin Cary, Stephen Klem

Students at the University of Virginia (UVA) and members of the greater Charlottesville community often rely on the University Transit Service (UTS) and Charlottesville Area Transit (CAT) for transportation to and from class, work, grocery stores, etc. One complaint users frequently have with the UTS and CAT systems is the poor user experience provided by their respective route tracking applications. Specifically, both applications are miraculously inconsistent in the quality of their arrival time predictions. Naturally, the semi-stochastic nature of traffic in the greater Charlottesville area makes it inordinately difficult to predict exact arrival times. To address this issue, this project aims to enable Charlottesville citizens and students alike to make informed decisions about their potential transit usage by tracking individual bus locations through the Internet of Things (IoT). The primary IoT protocol handling communication between buses and users is LoRaWAN. By taking advantage of GPS technology, LoRaWAN devices deployed on each bus can send location data to nearby LoRa gateways for upload to an online server. That location data can then be accessed by a client application to allow users to view current bus locations, and make informed decision about their potential transit usage. Future work could utilize machine learning to generate arrival time predictions based on this location data and traffic patterns from other data collection methods.

[github]

Animal Location Tracking

Members: Francesca Pirozzoli, Kevin Bruzon, Serhii Maltsev

Nowadays, many biologists all around the world are trying to preserve endangered species of animals. Therefore, it is extremely important to track the location of these animals to prevent them from being stolen. Moreover, some farmers need a way to keep track of the location of their animals that can get lost or stolen. This problem requires an inexpensive solution that can work over a long distance and would not require a lot of energy to transmit the signal.

The solution we propose is to integrate a GPS radio with the Heltec LoRa board for animal tracking. The LoRa GPS is attached to animals to help track and monitor their movement at all times. The idea is that when the device reports a location out of a certain allowed range, an alert is sent to TTN and then reported to the server parsing the data from the broker.

Using Lora+GPS is an ideal protocol for this task because it allows for long-range, low-power connections, enabling the GPS readings to be transmitted quickly and reliably to the TTN. Furthermore, this protocol is well-suited for applications such as asset tracking, making it a great choice for our needs. Also, unlike other GPS devices, the LoRa GPS enables data transmission at a slower rate over long ranges. This makes the LoRa GPS an ideal tracker for battery-operated applications.

One of the advantages of using Lora+GPS is that it is a cost-effective solution compared to other wireless technologies. Additionally, it provides users with good scalability and flexibility, allowing them to customize the range and power of the connection.

On the other hand, one of the potential drawbacks of using this protocol is that it is relatively new technology, which may present some challenges in terms of reliability. Additionally, the size of the hardware may prove inconvenient to install on fur or skin of the animal.

NFC Classroom Applications

Members: Hunter Carlton, Ishan Koroth, Christopher Carrillo

Our final project will be an implementation of an NFC tag system, using our NRF boards. Using our system, users will be able to use their smartphones to interact with our device through Near Field Communication and exchange a small amount of data between their devices and ours. We feel that we can effectively use this system as both a logistical and educational tool in class. On any given class day, our device, which could be scanned by students as they entered a classroom, would serve as an automated attendance (check-in) system, additionally providing the users’ devices with the URL link to the class’s pre-class mini quiz (should there be one that day). Additionally, if our system were duplicated, it could serve as hands-on, modular education system in the classroom. If used in this way, multiple “stations” could be set up around a classroom for an in-class activity, and groups of students could progress through the stations, with each device taking their phone to a webpage dedicated to teaching a specific sub-topic of the day’s material (in a similar way that patrons of a museum might progress through an exhibit and learn information at every stop using an audio-tour device). Finally, along with the following functionalities, we have also incorporated what we learned in class regarding BLE technology like implementing a peripheral-central system that can be used to keep track of NFC activity and which specific URL is being notified to the phone. Not only would this be making use of NFC technology in a productive way, but it would also increase engagement and interest in the class as students interact with NFC technology and learn the topics taught in class in a very unique way.

[github]

LoRa + GPS

Members: Gabriele Bright, Stephanie Skahen, Zach King, Kelsen Donastien

Item tracking using BLE (ex. Airtag, Tile) is becoming more and more commonplace. However, it only works when there is an abundance of other BLE devices that packets can get routed through due to the short range of bluetooth signal. Rural areas lack this abundance, but farmers and ranchers could still desire the use of tracking devices, especially for keeping up with free range animals. However, the lack of BLE reception leaves two potential solutions: they can utilize a 4G or 5G connection to upload GPS information to a server or utilize a LoRaWAN network with LoRa devices and a broker, like The Things Network, to cache the data. The first option can lead to problems for residents of rural areas – currently, high speed data connectivity is not widespread throughout these areas. For low-data needs, especially when it comes to GPS data, integrating LoRaWAN into these areas would be a cheap, simple way to give these people access to important information across long distances.

Our project involves the use of LoRa devices that send GPS data to The Things Network, allowing for this data to be received and processed by another machine via the Internet. This design would have many uses for those without stable non-LoRaWAN connection. For example, LoRa devices could be attached to cattle before they are released into large grazing areas. Because the LoRa devices continually send GPS data to TTN, a farmer could monitor the movement of their herd using an application on their personal machine (with Internet connection) by pulling this data from TTN, parsing it, and plotting this data onto a map. Of course farmers are not simply limited to just livestock theft or loss of heavy equipment machinery is a consistent concern for farmers as they comprehend how costly loss of the equipment itself in addition to the loss of productivity by not being able to make use of the tools in the field. This technology could be especially valuable if a farmer has a predetermined area or space they occupy and move their equipment in a known pattern. In the case of cattle being able to monitor grazing habits over time and shift position can be useful.

[github]

Physical Interference

Members: Sebastian Segura, Zachary Nahorney, Tahmid Bhuiyan

Our research question investigates the physical obstructions that significantly affect the loss of signal strength between two antennas by identifying materials that can mitigate this signal loss. By conducting this research, we hope to facilitate stronger connections between devices and reduce costs for wireless companies. These companies can then optimize their networking systems by implementing the most suitable protocol for their specific use cases from the outset, rather than continually substituting existing radio technologies.

Our objective is to identify that minimizes signal strength degradation over time. We plan to test protocol transmissions against various materials, such as wood, acrylic, and metal, to determine which combinations of materials and protocols maintain the strongest signal strength upon reception by an end device. To measure the received signal strength indicator (RSSI) values, we will construct boxes from these materials and place the receiver inside. With these values, we can get an estimate of if buildings were primarily constructed out of each material, which one would degrade the signal the least. Using these values, we can estimate which material, if primarily used in building construction, would cause the least signal degradation.

4G Coverage on Grounds

Members: Phyl Peng, Declan Brady, Angelo Bechtold

Long range signal transmission can have blind spots well within their proposed range–as we have seen for LoRa and BLE, where the theoretical range is a lot shorter or is significantly reduced due to the objects in the environment. LoRa has a proposed range of 3 miles in urban areas, but as shown in the results of the measurements in this class, it can have certain blind spots well within the 3 mile range, especially in underground settings such as basements. 4G/5G are important means of communication on Grounds, and they are relied upon for real time communication in case WiFi fails. Yet, it is sometimes reported that the 4G/5G coverage on Grounds is not ideal, especially in terms of underground environments.The Engineering School has a lot of buildings where the basements are environments where important experiments take place. Having robust and redundant communication is important for the safety of both the faculty, staff, students, and their work. Hence, we propose to measure the 4G/5G coverage in the E-School and around grounds. We will use various internet speed measurement apps on our phones to collect the data at specific geographic locations, indoors and outdoors. Using this data we can then create heatmaps for both indoor and outdoor settings, exploring the differences and enlightening the community to areas of low coverage.

[Outdoor 4G coverage map] [Indoor 4G coverage map]

MuseumGuide

Members: Anish Mandalika, Cal Hartzell, Jacob Rice

Our project solves the problems faced by museums and other institutions when trying to present patrons with smartphone-based experiences tied to specific pieces/displays. QR codes are unattractive in appearance and often unruly to scan for patrons, cannot be changed without physically replacing them, and offer no way of tracking the popularity of specific pieces/displays. NFC tags, while more attractive and easier to scan for patrons, cannot be changed without physically approaching each tag and also offer no way of tracking the popularity of specific pieces/displays. Our solution utilizes the nRF52840DK board and its NFC and BLE capabilities, allowing museums and other institutions to change the NFC payload presented to patrons, change the BLE device name, and view the number of times a specific piece/display’s corresponding NFC endpoint has been scanned, by connecting to the board over BLE and reading/writing specific characteristics. We also created a simple python program which can list available nearby devices, modify device BLE names and NFC payload, and plot the amount of NFC scans for all nearby devices. Our project solves the problems faced by museums and other institutions when trying to present patrons with smartphone-based experiences tied to specific pieces/displays. QR codes are unattractive in appearance and often unruly to scan for patrons, cannot be changed without physically replacing them, and offer no way of tracking the popularity of specific pieces/displays. NFC tags, while more attractive and easier to scan for patrons, cannot be changed without physically approaching each tag and also offer no way of tracking the popularity of specific pieces/displays. Our solution utilizes the nRF52840DK board and its NFC and BLE capabilities, allowing museums and other institutions to change the NFC payload presented to patrons, change the BLE device name, and view the number of times a specific piece/display’s corresponding NFC endpoint has been scanned, by connecting to the board over BLE and reading/writing specific characteristics. We also created a simple python program which can list available nearby devices, modify device BLE names and NFC payload, and plot the amount of NFC scans for all nearby devices.

[github]

NFC Weather Station

Members: Justin Chen, Sriram Darbha, Ethan Hanover

The project we have implemented is a weather station that will use an NFC sensor and phone companion app to visualize sensor (in this case, temperature) data at a certain location and configure the station. Our motivation for this project is to have a compact, accurate, and easy-to-use method of measuring local environmental data in real-time. For example, building managers who want to monitor the temperature in different areas to make repairs or farmers who want to monitor data in their fields can use this app to customize and configure the weather station to their needs. Every day people like homeowners can also use the weather station to keep track of relevant weather data in their vicinity. The project currently consists of a sample of temperature data, and by using the NFC tag, the board can send the payload of data to the phone application. Within the application, the data is formatted for user-friendliness, displaying the current sample rate, current temperature, and a graph of the data. The user has the ability to change the temperature sampling rate within the application, and when held up to the NFC tag, can change the sample rate within the board to collect temperatures based on the user’s preference. Since our motivation was to create an energy-efficient, user-friendly weather station with bi-directional communication, we ensured that all features/data within the board and application were as efficient as possible. In the future, we would like to implement more sensors so users can track more holistic data about the environment.

Parking Usage Tracker

Members: Josh Lee, Abel Ressom, James Zhu

For our final project idea, we have settled on using the Heltec LoRa board with a GPS to implement a smart parking system for cities. This was inspired by a combination of one of Tysons Corner Center’s parking garages which uses an LED light fixture arrangement to set statuses for customers to park, and, to solve the scarce street parking situation in the Cville area. In our use case, the overall idea is to allow users to subscribe to a topic which will provide information regarding which parking spots are taken and which are available. In practice, this would reduce the time a user has to spend driving around the busy streets of a city and reduce the chance of car accidents occurring in parking lots — which accounts for 20% of all car accidents. We implemented the MQTT network protocol: broker, DUT and inspector from Assignment#4 to process the information and create a structure to hold the coordinates as well as the status of the parking spots. Specifically, the broker acts as the access point, the DUT handles storing the coordinates/status of the spots, and the inspector handles the button pressing and sending of coordinates.



Motion Sensing Animal Tracking

Members: JC Crawley, Alex Yang, Roy Jad

Our project’s goal was to create a motion sensor activated camera to detect animals. The camera takes a photo before saving it to a microSD card and sending it to a web server on a connected network using Wi-Fi. It’s a cheap option that automates the task of taking photos at home for viewing.

Our finished product is able to successfully receive input from the PIR sensor, take a photo, and upload that photo to the web server (given enough time). However, we had trouble calibrating the PIR sensor, so it’s inconsistent in actually sending the signals. Additionally, we found the camera was cut off before transmitting an entire image, so we changed the image quality and added an increased delay after the photo was taken. We also had difficulty working with the system in general because we had to use different hardware setups to upload code, view the serial output, and actually run the system with the sensor. This made it difficult to debug specific issues we came across. These are the materials in our system:

LoRa Enabled Robotic Mowing

Members: Justin Dubuque, Robbie Owens, Stephen Johnson

Commercial landscaping is both an expensive and polluting activity that may be vastly improved with self-driving, battery-powered lawnmowers. We believe that by combining GPS and LoRa technology, it is possible to monitor and manage an energy-efficient network of autonomous mowers. GPS may be used to periodically check the location of the devices and map out the mower’s progress, and LoRa may be used to facilitate communication between the devices and the central location over long distances. With this approach, corporations with large plots of land may view what land has been mowed and how much battery each mower has, and they may send commands to the devices to return to base for charging when their battery levels are low.

The End Device is a Heltec Wifi-LoRa V3 board which pulls GPS information from a GT-U7 GPS module via Heltec pins. The Heltec LoRa transmitter sends a 24 Byte packet every 5 seconds communicating longitude, latitude, speed and battery level. The battery level is simulated in code on the Heltec board trivially. The Rice Hall LoRa gateway forwards these packets to a locally hosted lightweight flask server running an MQTT client. This communication is facilitated via an MQTT broker that exists on the Rice Hall Gateway. Finally, a React UI component with google maps integration displays the coordinate of the device and the speed with help from a flask web server. There is a circular shaded region around the latest coordinates to estimate the maximum remaining range for the lawn mower system.

[github]

LoRa Messaging

Members: William Bigger, Cynthia Wang, Jiafu Li

We built a Python interface that can control LoRa and can send plaintext messages that are longer than a typical LoRa packet. Since a regular LoRa packet can only contain up to 256 bytes of payload. Furthermore, it is useful for file transmission in remote places without much infrastructures such as wi-fi available.

Reservation Queue for Gym Equipment

Members: Connor Goodall, Adam Kippenhan, Boheng Mu

Our project is an example of a solution for reserving gym equipment. This allows gym-goers to have the freedom to use other equipment in the gym while having the comfort of knowing that their spot in line to use their desired machine is secure. We designed this system using Near-field communication (NFC), Bluetooth Low Energy (BLE) and an accompanying custom Android app designed for this project. To use the system, the user scans the NFC tag on the piece of equipment they want to reserve. The NFC tag provides information to the user’s device, informing them that they have joined the reservation queue and allowing them to form a BLE connection. The gym equipment has a timer that times each user’s time on the equipment for a configurable amount of time (for demonstration purposes we have chosen 60 seconds). When each user moves up in the queue, they are notified so that they can be made aware as they reach the top of the queue. The app informs the user of their position in the queue and how much time they have left before they reach the top of the queue and their time slot for the equipment becomes available. This system will allow users to make more efficient use of their time in the gym and focus more on their workout instead of waiting for a certain piece of equipment to become available.

NFC Pet Tag with BLE

Members: Randall Bingaman, YJ Cho, Raymond Wen

Pets are an integral part of people’s lives, and it’s incredibly stressful when they get lost. Our proposed project is to create a NFC Pet Tag with BLE. Our motivation behind this project was to create an easier way for pet owners to tag, keep track, and be alerted for when their pets are about to leave. Often pets can get loose and it becomes an enormous challenge to find them and get them back. We would allow pet owners to read and write a profile for their pets (containing the owner name, phone number, address, pet name) on their NFC tags, so that people can scan them if they got lost and learn pertinent information about the pet. We would also create an alert system (which we model with a blinking light) to alert the owner if the pet left a certain range based on the RSSI. Additionally, we have created a system where the owner can simply tap the tag with their mobile device to get connected to BLE.

[github]