Michael’s Status Report 4/6

What did you personally accomplish this week on the project? 

 

For this week, I wrote a python script that would simulate the central node’s function so I could test the Wi-Fi link for stability. The script will listen for an incoming packet and then perform the needed decompression steps before it displays it as a live video feed. The script also allowed me to explore the limits of the current Wi-Fi systems by adjusting the stream quality to see at what level we start seeing dropped frames. I found that the Wi-Fi is robust enough to support the encoder running at nearly the highest quality without significant frame drops. 

In addition, we also switched the antenna jumpers on the ESP over to the external IPEX  connector. This is so that I can use an external patch antenna for better transmission quality. Previously, I was just using the built-in PCB antenna which is suboptimal since it is so small and limited by the PCB area. With this new external antenna, I was able to get about 30 meters of range while maintaining a good video feed. The test was performed indoors with a noisy RF environment and in a non-line of sight situation with two brick walls between the receiver and the transmitter. I’d expect this number to increase significantly when I run this test outdoors and in a line-of-sight environment. The current patch antenna that we have on it is a 3dBi omnidirectional one. This can always be switched out to a antenna with higher gain if we need better performance

The final thing that I was able to get done this week was verify that I could connect to the receiving ESP32 and have it read valid data. There were a few things that had to be fixed on the receiving side which was mainly to enable IPv4 fragment reconstruction. Fragment reconstruction is needed since the packet size exceeds that of Wi-Fi MTU of around 1550 bytes. 

Link to video of streaming python script: https://drive.google.com/file/d/1OHjypw3lSpivNJLjFea4oVtCaHKOl_wL/view?usp=sharing
 

Is your progress on schedule or behind? If you are behind, what actions will be

taken to catch up to the project schedule?

 

Currently on schedule

 

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

 

For next week, I hope to run the range test outdoors to verify my assumptions

Neelansh’s Status Report for 6th April, 2024

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours). 

This week I worked on finalizing everything for the demo, since our demo was on Wednesday for us. I developed and tested the ESP32 receiver node and worked with my teammates to allow for transmission from not just one ESP32, but from multiple different ESP32s acting as STA’s to one single ESP32, acting as an AP. 

I then worked on the one part I was unable to display in the demo, the SPI interface. I developed the entire SPI interface and then tested it via Oscilloscopes and Arduinos to ensure that the entire transmission via the interface was working, and that we were sending the correct byte streams.

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

I am on schedule.

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

Next week I plan on integrating these two parts : receiving data from multiple streams, and then sending it to the FPGA via the SPI interface. After that I would work with my teammates to start building a module and then start testing the entire system.

Now that you have some portions of your project built, and entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?  

For the verification of my work, I plan on conducting exhaustive tests to measure the correctness and efficiency of my system.

I am currently able to send basic data from one ESP32 to the other and receive it correctly with 100% correctness (no packet drops). 

I plan on sending real time image data (to simulate real world use cases) from multiple ESP32s acting as STA (remote node), to one single ESP32 acting as the AP (receiver node), with multiple data access points. I would then test this with multiple ESP32s sending data at a single point of time to satisfy the use case requirements set in the earlier stages of having at least 6 different camera nodes being able to transmit data simultaneously. 

Apart from this, I would also test the SPI interface with oscilloscopes to ensure that all the 6 different camera streams are coming in correctly. This would also include testing in real life scenarios, with variations in the distance between the sender and receiver (10m, 20m, 30m, … until failure), and also with varying number of objects in between them to try and recreate the camping site. I will go to Schenley park and conduct my tests there to ensure that the trees or the foliage does not cause my system to fail. Lastly, I would run the entire system for hours at stretch (try to find the breaking point), and use python scripts to continuously test for correctness and ensure that the packet losses are within the limits set earlier.