There are a lot of connectivity options out there, each with their pros/cons. At the end of the day, based on my project guiding principles, I wanted to choose an connectivity option that
- Could easily be coded/leveraged- e.g. large amount of learning material and examples available
- Supported easy configuration the sensors and the ability to sync data via a phone app
I ultimately decided on BLE (and saving the data on-device to an SD card prior to transmission). Here's my thinking:
Wired connectivity (part of the solution) -
Sometimes the best answer is the simplest answer, so I considered going with a "wired" solution... meaning that data was either saved to a flash drive and downloaded, or saved to a memory card. I decided to incorporate an SD card as part of the solution as a secondary option of getting data. That being said, I knew I would need a wireless solution as well. If nothing else, I envisioned some of the sensors being inside the rocket, and I didn't want someone to have to un-assemble/re-assemble part of the rocket if they had to reset or configure a device.
Bluetooth LE (the current decision, with an SD card) -
BLE only works short range (30m)... a rocket could travel 80-100+ meters (depending on the size)... so I knew that I couldn't stream data via BLE. Instead, I determined that I could save in-flight data on the device (via an SD card or flash drive). I could then use BLE to send the data (via a phone app) to the cloud. I could also use the app to initialize the device before flight.
Most flights will be done in parks or school playground (where there will be limited/no wifi available), so I knew pretty quickly that wifi wasn't the right solution to get data directly to the cloud. I considered setting up a local wifi network, where each sensor/device would join the wifi network AND the user would join their phone to the wifi network to control the devices. I may fall back on this approach, but for right now, it's not my preferred option.
LORA (Long Range) or RFM69 radio/radio packets -
I really wanted to go with either of these options (no issues with range and some really cool technology), but at the end of the day, I would have to build a hub (with either BLE or Wifi) to communicate between the phone app and the device. It would ultimately be a solution that was too costly.