GithubHelp home page GithubHelp logo

mr-dwight-schrute / lorable Goto Github PK

View Code? Open in Web Editor NEW

This project forked from daveake/lorable

0.0 0.0 0.0 32 KB

LoRa/GPS HAB receiver for the TTGO T-Beam; presents devices over serial BLE link.

License: GNU General Public License v3.0

C++ 100.00%

lorable's Introduction

This is firmware to make a TTGO t-Beam HAB LoRa receiver linked over BLE. It is my generic firmware but modified to make it easier for an ESP32 client (namely the TTGO T-Watch 2020) to connect over BLE serial.

Libraries

To build LoraBluetooth you may need various libraries into your Arduino IDE. For boards with an OLED:

- Adafruit GFX Library
- Adafruit SSD1306 Library

These Libraries can be added via the Ardunio IDE menu: Sketch -> Include Library -> Manage Libraries…

For boards that use the AXP202X power chip, ie the TTGO V1+ T-Beam, the AXP202X Library is required:

https://github.com/lewisxhe/AXP202X_Library

This library can be added via the Ardunio IDE menu: Sketch -> Include Library -> Add .zip Library…

Serial Protocol

The same protocol is used over USB, Bluetooth and BLE. It accepts commands of the form

something=value

The somethings are, currently:

- CurrentRSSI=<RSSI>
- Message=<telemetry>
- Hex=<hex packet e.g. SSDV>
- FreqErr=<error in kHz>
- PacketRSSI=<RSSI>
- PacketSNR=<SNR>

The serial interface accepts a few commands, each of the form

~

(a trailing can be sent but is ignored). Accepted commands are responded to with an OK (* ) and rejected commands (unknown command, or invalid command value) with a WTF (? )

The current commands are:

- F<frequency in MHz>
- M<mode>
- B<bandwidth>
- E<error coding from 5 to 8>
- S<spreading factor from 6 to 11>
- I<1=implicit mode, 0=explicit mode>
- L(low data rate optimisation: 1=enable, 0=disable)

The supported modes are:

0 = (normal for telemetry) Explicit mode, Error coding 4:8, Bandwidth 20.8kHz, SF 11, Low data rate optimize on 1 = (normal for SSDV) Implicit mode, Error coding 4:5, Bandwidth 20.8kHz, SF 6, Low data rate optimize off 2 = (normal for repeater) Explicit mode, Error coding 4:8, Bandwidth 62.5kHz, SF 8, Low data rate optimize off

Bandwidth value strings can be 7K8, 10K4, 15K6, 20K8, 31K25, 41K7, 62K5, 125K, 250K, 500K

History

23/09/2016 V1.1 - Added Hex=... message for any packet that is not ASCII telemetry - Added LoRa modes 3-7K8 - Increased baud rate to 57,600 (from 9,600) so handle high LoRa data rates esp. with SSDV

30/06/2016 V1.0 - First version

lorable's People

Contributors

daveake avatar kevwal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.