I'm wanting to send serial data from multiple Arduinos to a Raspberry Pi using the HC-06 module.
The connection will be delivering sensor data from the Arduino to the Pi for a smart home setup and it's important that the data make it to the Pi reliably (the piece I'm working on now is a door sensor for an alarm).
Assuming a connection can be made at all, does the Bluetooth protocol used between the HC-06 and the Raspberry Pi provide any guarantees of delivery?
Questions I'm having trouble finding answers to:
- Is the ordering of messages guaranteed?
- Is the integrity of messages guaranteed?
- Can messages be dropped? If so, under what conditions?
- Is there a reliable way Arduino side to tell when a Pi connects/disconnects?
- Are guarantees consistent across HC-06 vendors or do they vary depending on who I buy the module from?
- Are these the same guarantees the HC-05 has?
I'm wondering whether I should trust the protocol like I do with TCP/IP or if I need to build my own protocol on top of the
SoftwareSerial.h package to ensure delivery of my data?