beegee-tokyo / Emy-Chat

Chat app based on my SX126x-Mesh-Network
MIT License
6 stars 1 forks source link

Emy-Chat ===

Scope of the tutorial:

This tutorial will create a chat application that uses my SX126x-Mesh-Network as a base.
It is inspired by DisasterRadio, but is setup on a different code base and has different features:

Target hardware:

The code is written to work on either an ESP32 or a nRF52 microcontroller and is not compatible with other microcontrollers. The LoRa transceivers used are Semtech SX1262 transceivers. They are either connected to the microcontroller as a Adafruit Feather compatible breakout (Circuitrocks Alora RFM1262) or integrated into a SOC together with a Nordic nRF52 (Insight ISP4520).
Using Jan Gromes RadioLib this chat node SW works as well with RFM95 modules. I tested it on a Sparkfun LoRa Gateway - 1-channel board which uses a RFM95W LoRa modem.

UI options

For now, the software supports 3 user interfaces.

WiFi is not supported and I have no plans to implement it.

And another important thing:

This code is NOT written to work with the ArduinoIDE. It is structured to be compiled under PlatformIO using one of the IDE’s supported by PlatformIO. My favorite is Visual Studio Code.

Documentation for this example

At this stage, there is no documentation for the SW available. If I find the time, I will write something, at least a tutorial on LEARN@CIRCUITROCKS or on my own website

How to compile for the different platforms

Have a look into the platformio.ini file. You can see examples for 5 different target boards, 2 nRF52 based boards and 3 ESP32 boards from different sources.

The code depends heavily on compiler defines to adapt different LoRa transceiver boards, used GPIO's, used libraries and available peripherals (display). These defines are set in the platformio.ini file.
Here is a list of the important defines:

Android app for BLE connection

The Android app to connect to an Emy-Chat node is ready, but not yet and published in Google Play. F-Droid will be added sometime. The source codes are in my Emy-Chat-Android repo.

Library Dependencies

SX126x-Arduino

RadioLib

esp8266-oled-ssd1306

Platform Dependencies

Adafruit_nRF52_Arduino

arduino-esp32

Arduino Core for Circuitrocks Alora Boards