BLE TRACKER DESIGN NOTES - shawnchain/aprs GitHub Wiki
As the ATMEGA328p ONLY have 1 UART,while we need to connect both the GPS and BLE chip, we're lacking of resources. So, here are the possible methods:
BLE Tracker Profile
|
TNC(uart) <--kiss--> (uart0)BLE(uart1) <--nmea--> (uart)GPS
|
HDLC/AX25,KISS,GPS,Tracker
- TNC work as a pure KISS TNC
- BLE chip handles hdlc/ax25/gps/tracker logic
BLE Tracker Profile
|
GPS(uart) <--nmea--> (uart)TNC(i2c_slave) <--kiss--> (i2c_master)BLE
|
HDLC/AX25,KISS,GPS,Tracker
- TNC work as tracker and i2c slave device
- BLE work as i2c master and query/read data every 1.5s for the received APRS packets
- The BLE chip work as peripheral device
- An indication/notification property for notifying the master device(phone or pad) every-time when a new APRS packet is received(or anything else happened)
- An configuration property for setting up the tracker parameters like:
- Call Sign
- GPS Baudrate
- Smart Beacon Parameters
- Beacon Text