Team Status Report for 12/10

This week has been primarily centered around debugging for everyone. There were some flaws in the network, mostly caused by using the usb port of a laptop to power the nodes. Current spikes from the power supply caused unexpected behavior from the transceivers, and we had a lot less transmission issues when we started using batteries instead. We are thankful that Adnan suggested that we test our network with batteries. Furthermore, some acknowledgement schemes had timing flaws, which stemmed from timer-interrupts getting blocked in each STM, leading to variable timing, and unproducible bugs. It turned out that the JSON file was not writing from the network correctly so that was adjusted as well. The graph needed to be parsed in an alternate way. We have been working on getting a bunch of tests running as well as getting a video for the demo. We have decided to delay testing power consumption until after the demo for convenience and grappling with any final exams or projects people might be preparing for.

Team Status Report for 12/03

Since the last status report, we focused mainly on integration amongst all of our individual parts. The web application now works with whatever data is provided to it via the json file generated by our network code. It is able to show all the links that are being used by the Spanning Tree Protocol and indicate what nodes are “caught on fire.” All the temperature sensors have been added to each of the nodes, so all the nodes are now completely constructed. The main bottleneck has been actually getting all eight nodes in the network to actually work. We are having issues with the packets communicating with one another. We are getting many errors and bugs related to transmissions between the nodes and are unsure of the origin of the errors. A lot of it seems to be timing issues and issues with retransmitting packets. We were having issues with testing the entire topology so we ended up paring it down to only four nodes to get that working reliably before scaling back up. Other than debugging, we have been working on our final presentation and prepping information that would need to be included in our final paper as well.

Rescoping: 

There are a few things that are being rescoped in the context of our project. When we are doing our schedule distribution phase, we are assuming a certain amount of packet losses. So in the fixed time span from our Phase 3/Scheduling Phase to our Phase 4/Data Phase, we are planning on assuming that there are N packet errors only that can occur in that time frame. In addition, the web application isn’t going to be automatically reloaded every time the JSON file contains new data. The web application will be manually reloaded by a member of the team. We have also removed NTP from our protocols because we would not have finished that in one semester and would have taken much longer time.



Team’s Status Report for 11/19

This week we had further code reviews to familiarize each other with every individual member’s code, as integration between individual parts is starting. We met with the professor and TA about how we would reset all the nodes in the network and how to approach that. Through our discussions, we agreed to synchronize all nodes at the onset by resetting them all at once. If a node were to drop offline, a wildland forest fighter would be able to bring the node online (after having repaired it) at a specific time interval with a 3-5 second margin. We also discussed concerns about integrating our individual parts of the project. The schedule for each of the nodes has been created and includes the receiving and transmitting nodes as well as the order with which the nodes receive the schedule. Essentially, phase 3 of the networking protocol stack has been completed, and the RX/TX schedule is now transmitted throughout the WSN. We are able to synchronize time using a hard-coded time value, that each node’s internal clock will reach simultaneously because they were all reset at the same time. Hence, each node will begin executing the schedule (Phase 4) at the same time. The code for nodes to execute a given schedule is still in progress. Collectively, we hope to test our entire protocol stack on all 8 sensor nodes and the GW running on the RPI by the end of next week.

Team’s Status Report for 11/12

As a team, we had our interim demos this past week and from those demos, we realized what needs to be worked on more and what needs to be completed as soon as possible to have a good final demo. As a lot of individual parts have come to a resting point (testing the temperature sensors, the web application, and some of the protocol stack). We decided to have a code-review session where we all go over our code to make sure we are all on the same page, so that we can develop in parallel. This mainly resulted in us going over the network code as it is due time for all members to work on the network. There have been some changes to the web application to get it ready and set up for network integration. Next week we will be working on getting the output of the network (which node is detecting a fire) to feed data into the web application. There are some tweaks that will need to be made when the time comes for that, namely, porting code from the STM platform to the RPI platform, and using an underlying UART library on the RPI to interface with the LORA transceiver. The RX/TX schedule is being designed and shall be fully created and implemented this coming week. 

Team’s Status Report for 11/05

As a team we decided to try to finish as much as possible to show our working parts of the project in the interim demo. We met twice outside of class time to work on our respective parts of the project. We built five nodes and powered them with a 9V barrel jack and created a reset button that resets all the boards when pressed to make testing the networking with many nodes  easier. We also implemented Spanning Tree Protocol (STP), the first phase of our routing algorithm, as well as LSA (replicated on a node instead of on the RPi). In order to test the topology, we gathered logs over UART from 4 nodes, and checked that a line and fully-connected topology were reduced to a line and star topology, respectively. In a separate program, we got a node to use timer interrupts to time taking a measurement from the temperature sensor and go into standby mode. The web application was finished as an individual part of the project and is waiting until the remaining of the project is done to be fully integrated. The expectation is that the network will be the focus for all of us in the remaining weeks.

Team’s Status Report for 10/29

This week, we got multiple nodes to communicate with each other. Since some of the LoRa transceivers were from previous projects, we tested all the transceivers and found that two were broken. We have ordered replacements for the broken transceivers. We have also started programming timer interrupts for timing STP and putting the nodes into low power modes. We are planning to have the STP protocol done soon, so that the scheduling and other elements of our network can be completed. The web application is still in progress, but more focus is being made to the network at the moment.

Team’s Status Report for 10/08

This week we had our design presentation and we got a good amount of feedback on it. From the presentation, we learned that we need to specify certain aspects of our design more clearly in the design document. For example, when we consider “scaling up” our project, we have to decide which part is actually realistically scalable. As a team, we think that our routing protocol and the node architecture can definitely be expanded if this project was deployed in a real world setting. We met as a team on 10/08 to review what needed to be done for the design document and each of our individual statuses. We learned that we had actually received two packages containing our parts and will pick them up on Monday to start actually constructing the nodes. Some of our work has been delayed due to personal conflicts, but we are planning on catching up to our schedule in the upcoming weeks.

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. 



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).