Skip to content

Shimo/lorachat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LoRaChat (0.1)

LoRaChat is a text chat over the physical layer LoRa using ESP32, wich creates a mesh network. The only two things needed to get LoRaChat working are a TTGO LoRa ESP32 (or an ESP32 + a LoRa module) and any device capable of running a web browser (PC, laptop, smartphone, tablet, smartTV,...).

The ESP32 creates a WiFi hotspot to which any device with a screen and a browser can connect. The chat GUI is displayed in the browser, like any other web based chat. The difference is that this chat sends the messages over LoRa radio modulation.

All radio communications are encrypted by default with AES-256 CBC in order to keep the conversations private.

The different LoRaChat devices create with each other a mesh network, making the range of the chat much bigger. Each device acts, then, as a router and as a client at the same time.

Installation

Dependencies

Libraries

Here only we consider those libraries that are not included by default with the Arduino IDE, the ESP32 API or the ESP32 Filesystem plugin.

Installation process

  1. Open lorachat.ino in the Arduino IDE.
  2. With the ESP32 plugged in, go to "Tools" and use "ESP32 Sketch Data Upload" option. Wait until the data is uploaded. (Do not change the name of the folder /data. It also needs to be in the same directory of lorachat.ino sketch).
  3. Upload lorachat.ino sketch to the ESP32.

Setup

Once the code is uploaded and the ESP32 is running, connect to the WiFi hotspot named "LoRaChat", wich it has not any encryption key.

Go to the web browser and navigate to 192.168.4.1 local IP. A web page will appear displaying the GUI. It is very intuitive, like any other chat app GUI.

It is important, but not mandatory, to change the WiFi key in Main Settings (click on the top left dots icon and then on Main Settings). If the WiFi key input is empty, the WiFi hotspot will not be protected. If a key is set, the hotspot will be protected with WPA2. The changes apply when the ESP32 is rebooted.

Contact

[email protected]

License

GNU GPLv3

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 42.3%
  • C++ 24.0%
  • CSS 23.3%
  • HTML 10.4%