ttn mapper
1.0.0
用洛拉無線電模塊帶有OLED羽毛的小素描,可以在Adafruit Feather M0收音機上運行TTN映射器節點。


有關TTN映射項目的更多信息,請參見https://ttnmapper.org/。
要將RFM95 DIO1暴露於M0,請焊接一座從IO1到數字#11 (或任何其他免費端口)的橋。
最簡單的是在羽毛上焊接這座橋。
除了Adafruit SAMD支持外,您還需要以下庫:
將ttn_secrets_template.h複製到ttn_secrets.h ,並設置您的應用程序密鑰和應用EUI。
您還需要定義一個唯一的設備EUI - 因為Adafruit羽毛沒有序列號,請以自動生成的TTN控制台中的一個序列號。
默認情況下,節點每分鐘都會發送帶有*為有效負載的消息。
ttn_mapper.cpp中更改send_packet_interval (尊重佔空比!)*發送電池電壓,請#define CAYENNE_LPP in ttn_mapper.cpp編譯,上傳,您應該很好!
要直接將跟踪器位置發送到TTN映射器集成,您可以添加GPS模塊並使用ttn-mapper-gps腳本。
您將需要:
以及以下庫:
將TTN映射器集成在TTN控制台中添加到您的應用程序,並使用以下方式配置有效負載解碼器
function Decoder ( bytes , port ) {
// Decode an uplink message from a buffer
// (array) of bytes to an object of fields.
var decoded = { } ;
if ( port === 2 ) {
// The port should match the port configured in `ttn_mapper.cpp`
var i = 0 ;
decoded . latitude = ( bytes [ i ++ ] << 24 ) + ( bytes [ i ++ ] << 16 ) + ( bytes [ i ++ ] << 8 ) + bytes [ i ++ ] ;
decoded . latitude = ( decoded . latitude / 1e7 ) - 90 ;
decoded . longitude = ( bytes [ i ++ ] << 24 ) + ( bytes [ i ++ ] << 16 ) + ( bytes [ i ++ ] << 8 ) + bytes [ i ++ ] ;
decoded . longitude = ( decoded . longitude / 1e7 ) - 180 ;
decoded . altitude = ( bytes [ i ++ ] << 8 ) + bytes [ i ++ ] ;
decoded . altitude = decoded . altitude - 0x7fff ;
decoded . hdop = ( bytes [ i ++ ] << 8 ) + bytes [ i ++ ] ;
decoded . hdop = decoded . hdop / 10.0 ;
if ( bytes . length >= 14 ) {
decoded . voltage = ( ( bytes [ i ++ ] << 8 ) >>> 0 ) + bytes [ i ++ ] ;
decoded . voltage /= 100.0 ;
}
}
return decoded ;
}