The objective of the experiments was to test various communication methods (different protocols and frequency) under different conditions. I am using the following communication devices –
- ESP32 Wifi Module – 2.4GHz
- ESP32 Bluetooth Low Energy – 2.4 GHz
- NRF24L01 module - 2.4GHz
- LoRa module - 868MHz
Experiment I: To determine the relationship between metal interference and mode of communication
Bluetooth Experimental Setup –
The Blynk app was used to communicate between my phone and the esp32 module via Bluetooth Low Energy (BLE). The time to send the message from the application and receive a response from the esp32 module was measured. A 2-second delay was added in the esp32 module between receiving the message from the application and sending a response to improve the accuracy in measurement of time. To measure the metal interference, the esp32 module was covered with an aluminum foil and kept inside a metallic oven.
Distance between application and esp32 module = 3.04 m
WIFI Experimental Setup –
The same setup was used for WIFI. Distance between esp32 module and router = 5.63m Distance between router and application = 7.01 m
NRF Experimental Setup –
NRF module was connected to esp32 modules. The same setup was used. Distance between the 2 modules = 3.04 m
Average Response Time (Without Metal) = 0.567ms
Average Response Time (With Metal) = 0.652ms
Average Response Time (Without Metal) = 0.747ms
Average Response Time (With Metal) = 0.753ms
Average Response Time (Without Metal) = 3ms
Average Response Time (With Metal) = NA
Experiment could not be completed. Please refer to Blooper section for the explanation
A few important Notes -
- The distance had to be reduced for BLE and NRF as the signal was not stable.
- The connection for BLE dropped frequently right after moving out of the room.
- There was no direct line of sight between the phone, ESP32 module, or the router. All the wooden doors were closed.
Experiment II: To determine the decrease in latency of signal using Local Blynk Server and Remote Blynk Server
Experimental Setup –
I also ran a small test to measure the ping for a remote Blynk server and a local Blynk server. I created the Blynk Server on a Windows Laptop.
Under the experimental assumptions and constraints, the experiments conclude that -
- The metal interference did not play a huge role in disrupting communication in the case of WIFI. The connection dropped more frequently in the case of Bluetooth.
- Reliability – WIFI > NRF > Bluetooth
- Speed of Communication – NRF > Bluetooth > WIFI
- Local Blynk Server is significantly faster than remote Blynk Server
Conclusions relevant for Design Decisions
- Regardless of which communication method we use, speed of communication is not an important factor in the engineering design decision
- Range and robustness are more important parameters.
- BLE will be an inappropriate choice of communication because of its low range and unstable communication
- Opens up the possibility of setting up individual local Blynk Server if required
Based on the theoretical research, some key observations are–
- Bluetooth has the smallest range in comparison to the rest of the modules.
- LoRa has the largest range in comparison to the rest of the modules.
- 2.4 GHz is generally used for communication for RC drones and planes. DJI Mavic drone uses both 2.4 GHz and 5GHz WIFI for communication.
Based on the current experimental results, I believe that the following tests will be useful to our understanding -
- Range – One of the limitations of my experimental setup especially in the case of WiFi was that I am using a powerful router that has good signal strength throughout my home. To be able to better answer the question regarding the reliability of WiFi, we need to perform a range test using WiFi, NRF with antenna, and LoRa with Antenna. Based on the theoretical results, my current hypothesis is Lora > NRF > WiFi.
- Protocol - ESP Now is a protocol developed by Espressif for low power 2.4 GHz communication. It eliminates the need for a router.
- Interference due to different Wi-Fi Networks – We need to determine the effect of interference through other networks in the region.
- Mesh Network (Optional) – It is important to determine the signal strength and latency of a mesh network using WiFi, NRF, and LoRa module. This experiment will help us answer some crucial questions when will move towards the autonomy of the blimps.
While testing NRF Modules, one of the jumper cables connecting 3.3V from the esp32 board to the NRF module got unplugged. I am not exactly sure of the reason, but it ended up shorting my board and the NRF module. Therefore, my ESP32 module is either corrupted or fried. I am not able to flash any code to the board. I will try to debug the board by using esptool.py and dumping the memory.