I wrote the Ripple Tactical app and firmwares a few years ago now, but have been gradually refining it since then, and I believe it now forms a very comprehensive suite of software. But, I've yet to really give it a proper introduction. So...
Tactical is my answer to people who asked (of my Ripple LoRa mesh system), "do you have an ATAK plugin?" I understand that ATAK does a lot, but I wondered if I could identify just the core elements of 'situational awareness', and make it as simple an experience as possible.
So, Tactical is a combination of an Android app and DIY LoRa radio modules which connect over Bluetooth to the app, and relay data over the long range LoRa mesh. The radio modules come in two flavours: standard and 'pro'. The 'pro' modules have their own GPS module and can continue to share your location when 'detached' from the app. (otherwise, the Android's GPS is used)
The app is has a map view front and centre, and does the following:
- shows live moving map pin locations of other team members.
- text messaging, either direct between two team members, or team broadcasts.
- one press S.O.S alert to entire team
- handsfree mode: connect a wired headset to Android, then using PTT button on radio module, you can speak messages which are transcribed and sent over mesh. Incoming messages are then read to you.
- shared map annotations: you can drop point, circle or polygon items onto the map, with selectable colour, and these are rendered on map of team.
Like all of the Ripple mesh software, all data over the mesh is encrypted.
DownloadThe Android app and device firmwares are available here.
I decided to get a divorce from Google, so it is a plain APK app install. If you don't know how to install APK files directly, just do a bit of Googling, and there are plenty of guides out there.
Main ScreenTactical's focus is on team situational awareness, and has the map view as its primary UI. Incoming messages appear as bubbles at the bottom of the screen, and can be dismissed or replied to:
One of the main differences introduced with Tactical is team-wide broadcasts. As you move around, this is how your location is shared with the team, but you can also send team-wide text messages, unlike in Ripple Messenger.
Tactical also lets you share map annotations with your team! You can drop points, circles and polygons onto the map and give it a custom colour, and (after a short delay) it will appear on the maps of the entire team. (the coloured circles in the screenshot above are an example) Each team member can, however, opt in or out of seeing your map annotations. In the team screen (below) you just toggle the 'eye' icon:
If you plug in a wired headset, the app goes into handsfree mode, and uses Android's text-to-speech and reads out incoming messages to you! Conversely, using a special PTT (push-to-talk) button on the Tactical pager radio, you can speak messages and after releasing the PTT button, it is transcribed and sent over the Ripple mesh. (these can be broadcast messages, or direct to particular team member).
There are also some special 'Hey Ripple' commands you can speak:
- Hey Ripple, replay|repeat - re-speak the last message received
- Hey Ripple, where is 'x' - locate other user 'x' (distance and bearing from you is read out)
- Hey Ripple, send to all|everyone - set mode to broadcastHey Ripple, send to all|everyone - set mode to broadcast
- Hey Ripple, send to 'x' - send following messages only to user 'x'
Under the toolbar menu, are these menu options:
The 'Transmit Options' lets you control how often your location is broadcast to the team. This has 'High, Medium, Low' options, and triggers transmit if you move by a certain distance:
- High: at least 5 meters, at least 4 seconds interval.
- Medium: at least 10 meters, at least 16 seconds interval.
- Low: at least 20 meters, at least 32 seconds interval.
The 'send periodic heartbeat' option will make the Ripple radio send status data even if there has been no movement, and even if the radio has lost Bluetooth connection with the Android handset. The period is 3 times the interval selected in the High/Medium/Low sensitivity option. So, for Medium, the heartbeat is sent every 48 seconds (3 x 16).
Other team members can see if your location is 'old', ie. if only heartbeat data is being received, by the map pin turning to gray. It turns back to your usual colour once your Android reconnects.
Adding Team MembersYou can either do this OTA, using the 'Exchange Keys' menu, which works the same as in Ripple Messenger, or you can go into the Team screen, then tap on the '+' toolbar icon to scan their QR code. As with other Ripple apps/devices, the key exchange needs to be two-way, ie. A imports B's key, B imports A's key.
The Tactical team can be made up of these any of these devices:
- other Tactical pagers
- Ripple 'Ultra' standalone devices (T-Deck, T-Display, and any of the Ripple Touch pagers)
- GPS tracker devices (with 'broadcast to team' config enabled)
Also, they're not added to the 'team', but you can also use dedicated repeater nodes, or the slim BLE pagers as repeaters, eg. strapped to a drone or helium balloon.
New Pager Device SetupSetting up the app and the pager involves a Bluetooth pairing (or bonding with the BLE pagers), then assigning an ID, name and radio/mesh params. All the devices in your team must use the same frequency and spreading factor, and you need to allocate unique numeric IDs to each member (in range 2.. 250).
There are now two types of pager device: Bluetooth (classic) and Bluetooth LE. In the opening setup screen, select the appropriate button at the bottom.
NOTE: for Bluetooth classic, you need to first go into Android system 'Connected Devices' screen, and pair the pager device. (BLE doesn't require this)
The setup UI flow is:
The new device firmwares now require an Activation Code, which you can purchase here.
The Pager DevicesI have detailed build guides for the two main radio types on my BuyMeACoffee site:
The pager devices are a little different to the pagers used with Ripple Messenger and Commander. They have a screen, and an extra PTT button, and have some extra capabilities like 'detached mode', where you can long-press the button to sever the Bluetooth connection. The Tactical pager can then operate independently, and incoming messages are scrolled across the OLED screen.
The following hardware is currently supported:
- Heltec V2. (Bluetooth classic)
- Heltec V3. (BLE)
- Heltec Wireless Tracker ('Pro' variant firmware)
If you have some other LoRa hardware (ESP32 based) and if you ask nicely, I could add support and produce a firmware. For instance, I have a firmware for the T-Beam, but I don't officially support it. I've had nothing but troubles with the T-Beam, unfortunately.
Comments
Please log in or sign up to comment.