Code Monkey home page Code Monkey logo

loramador's Introduction

LoRaMaDoR - ham radio based on LoRa

This project is inspired by LoRaHam. The major enhancement is a packet format which is more powerful and more extensible, allowing for true network formation. The implementation is a work in progress, and more documentation will be added as time permits.

Console and command-line interface (CLI)

Use the terminal software of your choice (screen, minicom, etc.) to connect to Arduino serial port. Set the speed to 115200bps and disable RTS/CTS handshaking if necessary.

Alternatively, you can operate the console wirelessly using any Telnet client e.g. PuTTY. Just fill in your Wi-Fi configuration (details further down this document).

Users can play with the protocol with (seemingly) bare hands. The implementation fills in the red tape to generate a valid packet. For example, a user types:

QC Chat tonight 22:00 at repeater 147.000

"QC" is the pseudo-destination for broadcast messages. The actual transmitted packet (minus the FEC suffix) is something like

QC<PU5EPX-11:33 Chat tonight 22:00 at repeater 147.000

There are some commands to interact with the local station. Every command starts with ! (exclamation point):

!callsign ABCDEF-1
!debug
!help

To show the currently configured callsign, issue !callsign without a parameter. By default is FIXMEE-1. Type !help to get a list of all available commands.

More examples

Example of beacon packet, by default sent every 10 minutes:

QB<PU5EPX-11:2 bat=7.93V temp=25.4C wind=25.4kmh

How to ping another station:

PP5CRE-11:PING test123

Actual traffic:

PP5CRE-11<PU5EPX-11:21,PING test123
PU5EPX-11<PP5CRE-11:54,PONG test123

Route request:

PP5CRE-11:RREQ test123

Actual traffic:

PP5CRE-11<PU5EPX-11:RREQ

Possible response:

PU5EPX-11<PP5CRE-11:RRSP >PP5ABC>PU5XYZ|PP5CRE-11>PU5ABC

The protocol

See the Packet format page for technical details about the wire protocol.

There is a TNC mode for interaction between a computer and the microcontroller.

See the possible non-amateur uses of this stack, and the tentative roadmap of the project.

Console via Telnet

The console can be operated via Telnet. This is more convenient when the Arduino is far away, perhaps positioned in a good antenna spot. This is possible because ESP32 TTGO has built-in support for Wi-Fi and TCP/IP.

You just need to enter your network details in LoRaMaDoR via serial console, using the commands !ssid and !password. Then !reset and check the console messages to confirm the network configuration is ok. Use the !wifi command to get the detailed connection status.

The IP address is shown upon connection on console, and can be queried via !wifi command. Generally you won't need to find out the IP, since LoRaMaDoR also supports Bonjour (mDNS). For example, if the station callsign is ABCDEF-1, the network name will be ABCDEF-1.local or abcdef-1.local (network names are case-insensitive).

While a Telnet client is connected, the serial console is silenced (save for Wi-Fi disconnection messages) and does not accept input. Once the Telnet connection is closed, the serial console is reenabled.

loramador's People

Contributors

elvis-epx avatar kd8bxp 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.