Work Breakdown Structure
Communication Protocols
The first subsystem of the project are the network and communication protocols. A problem that the team ran into early on was due to the hardware that we were using, we were unable to access the physical layer on the radio. This required us to create our own virtual layer that we would work with and manipulate as required for the various protocols we would implement. Another large issue that arose when creating the network were part delays. These delays prevented a lot of testing that could have occured and forced the team to focus on other protocols while waiting for parts to come in.
The team had to test communication betwen two sensor nodes, a sensor node and the control node, and routing a message from one sensor node to the second sensor node and ending in the control node. The first and second test were performed at the end of the first semester as our prototypes, which were successful. Our nodes were able to communicate amongst themselves as sensors and send data back to the control node. The final test of routing data around and ending in the control node was also successful and performed very well. The testing had run into some problems with the actual testing aparatus, forcing us to change it from the jumpers we were utilizing to using XCTU and viewing data from that.
User Interface
The next subsystem is the User Interface. The biggest problem that came from the UI is that the screen had to scroll due to the large number of options available. This was easily alleviated with careful coding to ensure the screen scrolled when moving to an option offscreen.
Testing the UI was simple as the user had to scroll the screen up or down and ensure that it was on the correct "page" that it was suppose to scroll to and that if the user moved forward or back "pages" that it would land on the correct one.
Localization
The third subsystem is Localization. This system is used when the configuration option of distance based routing is selected. The biggest problems were the lack of reliable localization methods for our purposes that were cheap. The team began researching localization with signal strength from the radios we were using for the network nodes. This fell through when the client requested a method that was much more accurate. From here the team began working on an image based localization method that we were forced to scrap due to the unreliablility of the pattern recognition code we were using.
Localization testing was easy enough, due to the image based method that we were using. We would take a picture of the "nodes" and upload that to our computer where we would run it through the localization code. The tests were unsuccessful as the program did not recognize our numbered nodes reliably with performance wildly changing based on time of day, lighting conditions, and even the cleanliness of the whiteboard our nodes were placed on.
Machine Learning
The final subsystem is Machine Learning and this was an option early in the life cycle of the project that was rapidly relegated to research purposes due to the lack of data that our network produced. This problem could not be remedied at all with the network the current way it was so the team simply researched it and provided that to the client for possible later expansion of the product.
Testing of machine learning was done at the end of the research phase, with our results bringing a much higher accuracy with fewer parameters used than the reference paper.
Final Integration
Finishing the project up is wrapping everything together and integrating it into one usable control node and several sensor nodes. The problem here was primarily finding a case to secure all of the hardware inside with that being easily solved and the casing manipulated as required to fit everything inside properly.
Testing here was sparse as each subsystem was tested prior and ensured that they have worked properly but the whole system itself passed the tests.