PDF version:
1. What is BBN Boat Monitoring
BBN Boat Monitoring is a low-power solution to send alarms on various conditions from an unattended boat.
In the center is esp32 with Ethernet module connected wired to a boat router. Alarms are sent via WhatsApp messenger.
Modular design of software and hardware so users can pick and choose needed modules.
M5Atom Lite (or Lite-S3) is the preferred hardware platform. It provides only one Grove-type of connector. So separate devices need to be designed. One for i2c sensors, one for NMEA 0183, and another one for NMEA 2000 inputs. And one more for digital/analog IO, 1-wire, and devices requiring IRQ line (ex: lightning detector AS3935) with M5Stack ATOM Mate extension kit allowing access the pins on the bottom of the ATOM board.
2. Connectivity
-
MDNS discovery of other services gpsd, SignalK, pypilot, Victron MQTT, etc
-
DHCP client
-
NTP client
-
Web server for configuration
-
Uptime reporting (sleeping periods to save power)
-
Ethernet to router
-
NMEA 0183, NMEA 2000
-
i2c, 1-wire, UART, LoRa, Ethernet, other GPIO (analog and digital)
-
WhatsApp message
-
Command-line WhatsApp messenger for Linux
-
Internet connection speed reporting
-
Speakers / Buzzer for audible alarms?
-
Status lights for visual alarms?
3. Hardware
esp32 on m5atom-lite or m5atom-lite-S3 from M5Stack. With M5Stack Ethernet AtomPoW (with w5500 chip).
Software platform - EspHome: https://esphome.io/
Sensors (pick and choose):
-
Accelerometer
M5Stack 3-Axis Digital Accelerometer Unit (ADXL345)
-
IMU
M5Stack 6-DoF IMU Pro Mini Unit (BMI270, BMM150, BMP280)
or
M5Stack 6-Axis IMU Unit(MPU6886)
-
Env sensors (temperature, barometer, humidity)
M5Stack ENV IV Unit with Temperature Humidity Air Pressure Sensor (SHT40+BMP280)
or
M5Stack ENV III Unit with Temperature Humidity Air Pressure Sensor (SHT30+QMP6988)
-
Gas Sensors (CO, heavy gases, hydrogen, smoke detector)
Carbon monoxide sensor for esp32 (MQ-7 gas sensor?)
Smoke detector sensor for esp32 (MQ-2 gas sensor?)
Heavy gases sensor for esp32 (MQ-2/MQ-4/MQ-5/MQ-6 gas sensors?)
Hydrogen H2 gas detector sensor for esp32 (MQ-8 gas sensor?)
-
GPS
M5Stack Mini GPS/BDS Unit (AT6558)
-
NMEA 0183 interface
M5Stack Isolated RS485 Unit
-
NMEA 2000 interface
M5Stack Isolated CANBus Unit (CA-IS3050G)
-
Lightning sensor
Sparkfun LIGHTNING DETECTOR - AS3935
-
Open Fire Flame sensor
Grove Flame YG1006 sensor
-
Voltage sensor
M5Stack Voltmeter Unit (ADS1115)
-
Current (amp) meter for bilge pump usage
M5Stack Ammeter Unit (ADS1115)
-
Temperature (1w) sensors
Dallas 1-wire temperature sensors
-
Motion detection sensors
M5Stack PIR Motion Sensor (AS312)
-
Water salinity sensor
Water conductivity sensor
-
Proximity sensors (hatch open/closed sensor)
M5Stack Hall Effect Unit (A3144E Hall Sensor)
or
Magnetic Reed door switch sensor
or
M5Stack Limit Switch Unit
-
Snow / ice sensor
Rain and Snow Sensor Transmitter Weather Induction Detection Heating Anti-icing IP65
-
Water level sensor
Water leak detector sensor
-
Dinghy LoRa locator
LoRa receiver for esp32 (international band?)
-
RTC clock
M5Stack Real Time Clock (RTC) Unit (HYM8563)
-
Light Sensor
M5Stack Dlight Unit - Ambient Light Sensor (BH1750FVI-TR)
3.1. M5Stack Grove Port Color Conventions
-
Red ports are I2C
-
Black ports are I/O
-
Blue ports are UART
3.2. M5Stack Accessories
-
M5Stack ATOM Mate DIY Expansion Kit
M5Stack ATOM Mate - DIY Expansion Kit - for M5ATOM
-
M5Stack ATOM Tail485
M5Stack ATOM Tail485 - RS485 Converter for ATOM
-
M5Stack 1 to 3 HUB Expansion Unit for i2c
M5Stack 1 to 3 HUB Expansion Unit
-
RS485 to TTL Converter Unit
M5Stack RS485 to TTL Converter Unit
-
LEDs for status lights
M5Stack RGB LED Unit (SK6812)
-
Speaker / Buzzer
M5Stack ATOM Echo Smart Speaker Development Kit
or
M5Stack Passive Buzzer Unit
-
Screw Terminal Block
M5Stack VH3.96 - 4Pin Transfer Module Unit
-
Grove-T Connector
M5Stack Grove-T Connector (5pcs)
-
Button
M5Stack Mini Dual Button Unit
-
Battery
M5Stack ATOM TailBat - Battery Accessory for ATOM
-
PoE Injector
wt-gpoe-48v10w (or some other industrial with better wattage)
-
PoE Splitter
M5Stack PoE Splitter
3.3. Low Power Consumption Router
LinoVision IOT R41 Mini Industrial 4G LTE Router with Low Power Consumption and GPS/RS232/RS485
4. Alarms (planned)
-
Heavy gases in bilge
-
High salinity of water in bilge
-
Hydrogen gas alarm
-
Fire alarm. Smoke detector
-
Open flames detected
-
Carbon monoxide alarm
-
Hatch open
-
High heel or pitch (from IMU)
-
High wind alarm
-
Lightning storm detected
-
Forgot nav lights 'on'
-
Motion detected (Intrusion)
-
High humidity
-
Possible fog conditions
-
Snow or ice conditions
-
Barometer keeps falling
-
Temp alarm (ex: fridge warm)
-
Dingy too far
-
GPX fix lost
-
High current at anchor (by speed through water)
-
Low water under keel alarm
-
Accelerometer alarm for high waves
-
Anchor alarm (plus command line utility to activate and deactivate)
-
Grounding alarm from accelerometer
-
Hard impact on hull (via accelerometer)
-
Heartbeat (ImAlive) message
-
Low battery voltage
-
Battery overcharging
-
High battery temperature
-
Shore power loss
-
Bilge pump high utilization
-
High water in bilge
-
Location reporting
-
Alarms from Victron MQTT
5. Machine Learning Ideas
5.1. Using IMU
Use IMU to detect different events
-
Boat groundings
-
An object hitting hull
-
Collision
-
Walrus climbs your boat
-
Someone boards your boat from dinghy
-
Wave height calculation
-
Line caught in the prop
5.2. Using Microphone
-
Orca approach
-
Detect whale songs, dolphins, etc
-
Detect pistol shrimp
-
Detect underwater sound of prop (approaching or moving away power vessels)
-
Marine hydrophone listening
5.3. Using Cameras
-
Plankton classification
-
LIDAR
-
Augmented reality marine applications
-
Waves recording in 3D
6. Compare to commercial solutions
Examples:
Trek Transponder Boat alarm and boat monitor systems https://www.trektransponder.com.au/
Glomex ZigBoat https://www.zigboat.com/
Maretron MBB300C vessel monitoring and control black box https://dev.maretron.com/products/mbb300c.php
Siren Marine https://sirenmarine.com/