Close
0%
0%

LoRaMessenger

LoRaMessenger is a simple offgrid chat between ESP32 nodes with a wireless web interface that utilizes the LoRa protocol to send messages.

Similar projects worth following
LoRaMessenger is a simple offgrid chat between ESP32 nodes with a wireless web interface that utilizes the LoRa protocol to send messages between TTGO LoRa32, Heltec Wifi LoRa 32 or similar boards.

Since the LoRa communication protocol is used to send and receive messages, two or more modules can be set up to broadcast and receive messages up to a distance of 10 Kilometers.

Most ESP32 LoRa modules such as the TTGO LoRa32 or Heltec Wifi LoRa 32 have a display, so you can use them standalone for receiving 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 ESP is started, a new WiFi network called LoRa Node is created and should be visible, the default WiFi password is Password.

When a device is connected to the network a captive portal should open, if nothing happens open a web browser and navigate to node.local or 10.10.10.1.

The web interface is now presented on your browser, the chat has the following features:

  • At the beginning of the page you can enter your name so that the recipient knows who is writing. Press update to save the new name.
  • The message section shows all sent and received messages in chronological order.
  • The name of all devices that have received the message correctly is shown below the messages.
  • And last but not least, at the bottom of the page there is a text box to send a new message.

Note that as of right now a page refresh is necessary to update the received messages and read receipts.

LoRaMessenger.ino

Mirror of Github release.

ino - 8.76 kB - 06/26/2019 at 16:27

Download

  • 2 × TTGO LoRa32 board Or similar
  • 2 × Li-ion battery Optional

  • First release

    Nicholas06/27/2019 at 01:34 0 comments

    The first release of LoRaMessenger has been released with basic functionalities such as:

    • Sending and receiving of messages from the web interface
    • Changing sender name form the web interface
    • A received confirmation from other nodes
    • Display of WiFi name and last message on the integrated display
    • Automatic display shutdown after a minute to save power

    Other features that are planned for the future are:

    • Message encryption, as of right one all messages are sent unencrypted
    • Some sort of relaying to create a bigger network of nodes
    • Redesign of the web interface and automatic message refresh

    On the hardware side I would like to develop a case for the TTGO Lora32 with space for adding a battery and maybe a buzzer to notify a new message.

View project log

  • 1
    Install libraries

    This program requires the following libraries:

  • 2
    Edit #defines and pin configuration

    At the beginning of the program there are several #define that allow you to change some operating parameters.

    The most important ones are:

    • LORANODE: Node number, set a different number (0-255) for each node.
    • LORABAND: Band used by the LoRa chip, change this to the correct band available for your country!

    Pin definitions may need to be edited in case another board is used (Pin definitions are based on a TTGO LoRa32 V2).

  • 3
    Upload and test

    Upload the code to the ESP and after a few seconds a new WiFi hotspot should appear.

    After connecting, a captive portal containing the chat should open automatically.
    If nothing happens open a web browser and navigate to node.local ( If you are using another DNS instead of the ESP one, manually connect to 10.10.10.1 ).

View all 4 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates