Utilising inexpensive wireless modules and open source software to form networks over long distances using AX25 and IP networking in the unlicensed ISM bands, without reliance on a centralised service provider.
This is ideal for:
- Privacy minded individuals
- People living under oppressive governments
- Remote communities
- Natural Disaster areas
- Testing low bandwidth applications eg, COAP ROHC
- Testing Decentralised apps like https://www.scuttlebutt.nz/ and https://tox.chat /
LoRa radios allow us to reach much further distances than standard Wifi but at heavily reduced data rates. The small amount of data can still provide us with chat and other basic text services.
- AX25 and TCP/IP networking
- Highly Extensible, add your own servers for whatever you like (bandwidth permitting)
- IRC over LoRa radios to chat over long distances with encrypted messaging.
- Versatile Connection methods, use as a separate modem or all in one device with a single board computer.
- Fetch News, RSS feeds, Wikipedia Summaries from Clients with Internet Connection.
- Internet Gateway. Provide internet to other devices.
- Solar Powered nodes
- Versatile connection methods allow people of all skill levels to participate. Can’t solder? Just hook it up with breadboard wires
- Low cost, under $USD10 per modem
LoRachat IRC encrypted https://youtu.be/R3EcQO4Yrec
Wikipedia Summary Lookup - AX25 LoRa https://youtu.be/0-O8Qfpu2O0
E32-915T30D Lora Long Range UART SX1276 915mhz 1W from CDEBYTE store on Aliexpress: https://www.aliexpress.com/item/2Pc-Lot-CDEBYTE-915MHz-8000m-Long-Range-SX1276-Wireless-Transmitter-rf-Module-E44-TTL-1W-UART/32802838747.html
or
E32-915T20D Lora Long Range UART SX1276 915mhz 100mW
Great store on Aliexpress, worth having a look as they often have excellent deals.
This should work on any Linux device that allows connection to the radio via UART or USB UART adapter.
I use a Raspberry Pi Zero W with the radio connected via UART pins
The Raspberry Pi Zero W allows for many different connection methods:
- Run a WiFi hotspot for areas without an Internet/Network Connection
- Use it in Wireless client mode to connect to your existing network.
- If you connected the radio via UART the spare USB port could be used for the many of the Pi’s OTG modes.
- Or use the USB port for a network adapter (RJ45 Network Connection etc)
- Bluetooth to Serial or Bluetooth PAN networking
- Many other possibilities using the Pi’s GPIO pins.
- Raspbian (debian) Stretch Lite: https://downloads.raspberrypi.org/raspbian_lite_latest
- Weechat IRC client
- Weechat crypt.py plugin https://weechat.org/scripts/source/crypt.py.html/
- Weechat Relay https://weechat.org/files/doc/stable/weechat_relay_protocol.en.html
- Glowing Bear Weechat frontend (modified for offline use): https://github.com/dmahony/glowing-bear
- MiniIRCd IRC server
- For more of the software used please see the installation instructions
Link to Installation Instructions: https://github.com/dmahony/Lora-Chat-Device/wiki/Installation-Instructions
This project is completely open source, contributions are encouraged, see the TODO list.
Please contact me at danielwmahony@gmail.com
- Create installation script with prompts to set callsign, IP address, UART or USB radio connection etc.
- Maybe a web interface? There is an excellent frontend for WeeChat called GlowingBear: https://github.com/glowing-bear/glowing-bear (May need modification to work offline)
- Modify linux AXcall program to not require valid Amateur radio callsigns, current workaround is to use a valid callsign as the source address.
- Create Minimal sized image for fast deployment
- Modify ESP32-Seriual-Bridge so it only uses 1 serial port and no bluetooth. https://github.com/AlphaLima/ESP32-Serial-Bridge
- Better utilisation of E32 Modules, use the wake on receive feature to wake up an esp32 from deep sleep mode.
- Utilise Termux on Android as a client device. (Currently does not include AX25 related packages)
- Look into mesh networking solutions that work with ipv4 (MTU too small for ipv6)
- Create a Printed Circuit Board that holds a cheap Arduino / esp32 and LoRa chip
- ROHC, Robust Header Compression: Compress headers for smaller packet sizes
- CoAP Constrained Application Protocol:
- https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barrier-with-matrix-meshsim-coap-proxy/