رسم صغير لتشغيل عقدة Mapper TTN على راديو Adafruit Feather M0 مع وحدة راديو Lora مع Featherwing OLED.


انظر https://ttnmapper.org/ لمزيد من المعلومات حول مشروع TTN Mapper.
لفضح RFM95 DiO1 إلى M0 ، لحام جسر من IO1 إلى الرقمية رقم 11 (أو أي منفذ مجاني آخر).
الأسهل هو لحام هذا الجسر على Featherwing.
جانبا دعم Adafruit Samd ، ستحتاج إلى المكتبات التالية:
نسخ ttn_secrets_template.h إلى ttn_secrets.h وتعيين مفتاح التطبيق الخاص بك وتطبيق EUI.
تحتاج أيضًا إلى تحديد جهاز فريد من نوعه - لأن ريشة Adafruit لا تحتوي على رقم تسلسلي ، خذ الجهاز الذي تم إنشاؤه تلقائيًا في وحدة التحكم TTN.
بشكل افتراضي ، ترسل العقدة رسالة مع * كحمولة حمولة كل دقيقة.
send_packet_interval في ttn_mapper.cpp (دورة عمل الاحترام!)* ، unfine #define CAYENNE_LPP في ttn_mapper.cppتجميع ، تحميل ويجب أن تكون على ما يرام!
لإرسال موقع Tracker مباشرة إلى تكامل TTN Mapper ، يمكنك إضافة وحدة GPS واستخدام البرنامج النصي ttn-mapper-gps .
سوف تحتاج:
والمكتبات التالية:
أضف تكامل TTN Mapper إلى تطبيقك في وحدة التحكم 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 ;
}