Hi Sofar/Bristlemouth team,
Starting a new thread because this is related to the earlier cellular-only payload-length discussion, but the question is now more about queue behavior, API visibility, and whether my serial approach is correct.
Reference thread: “Cellular only transmission rates and data length limits”
Background
I’m using a Raspberry Pi connected over UART to a Bristlemouth mote/serial bridge inside a potted camera module. The Pi is running Python code that publishes Bristlemouth serial packets to:
spotter/transmit-data
I’m using this to send image chunks from the Pi through the mote/Bridge to the Spotter.
I do not currently have the original mote firmware source file, but the mote reports:
bm info 2f58e75e9f6554b5
Successfully sent info request
Neighbor information:
Node ID: 2f58e75e9f6554b5
VID: 0000 PID: 0000
Serial number 0123456789abcdef
GIT SHA: 31F3BEB7
Version: 0.13.3
HW Version: 0
VersionStr: serial_bridge@ENG-v0.13.3-1-g31f3beb7+ec5dc832
Device Name: 203538484d305010004a0045
Current Spotter/Bridge firmware:
Spotter: v2.16.6
Bridge: bridge@v0.13.11
I also have a branch with the current Pi-side source code here:
https://github.com/nickraymond/bm_rpi_camera_module/blob/cellular-only-test/field_units/bmcam002/BM_Devel_Pi/bm_serial.py
What I’m testing
In my Python bm_serial.py, the spotter/transmit-data payload includes a one-byte network selector before the payload data.
When I send with network type byte 0x01, the Ebox logs show:
MS_Q_LEGACY
Submitted spotter/transmit-data message to sat/cell queue
With 0x01, I also see the orange SIGNAL LED blink, and this appears to match the previously working behavior.
When I send with network type byte 0x02, the Ebox logs show:
MS_Q_CELLULAR_ONLY
Submitted spotter/transmit-data message to cell-only queue
Using 0x02, I can successfully queue both 300-byte payloads and larger ~990-byte payloads. With Bridge v0.13.11, the larger payloads are accepted and I no longer see the “message too large” error.
However, with 0x02 / MS_Q_CELLULAR_ONLY, I do not see the orange SIGNAL LED blink, and I am not yet seeing the resulting payloads through my existing API tooling.
Questions
- Is setting the
spotter/transmit-datanetwork type byte to0x02the correct Bristlemouth serial equivalent of calling:
spotter_tx_data(data, data_len, BmNetworkTypeCellularOnly);
from mote firmware?
-
Should payloads submitted to
MS_Q_CELLULAR_ONLYappear in/api/sensor-dataasbinary_hex_encodedSmart Mooring records, the same way0x01/MS_Q_LEGACYpayloads do? -
If
MS_Q_CELLULAR_ONLYpayloads do not appear in/api/sensor-data, what API endpoint should I use to retrieve them? -
Is the orange SIGNAL LED expected to blink for
MS_Q_CELLULAR_ONLYtransmissions, or is that LED behavior specific to the legacy/sat-cell queue path? -
If the Notecard buffer percentage increases while using
MS_Q_CELLULAR_ONLY, what commands or configuration should I check to confirm that those queued messages are actually syncing to the Sofar backend? -
Given that my potted module is using old
serial_bridge@ENG-v0.13.3mote firmware, do I need to update the mote firmware to use the recommendedBmNetworkTypeCellularOnlypath correctly, or is the Python-sidespotter/transmit-datanetwork byte approach expected to be supported?
Thanks — I’m trying to determine whether the issue is:
-
my Python serial implementation,
-
old mote/serial bridge firmware,
-
expected LED behavior,
-
Notecard flushing/configuration,
-
or API visibility for
MS_Q_CELLULAR_ONLY.