BLE TRACKER DESIGN NOTES - shawnchain/aprs GitHub Wiki

BLE Tracker Design Notes

1. TNC and BLE communication

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:

1.1 Method 1

                    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

1.2 Method 2

                                                         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

2. BLE Tracker Profile

  • 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
⚠️ **GitHub.com Fallback** ⚠️