- Two ways communication between two ESP32: several tests were done to achieve a successful two ways communication between two microcontrollers such as Wi-Fi through the cloud server, ESP_Now protocol, and PainlessMesh library. However, both ESP_Now and PainlessMesh were implemented successfully but PainlessMesh was selected since it affords more flexibility and efficiency in terms of the performance of multiple devices in a mesh network.
- Range of coverage: another issue that was faced in selecting the appropriate communication and networking method to solve the coverage issue, in which the direct Wi-Fi was selected mainly due to the cost and coverage. However, after testing the range of ESP32-to-ESP32 the maximum range was 96 meters.
- Communication Delay: the latency is a major issue in a negotiation system where synchronization and updates on the binding list are critical to the process of decision- making. The only adapted part from the constant delay was occurring during the period of adding an extra node to the connected node and while changing the mode of the device from sleep to active mode. As a result of this issue, a reset task was implemented using the time to adjust function in Arduino code which is responsible for adjusting the local nodes time to synchronize it with the mesh clock.