Last week, I made major progress on the website and Adafruit Feather code. The website has had a design overhaul to make it easier on the eyes. First, I got rid of the large navbar at the top because it was overlapping over the air quality popups and overall reducing the map area of the website.

Second, I designed the air quality point popup to be much more useful. The old one was quite rudimentary. The new one contains all of the data collected by the bicycle, a link to an educational resource, and a disclaimer. It has “tags” for data age and the source of the data.

It is very verbose though, so we may have to downsize a bit. The AQI is calculated by the official formula provided by the US government, and the value displayed and used for AQI category is the maximum of the PM2.5 AQI and PM10 AQI. Third, the map displays the data points differently depending on the zoom distance of the map. It only shows specific AQI values when it zooms in, otherwise it is colored dots. This is done to anticipate data that will be close together, as our goal is fine grained air quality mapping. (All of the dots are fake data)

The frontend is dynamic, it queries the database every 30 seconds for new data and displays it on the website. Data age values are also adjusted dynamically and updated while the website is open. The backend is robust, it will show data even when some fields are lost in transmission. Lost fields are denoted as ‘N/A’ on the website. This is anticipating dropped packets, and the fact that our packets are sent in chunks.

Finally, I worked on integrating the Adafruit Feather with the Raspberry Pi. It acts as a slave, and when it receives data, it sends it over LoRaWAN. On the Raspberry Pi side, I wrote a script to send a measurement in 5 chunks (to minimize packet size). Each chunk is identifiable by the time value, which is unique to a packet. These individually update a single database entry one at a time indexed by the time value.

Today, we tested end-to-end communications functionality, and it worked! Of course, there are probably bugs we need to sort out, but we should be good for Interim demo.

Is your progress on schedule or behind? If you are behind, what actions will be
taken to catch up to the project schedule?

My progress is on schedule. The website is basically done. Anything else we do are bug fixes, and anything to add is just for fun or for better user experience.

What deliverables do you hope to complete in the next week?

I’d like to help the team test the visor on bike, and create visuals for the interim demo.


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *