LoRaMessenger is an off-grid chat between LoRa equipped ESP32 nodes with a simple wireless web interface.
The ESP32 hosts a Wi-Fi network that will provide a simple chat-like interface that will display online nodes, received and sent messages, and some text boxes to set the node name, destination node, and message.
Since the LoRa communication protocol is used to send and receive messages, it is possible to set two or more modules to transmit and receive messages up to a distance of a few kilometers.
Most ESP32 LoRa modules, such as the TTGO LoRa32 or Heltec Wifi LoRa 32, are equipped with a display, so you can use them independently to receive messages like a pager.
A node can be easily installed inside a small box with a battery, thus creating a communication system that can communicate even in areas where there is no phone signal.
After the ESP32 is started, a new Wi-Fi network called LoRaMessenger [number] is created.
When a device connects to the network, the web interface should open automatically, if nothing happens, the interface can be accessed by opening a web browser and navigating to the ESP32 IP, which is by default 18.104.22.168.
On android, a wifi login page containing the web inteface is opened after connecting to the Wi-Fi network. This way, background 4g network connection is mantained even when using LoRaMessenger. A notification saying login to the network should stay into the notification panel and can be opened anytime to show the interface again.
The web interface is now presented on your browser, the chat has the following features:
- At the top of the page, the node name can be entered so that the recipient knows who is writing. After pressing update, the name is saved and sent to all reachable nodes.
- The online section shows all available nodes detected, with some additional information such as the relay node that is being used by the receiving node if present, the receiving RSSI, the number of hops between relays, and the time elapsed since the last contact.
- The message section shows the last 5 (by default, user-settable) sent and received messages in chronological order.
The name of all the nodes that have received the message correctly is indicated under each message....