This week has set me behind a lot in my intended schedule as mentioned in the Gantt chart. I had intended to have Django all up and running on the RPi, but I have yet to do that after falling sick this past week. Due to my work being stagnant, I have adjusted my schedule and have laid it out as the following: By the start of fall break, I intend to download Django and all other software needed onto the Raspberry Pi. I also intend to create a dummy web server with the finalized design that has no actual functioning components yet but looks how we want it to look. I have read up on a lot of documentation regarding Django and what might end up becoming future challenges for me, so I have taken note of that. I have decided that everything related to the web application will be written in Python for simplicity. After recovering, I am hoping to catch up to my Gantt chart so that my component is completed on time. Unfortunately, this might lead to some work being done during the break.
Arden’s Status Report for 10/01
This week I focused on narrowing down the design of the wireless sensor network. After having spoken to Prof. Mukherjee, we pivoted to a time-division multiplexing approach rather than an asynchronous medium access control method to optimize power consumption even further. Furthermore, to reduce maintenance cost, we want our network to be resilient to link failures (e.g. if multipath effects caused by inclement weather degrades the quality of the channel between two nodes). Since a forest fire is not a frequent occurrence, and since the time before spreading to an open fire is 60 minutes, we would like to detect node failures (or critical link failure) within a timeframe of 15-30 minutes of the actual event. After having read a paper on TDM MAC for wireless sensor networks by Koutsonikolas and Salonidis, I decided to base our forest fire WSN’s MAC algorithm off their approach. Now, we have a good method for ensuring that sensor data can be transmitted and forwarded across the network from any node in the mesh network to the gateway. The clock synchronization method described in the paper enables each node to correct their clock drift in regular intervals, and to match up to a global transmission and reception schedule. I also soldered pin headers to the gas sensor and plan to test whether it can detect a match being lit next to it by interfacing it with an STM32 via SPI by Monday.
Team’s Status Report for 10/01
This past week our team finalized our design for our project. We got our Raspberry Pi and set it up and ordered our STM32’s for each of our nodes. We mainly spent the week figuring out components of our design and working on the design presentation. One of the main tasks completed this week was looking into routing and networking protocols to use. We settled on a combination of spanning tree protocol as a MAC protocol, and time-division to ensure that nodes are transmitting to listening nodes (not in low-power mode). We’re basing our protocol on Koutsonikolas and Salonidis’s paper on TDM MAC Protocol Design and Implementation for Wireless Mesh Networks. However, we’re simplifying the node TX/RX scheduling, and have replaced Dijkstra’s algorithm for creating a tree out of the mesh network to using STP to create a tree, and then using source-routing from the gateway to route packets to the nodes. We’re also currently working on testing the VOC sensor and the temperature sensor to determine whether they can detect the presence of lit match (we will demo the sensor network with this method). We also now have our Raspberry Pi setup and are able to ssh into it to download any software necessary. We are hoping to have the materials we ordered soon to start testing and working on implementation.
Karen’s Status Report for 10/01
After talking with Arden, we came up with a plan to have nodes operate on a schedule where they are ‘awake’ for a certain period, then ‘sleeping’ for a certain period. While it is awake, it is listening for a child node to transmit data. Once that happens, it takes a sensor reading and adds it to the received data. If it doesn’t receive anything by the end of its awake period, it will take a sensor reading. It will then send that data to the parent node. After the awake period, it will enter a sleep period where it is put in standby or shutdown mode. We can set a periodic wakeup using the RTC to wake up the node after a certain period of time. I have been busier than expected with classwork so I haven’t had time to look into the synchronization algorithm Arden researched. I will need to catch up this week by looking into how the algorithm calculates the clock offset, and if it’s possible to make sure all the nodes are on at the same time to synchronize the clocks. Once we get the STM32s we ordered I will try putting one into different low power modes and waking it up using the RTC.
Ankita’s Status Report for 10/01
This past week has been really busy for me with other classes, so I haven’t done as much as I set out to do and am planning on adjusting my next week’s schedule accordingly. I got the Raspberry Pi 4 from the inventory and have been trying to find the best software for web application development to download. After doing lots of research, I decided on using Django as there are lots of tutorials/references as well as an easier learning curve. I wanted to choose a platform with easy management and this seems to be the best option. I also met with Professor Mukherjee regarding the issues I was having with the Raspberry Pi; now I am able to ssh into the Pi and am planning to download any software that our team needs onto the Pi. I did draw out a design of what the ideal interface should look like, with a map of all the nodes and a system that sends text alerts to the general public regarding the location of a fire. The rest of the time I have been working on the design presentation slidedeck. For the upcoming week, I am hoping to get a simple version of a web application up and running before adding special features.
Karen’s Status Report for 9/24
I spent the beginning of the week finishing and preparing for the proposal presentation. After speaking with Professor Mukherjee and our TA Adnan about pivoting our project, I started researching ways to lower power consumption in order to make different “power modes” for our nodes based on how much power is left in the batteries. It seems the main considerations will be how long we want the wake-up time to be, what peripherals we plan to use to wake up the node, and whether or not we want to preserve registers and SRAM for choosing which low power mode to use. The STOP modes are in the middle of balancing power consumption with wake-up time, so it might be good to use one or more of the STOP modes when the system is first starting to get low on battery. Which STOP mode is best will depend on how we want to wake up the node. I will have to talk with Arden about whether the networking will require certain peripherals active even when the node is in a low power mode. For even lower power, we could potentially use standby mode. This has a longer wake-up time, will restart the program, and turn off all peripherals, but the trade-offs may be worth it if power is critically low. I am on track to start designing the different power modes for the nodes this upcoming week.
Arden’s Status Report for 9/24
Due to the pivot to a new project idea, we have only had a few days to plan out the design of this new idea: WSN for early wildfire detection. Nevertheless, I have been researching medium-access protocols that we could use to minimize power in the WSN. The most promising one would be an asynchronous B-MAC protocol where the sender would have some notion of the designated receiver’s wakeup period, allowing it to send a much slower preamble. The preamble would ensure that the receiver and the transmitter are in the “awake” state before the actual sensor data is sent. However, this would mean that the sensor node cannot be fully turned off during the off state, as it would still need to receive the preamble. Fortunately, the STM32 has a low-power mode where UART is still enabled, so the board could still receive data from the LoRa transceiver in this lower power state. Conversely, we could implement a synchronous MAC protocol (much like TDMA) which would allow the STM32 to go into an even lower power state mode, but this requires regular beacons to account for RTC clock drift among the sensor nodes, which sounds much trickier to implement. I do believe we are behind because we chose an idea so late, but I believe we can catchup promptly by the end of next week with other teams. My goal is to get LoRa communication up and running between a pair of STM nodes, and finalize the MAC protocol design.
Ankita’s Status Report for 9/24
Since we have just pivoted to a new project, I have spent the last few days researching how to develop a web application. As a group we have decided to use a RPi to host the web application so I have been doing some personal research on how to set that up. I think that the best option to host the web application is to use Heroku so I have been looking into using that. For simplicity and convenience, the web application’s code that I will be writing will all be in Python. I have also been drawing out designs of what the web application should actually look like. I know that I want to have a graphic that looks like a heat map that will change colors as “fire” is detected at a specific node. I am planning on creating a sample web application just to familiarize myself with the platform in the upcoming week as well as coming up with a drawn out design of what the desired web application should look like. So far, with our adjusted schedule, I am on track and will discuss with staff about ordering a RPi in the upcoming week.
Team’s Status Report for 9/24
After realizing the flaws in the project proposal for our plant soil pH maintenance, our team decided to pivot into a different project. This week we focused on coming up with a new project and figuring out the details of what we wanted to accomplish. We ended up settling on the idea of building a wireless sensor network that is used to detect forest fires. We drafted a mock project proposal with our idea with our initial design. We met with Professor Mukherjee and our TA Adnan to present our idea. As a group, we have decided to start working on researching our parts of the project separately and in depth so that we can get a good sense of what our design should be. Since we are starting a new project a month into the semester, we are working efficiently to research project specs (Proposal).
Introduction and Project Summary
Our project is aimed to create a system to quickly detect and notify where these forest fires are occurring. Because forest fires are becoming a major problem in places like California, we are trying to create a system that could quickly notify the public of the fire’s location. We want this system to be low power and time-efficient. We plan to implement a wireless sensor network with multiple nodes where we are able to transmit amongst the nodes where the fire is happening. This node’s (where the fire is “set off”) location will be displayed on a web application. With the resources from this course, we will obviously not be testing it on a large scale, but designing it such that it can be scaled as needed.
We ended up changing our project, this was our previous project idea:
Our project is aimed to create the optimal environment for growing healthy plants, more specifically plants used for medicinal purposes. The target audience for our project is pharmaceutical botanists who farm medicinal plants on a large scale. When growing plants for medicinal purposes, it’s vital that the plants have the appropriate soil pH and soil moisture and that those attributes are being constantly monitored. We plan to implement a system that gathers soil samples from a plant and measures its pH and moisture using the appropriate sensors. The data that is read from the sensor will trigger an additional system to mix a solution that is pumped into the soil to adjust the pH to the optimal level. We want our system to be something that can be scaled up so pharmaceutical botanists will be able to apply this to multiple plants.