Raffaele Montella - Any experience with inexpen...
Any experience with inexpensive BLE devices like Tiles or AirTag to automatically raise the MOB alarm when one or more are out of range? I'm thinking about IPX8 ad-hoc containers to wear in an appropiate fashion.
12 Replies
I've done some work on this stuff in the past, but with regular BT devices like smartphones:
https://github.com/nemein/presence-sensor-bluetooth
this was part of an EU-funded research project. Some context:
https://bergie.iki.fi/blog/smart-collaboration-space/
That's a great idea. I haven't read up on how those devices work - is the beacon always on or only intermittently? Or in other words, is the "refresh rate" high enough to detect people overboard?
My best uninformed guess would be something similar to how the RuuviTag sensors work with a periodic (every 1 second I think) Bluetooth broadcast. If the onboard sensors stop getting data from it, alarm is raised.
The bt-sensors-plugin-sk available in the app store (full disclosure: I'm the developer) listens for RSSI (signal strength) beacons from any BT device and allows you to map the value to a signalk path.
You could, conceivably, create a Node-Red listener that would raise an alarm if the RSSI hadn't been detected in x seconds or if it is perilously low.
Bingo. Sounds like that could work. You'd want to do a lot of testing to avoid false alarms though.
Agree. Though the logic to reliably determine presence would have to balance urgency (MOB!) with the annoyance factor of false positives. You'd also want to use dead-reckoning (or search a log of lat/longs) to get better positioning of the MOB event as it would have occurred sometime between the last RSSI signal and the panic timeout value.
You could do average sampling of the signal and time between beacons and use that as a baseline for determining if it's time to panic.
I asked ChatGPT (so, caveat emptor), and according to it, AirTag is rotating and encrypting its broadcast ID, so it can't be used for this purpose, but Tile devices do transmit a unique ID every 200-800 ms.
Following up, Google's Find My Device network also uses rotating encrypted identifiers. Hence, Tile would be your best bet.
You'd probably want to also utilize
navigation.state
to only alarm when vessel is under way (sailing/motoring), not when in harbourand also not throw any alerts when anchored... or your swim break might be interrupted by annoying alerts from your MOB detection system 😄
If you use the Signal K anchor alarm, auto state plugin sets state as anchored when it is active
Could you use something like this: https://www.aliexpress.us/item/3256807816331905.html?spm=a2g0o.productlist.main.79.177722c1YGh3sj&algo_pvid=3ed8846f-e324-42ea-86dd-f9a337913d84&aem_p4p_detail=202501011810503756830898789420008699514&algo_exp_id=3ed8846f-e324-42ea-86dd-f9a337913d84-39&pdp_npi=4%40dis%21USD%212.78%212.78%21%21%2120.23%2120.23%21%40210318e817357838502946093e39b7%2112000043225598607%21sea%21US%213117469070%21X&curPageLogUid=N6Lz1t0GXTe4&utparam-url=scene%3Asearch%7Cquery_from%3A&search_p4p_id=202501011810503756830898789420008699514_10
They also do a version with a dog collar for easy attachment around a crew members neck, and it has a bell...
Too expensive! 😄