There has been a missing link in the Ripple LoRa mesh messaging/pager/chat family, and that is the ability to just send a message to someone in your group without needing to worry if they have their device on, or if they are in range.
Well, I'm excited to announce that this is now a reality with a new firmware for Dedicated Repeater nodes.
Any node is, effectively, a repeater (thus the 'mesh'), but I finally took on the task of writing code for dedicated repeaters which support what I'm calling a 'Post Office'. The node can manage a number of virtual mailboxes for various users in the network, and this can actually be changed remotely by the admin (using the Ripple Commander app).
I have also had to make changes to the other apps (Messenger and Tactical) to be able to be configured to use a Post Office, and also a new firmware for the QWERTY pager devices, so they can also use the feature.
There are a series of articles here on Hackster about how to make the pagers and other components. They are all listed here:An Example
The setup I have been trialing, along with my daughter who lives about 5km away from me, is pictured below:
Normally, I can only get a single hop to go about 1km from my place before there is just too much interference or obstacles.
The repeater's elevation makes all the difference. Luckily for me there is a fairly large mountain range of which I am in the foothills. The repeater is mounted at roughly 300 meters elevation, and it has clear line of sight to the suburbs below.
We each have a Ripple QWERTY pager, so no need for Android handsets, and just turn it on to check for messages and/or send a new message. (both devices have been configured (via Ripple Commander) to use mailboxes)Making a Repeater
The wiring is very simple, as pictured below:
The solar voltage regulator has clearly marked battery plugs at one end, and solar plugs at the other. You will need to solder the red(+) and black(-) wires to the solar panel, and solder the battery wires to the 18650 battery holder, with the ESP32 board's battery harness cable also soldered to the same battery wires (black to black, red to red).
NOTE: Make sure you insert the 18650 battery the correct way around! Otherwise you will destroy the ESP32.
(The picture above actually has an Adafruit Feather, instead of the TTGO LoRa32, as this is what I was experimenting with early on. The wiring is the same, though, for the TTGO board. Also, coming soon will be firmware for the Heltec V2 ESP32 LoRa boards)Setup Steps
The bulk of the instructions for these steps will be described on the Github project site, but these are the overall steps:
- Flash the Ripple Dedicated Repeater firmware (the firmware binary RippleRepeater-TTGOV2.bin): https://github.com/spleenware/ripple#esp-targets-flashing
- Assign the repeater an ID/name (*), and configure with Ripple Commander app: https://github.com/spleenware/ripple/wiki/Commander-app-user-guide#configuring-dedicated-repeaters
- Power up/reboot the repeater and verify that it's working by connecting the 'home' radio device to Commander, and check the 'device info' screen. (should see basic node info, like RSSI, battery voltage)
- Create mailboxes for users: https://github.com/spleenware/ripple/wiki/Commander-app-user-guide#repeater-post-office-feature---mailboxes
The last step can be done at any time, remotely, which is essential if, like me, it is mounted a long way away or high up a pole where it's difficult to access physically.
* When allocating node ID's in Commander, it is best to use low numbers for repeaters (eg. 2 to 10), and higher numbers for the various users.Deploying out in the wild
The device will obviously need a bit of weather proofing. I got very fancy with my one and did some 3D printing, but you can very easily protect them by putting all the bits into a clear plastic snap-lock container, with the battery and other parts just kept in place with double-sided tape. (this is what my initial unit used)
For best radio sensitivity mount the dipole antenna vertically, and obviously position the solar panel in some way to face the sun (actually, the morning sun if possible).
If you don't have a mountain nearby, you can always try mounting high up on a pole. As long as it can be above the tree line will help a lot. The early tests I did were in my back yard, like this:
In anticipation of possible questions you may have:
Q: what is the range? A: this always varies, depending on other radio interference, obstructions, etc. But, so far I have managed 16km from the mountain to the valley.
Q: how many repeaters can I use? A: there are a maximum of 254 nodes on a single Ripple network, so you could have a number of repeaters in there. However, at present, only ONE 'Post Office' repeater is supported.
Q: do I have to use the Post Office feature? A: No. You can configure just as a normal repeater, and it will just be a range extender. Also, users not configured with a mailbox, will just use immediate messaging, which will fail if recipient is offline or out of range.
Q: is it secure? A: Yes. All of the transmissions use 256-bit ECC encryption.
Q: are the dedicated repeaters just for Messenger/chat? A: No. They also extend the range for the GPS Tracker and sensor nodes. It's just the chat/message aspect that uses the Post Office feature.Donate
If you find this project useful and feel like throwing some Bitcoin my way, I'd be really grateful:
My BTC address: 1CspaTKKXZynVUviXQPrppGm45nBaAygmSFeedback
Feel free to leave comments and ask me whatever questions you may have