ttn mapper
1.0.0
OLED 페더 윙이있는 LORA 라디오 모듈이있는 Adafruit Feather M0 Radio에서 TTN Mapper 노드를 실행하는 작은 스케치.


TTN Mapper 프로젝트에 대한 자세한 내용은 https://ttnmapper.org/을 참조하십시오.
RFM95 DIO1을 M0에 노출 시키려면 IO1 에서 Digital #11 (또는 다른 무료 포트)으로 브리지를 납땜하십시오.
가장 쉬운 것은 깃털 에이 다리를 납땜하는 것입니다.
Adafruit SAMD 지원을 제외하고 다음 라이브러리가 필요합니다.
ttn_secrets_template.h ttn_secrets.h 에 복사하고 응용 프로그램 키 및 앱 EUI를 설정하십시오.
또한 Adafruit Feather에는 일련 번호가 없으므로 TTN 콘솔에서 자동으로 생성 된 번호를 가져 오기 때문에 고유 한 장치 EUI를 정의해야합니다.
기본적으로 노드는 매 순간에 페이 * 로 메시지를 보냅니다.
ttn_mapper.cpp 에서 send_packet_interval 변경할 수 있습니다 (듀티 사이클 존중!)* 대신 Cayenne LPP로 보내려면 ttn_mapper.cpp 에서 #define CAYENNE_LPP컴파일, 업로드하면 가면 좋을 것입니다!
트래커 위치를 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 ;
}