Table of Contents
GPS/SMS Data
This page describes the various things related to radios and formats that I have discovered during development. This is for information only, and may help someone else.
GPS
Various formats of GPS data transmitted by radio model.
These are my notes, hopefully they help someone else.
See this page on Brandmeister for NMEA RMC details.
Radios known to output GPRMC
| Radio | Format |
|---|---|
| Anytone D878 | GPRMC |
| Anytone D578 | GPRMC |
| Anytone D868 | GPRMC |
| BTech DMR 6x2 | GPRMC |
Radios known to output GNRMC:
| Radio | Format |
|---|---|
| Retevis RT73 | GNRMC |
Example NMEA GPRMC output:
'~'~$GPRMC,015857.000,A,4519.2000,N,12127.0000,W,0.00,121.00,190121,,,A*67
Example NMEA GNRMC output:
'~'~$GNRMC,224048.000,A,2527.41211,S,04932.96192,W,0.00,99.18,120121,,,A,V*39
After BPTC decoding, we find that the NMEA sentence is a UTF-16 string. Usually 3 CSBK blocks, followed by the deader, then the data blocks. Typically sent as unconfirmed UDP.
SMS
Anytone radios are capable of 3 different formats. M-SMS (Motorola?), H-SMS (Hytera?), and "DMR Standard". Both M-SMS and "DMR Standard" use IPV4 packet containing a UDP packet, which has a payload of SMS data. For M-SMS, there is an additional piece of data (possibly a header?) before the actual SMS characters, which are in UTF-16BE format. "DMR Standard" does not contain the extra bit of data and contains SMS characters in UTF-16LE. The true standard, ETSI 361-3, specifies that characters be in UTF-16BE, not LE. The MD-380 (MD380tools firmware) sends in M-SMS format. I have not analyzed H-SMS very closely yet. It is sent in a format called Unified Data Transport (specified in ETSI 361 documents).
Anytone radios will accept "dirty data" (packets with duplicate sequence numbers and other minor inconsistencies) and will receive an SMS with CSBK preamble blocks.
MD-380 requires CSBK preamble blocks for reception of SMS.
M-SMS
Probably designed to be compatible with Motorola. MD-380 (MD380tools) sends/receives in this format. UDP ports are 4007. Hex Example:
4500002e000400004011204a0c301eb70c00238b0fa70fa7001a09e40010a00085040d000a005400450053005400000000000000000000003c9844a2
"DMR Standard"
Anytone's implementation doesn't use UTF-16BE, which is what ETSI 361-3 calls for. UDP ports are 5016. TTL = 1. Example:
450000280005000001115f4f0c301eb70c00238b1398139800143e0c000d000a54004500530054000000000068542159