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 ;
}