Kanvi’s Status Report 4/30

The batteries work with the voltage regulators!! It was very exciting to see our modules work independently, not plugged into a power source. I had some trouble with MQTT connectivity on all of the modules during testing so I will be working with Neville to resolve this before our demo video. I also added LEDs to the modules for testing and demonstration purposes – now we have red, yellow, and green LEDs that flash during different phases of the code running (like when wifi is connecting, when MQTT connections are being made, data is being collected by the sensor, and data is being sent). This week, a lot of time went to practicing my presentation and learning about other group’s projects – and using this as a learning opportunity for how to make our results presentable for the final demo. Super excited to turn in our poster tomorrow, take our video this week, and write the final paper.

Kanvi’s Status Report 4/10

This week was a super hard one for me because of S’n’S Carnival show preparations/performances/take down so I did not have that much time to work on our project. I made a plan for before class: to finish building the third module that was going a little haywire last week and then set it up to work with the other two sensors. I will flash the code on to it for our in-person demo tomorrow. My goal for the next two days is to update the timing in the code so that all of the readings can line up and send data at the same time./

Team Status Report for 4/2

This week we focused on integration testing for all our subsystems. We observed the sensor modules readings with objects placed in front of them. We also compiled libraries python programs sending the sensor readings to the cloud via mqtt. We developed the front end API and sent queries over the backend interface to test all of the functionality. We have power, sensors, IoT, AWS, and user-end components working together. Though we think this is great progress and awesome for our interim demo, we will be working hard in the coming weeks to get two sensor modules working for our final demo.

Kanvi’s Status Report 4/2

I made all the MicroPython scripts on the ESP8266 work! We have code that senses the distance from the ultrasonic sensor every 10 seconds for a minute, and then shuts down for two minutes. If the sensor detects something within 18 inches for at least ⅚ of the readings, then it returns that the spot is being blocked. We are able to post this to our AWS server using an MQTT client and have it stored in our database. Because one of our concerns was about testing the accuracy of the distance being reported by the sensors, I set up an informal test (as pictured below). It looks like our sensors are accurate to 250cm, which is far beyond what we actually need. Our batteries are still behind the receiving desk so Monday morning, we will plug in all of our modules and make sure we have everything looking good for the interim demo! Next week, I plan to make something for our sensors to rest on/attach to so they face the correct angle from the curb to a car. I am happy with the integration work we got done this week!

Team Status Report for 3/26

This week each one of us was focused on starting the integration process, as per our gantt chart. The ethics discussion on Monday was also helpful because we received constructive feedback from other teams in the A section who did not know much about our project from the beginning of the semester. One of the teams mentioned how our sensors could be misused, not only by a temporary object (like a pigeon) but by humans that would like to claim their spots/show them as blocked on our app (similar to the “Pittsburgh chair”). Our integrations involve 1) persisting wifi connections on site to upload from the sensors to dynamoDB 2). Running continuous db query jobs in containers to serve our web app request. We have checked that our ESP8266 power/wi-fi connections and AWS lightsail respectively can allow us to run continuous programs performing these tasks. If everything goes according to plan, we should be able to do the final integration of all three subsystems before the interim demo.

Kanvi’s Status Report for 3/26

This week I continued to work with the hardware. I kept struggling with a “safe boot” process to use MicroPython on the ESP8266 and have made it possible to load code but don’t have it communicating perfectly yet. Instead, I decided to just focus on using some Arduino code to make a simple interface with the MQTT broker. In time I have set aside tomorrow, I will get data on to the database, ready for lab time on Monday! I also tested out some batteries (using a AA battery container plugged into the board) but I think I may need to do some calculations and plug in some resistors to make a self-sustaining board. Then I plan to make 3! I’m excited to have everything be pulled together and ready for the demo.

Kanvi’s Status Report 3/19

I was able to get into the lab and work on flashing code onto our ESP8266 board! I ordered some micro USB cables and picked them up on Thursday to make sure we were no longer stopped because of the lack of these in the lab. Initially, I worked on having Arduino code running. I have the ultrasonic sensor returning distance measurements pretty accurately, using some simple sample code. I started the next step of adding wifi capabilities, which was connecting our module to the school wifi. Because I would not be able to register it on CMU-Secure, I connected it to CMU-Device. To do this, I ran an Arduino script that outputted the MAC address of the device in the serial monitor and registered this on the CMU-Device website. With this much working, I was content with moving forward with MicroPython. On VSCode, I downloaded the PyMakr extension and was able to have it recognize the ESP8266 connection to my computer! I have been experiencing some errors with “safe booting” the board when trying to flash MicroPython code onto it, but I think I have found some posts on the internet to help me fix this problem! Hoping to have our ultrasonic sensor uploading data to our database before we get back into the lab on Monday. Once I set up a couple more sets of sensor and board, I believe our hardware will definitely be ready to go for the interim demo!

Kanvi’s Status Report for 2/26

With online presentations this week, lab time was cut short. My original plan to connect all our ordered hardware and flash a basic program onto them was not fulfilled. Instead, I was able to research and draft up a program to flash as soon as I get into the lab. I found examples of simple HTTP client/server code (http://www.nodemcu.com/index_en.html#fr_5475f7667976d8501100000f) and the firmware (https://github.com/nodemcu/nodemcu-firmware) we will have to work with in order to develop with the ESP8266 and NodeMCU platform. The NodeMCU documentation (https://nodemcu.readthedocs.io/en/release/getting-started/) helped me get started with downloading the correct flasher for my system and building an environment for programming. Now my computer should be set to program the dev board as soon as we get into the lab. I will put together the system with Minu on Monday and plan to have a debugged program flashed by the end of Wednesday!

Kanvi’s Status Report for 2/19

This week I finished up researching IoT devices and instead of using the XBee devices from last week’s research, I decided to go with the ESP8266 NodeMCU. They consume less power, are cheaper, and have more documentation on projects similar to ours. I ordered three of these modules with dev boards and I’m excited to get working on wiring this to the sensors that Minu ordered next week. Alongside the NodeMCU decision, I also researched long-term power supplies for these boards and have come across other people’s trade-off research: https://diyi0t.com/best-battery-for-esp8266/. Once we get the boards and set them up with the sensors, we will do some of our own comparisons of power supplies. In class, I worked with Neville to figure out how the ESP8266 dev boards can communicate with our database directly. I also worked on the Design Review slides, making a detailed block diagram and writing up our system specifications. After our meeting with our TA and professor, we were able to make really specific decisions and we are excited to present this week!

Kanvi’s Status Report for 2/12

I started this week by working on the proposal presentation slides, as I made the Gantt chart and researched the use case requirements. After Minu presented, I stuck to our schedule for this week and started to compare IoT communication devices. I started with Xbee modules because I saw some in our inventory. The different aspects that were compared were the range, power consumption, size, and price of different RF modules (https://www.digi.com/products-compare/56576/56577/56460). From our use case requirements, I know that we want to keep the price low but also want to make sure we can have a long lasting power supply that will be easily replaceable. Out of the modules that I looked at, I have decided to go with the Digi XBee 3 Zigbee 3 RF Module (https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee3-zigbee-3) because of the low 6.3mW to 79 mW power consumption paired with 2 mile radius and the advanced ZigBee networking protocol. I looked through the inventory but did not find this so I will be putting in an order by the end of the week for at least one so we can start working with them physically. Before ordering, I will communicate with Minu and Neville in order to make sure this device is going to be compatible with the sensor we choose and the networking protocol we want to use. I think I want to spend a couple more days researching other modules, like the NodeMCU protocol ones, so this will take out maybe two days of the schedule. Super excited to get working on the physical module!