SPGPSTRACK - การทำแผนที่ LORAWAN GPS
โปรแกรมนี้เป็นตัวติดตาม Lorawan GPS สำหรับวัตถุประสงค์ในการทำแผนที่มันได้รับการพัฒนาสำหรับ Arduino Uno ด้วย Shield Dragino Lora/GPS และสำหรับ ESP32 TTGO T-Beam (ทดสอบด้วย T22_V07)
- กำหนดค่าเป็น ABP เพื่อให้คุณสามารถเพิ่มพลังอุปกรณ์ในสถานที่ที่คุณไม่มีความคุ้มครอง
- จะส่งตำแหน่งทั้งหมด x เมตร
- คุณสามารถเลือกรูปแบบน้ำหนักบรรทุกระหว่าง CayenNelpp และฟังก์ชั่นถอดรหัสเพย์โหลดด้วยตนเอง
- ซอฟต์แวร์รองรับอัปลิงค์ที่ได้รับการยืนยันและ Arduino จะส่งเสียงบี๊บ
- คุณสามารถอ่าน GPS ผ่านอนุกรมฮาร์ดแวร์หรืออนุกรมซอฟต์แวร์ได้ดังนั้นจึงง่ายกว่าสำหรับการพัฒนาหากคุณเห็นสิ่งที่เกิดขึ้นในระหว่างการทำงานจริง
- ในกรณีที่การใช้งานฮาร์ดแวร์ซีเรียลคุณสามารถเปิดใช้งานซอฟต์แวร์อนุกรมสำหรับการดีบัก
สิ่งที่ต้องทำ
- การส่งที่กำหนดเวลาซึ่งดำเนินการเมื่อตัวติดตามไม่เคลื่อนไหว ตัวอย่างเช่นทุกชั่วโมงเพื่อดูว่าตัวติดตามยังมีชีวิตอยู่หรือไม่
- ตัวเลือกพลังงานต่ำ
การสนับสนุน ESP32 [รัฐ: ในที่ทำงานดูการพัฒนาสาขา การกำหนดค่า SPI ผลิต backtraces] ฮาร์ดแวร์: esp32 uno, แบรนด์เป็น wemos esp32 ได้ดำเนินการแล้ว fot ttgo t-beam แล้ว- ตำแหน่ง wifi ทางเลือกสำหรับ esp32
เริ่มต้นอย่างรวดเร็ว
- ในคอนโซล TTN ให้สร้างแอปพลิเคชันลงทะเบียนอุปกรณ์ใหม่ (เป็น ABP)
- คัดลอกข้อมูลอุปกรณ์และกุญแจของ LoRawan ลงในร่าง
- ซ้อนบอร์ดและอัปโหลดภาพร่างไปยังกระดาน ในการอัปโหลดภาพร่างคุณต้องเก็บปุ่มรีเซ็ตไว้บน Dragino ที่กด (หากคุณสามารถอัปโหลดได้โดยไม่ต้องกดปุ่มนั้นนี่อาจเป็นสัญญาณว่าคุณมีบางอย่างผิดปกติในจัมเปอร์ Dragino หรือการตั้งค่าอนุกรมของภาพร่างของคุณ)
- เมื่อคุณเห็นทราฟฟิกในคอนโซล TTN คุณสามารถดำเนินการกำหนดค่าฟังก์ชั่นตัวถอดรหัสเพย์โหลดได้
- (หากคุณไม่เห็นทราฟฟิกในคอนโซล TTN แม้ว่าคุณจะแน่ใจว่าคุณอยู่ในระยะที่ดีไปยังเกตเวย์ให้ตรวจสอบเคาน์เตอร์เฟรมและจัมเปอร์ Dragino)
- กำหนดค่า ttnmapper-intigration ระบุชื่อการทดลองสำหรับเวลาของการทดลองครั้งแรก (หรือคุณจะเปิดเผยตำแหน่งที่บ้านของคุณด้วยคลาวด์ของจุดเชื่อมต่อที่ประสบความสำเร็จ)
- คุณควรค้นหาการทดลองใหม่ของคุณในตอนท้ายของรายการนี้
esp32
สำหรับการตั้งค่า PIN T22_07 SPI ยังไม่ได้ใช้งานใน LMIC! -> Matthijskooijman/Arduino-lmic#164
-> เปลี่ยนหมุด SPI โดยตรงในห้องสมุด
ความสนใจ!!! อย่าลืมรีเซ็ตสิ่งนี้หากคุณใช้ฮาร์ดแวร์อื่น ๆ กับ LMIC
HAL.CPP LINE 79
static void hal_spi_init () {
//SPI.begin();
SPI . begin ( 5 , 19 , 27 );
}การพึ่งพาอาศัยกัน
- Arduino lmic
- TinyGPS ++
- CayenNelpp (ไม่บังคับ) ติดตั้งจาก Arduino Library Manager
การกำหนดค่า:
- txdist - กำหนดระยะทาง [เป็นเมตร] หลังจากนั้นตำแหน่งจะถูกส่ง
- SF - กำหนดปัจจัยการแพร่กระจายของ Lorawan (DR_SF7 - DR_SF12) 7 และ 8 แนะนำสำหรับการทำแผนที่
- single_channel - ใช้ LoRawan Channel 0 สำหรับเกตเวย์ช่องเดี่ยวเท่านั้น
- ได้รับการยืนยัน - เปิดใช้งานอัปลิงค์ที่ได้รับการยืนยันเท่านั้นหากคุณเชื่อมต่อออดกับ PIN D5! มิฉะนั้นคุณสมบัตินี้จะไร้ประโยชน์
- Soft_serial - ไม่ต้องใช้ฮาร์ดแวร์อนุกรมมิฉะนั้นจะใช้ซอฟต์แวร์อนุกรม ในกรณีนั้นเชื่อมต่อโมดูล GPS กับ RXPIN และ TXPIN
- DEBUG - หากคุณใช้ Hardware Serial คุณสามารถเปิดใช้งานการดีบักเพื่อรับเอาท์พุทการดีบักในอนุกรมซอฟต์แวร์ ปล่อยให้ปิดใช้งานเพื่อไม่ใช้ซอฟต์แวร์อนุกรมเลย
- CAYENNELPP - หากคุณต้องการใช้ CAYENNELPP เป็นรูปแบบการบรรทุกมิฉะนั้นให้ใช้ฟังก์ชันตัวถอดรหัสต่อไปนี้
ฟังก์ชั่นการบรรทุก
function Decoder ( bytes , port ) {
var decoded = { } ;
// if (port === 1) decoded.led = bytes[0];
decoded . latitude = ( ( bytes [ 0 ] << 16 ) >>> 0 ) + ( ( bytes [ 1 ] << 8 ) >>> 0 ) + bytes [ 2 ] ;
decoded . latitude = ( decoded . latitude / 16777215.0 * 180 ) - 90 ;
decoded . longitude = ( ( bytes [ 3 ] << 16 ) >>> 0 ) + ( ( bytes [ 4 ] << 8 ) >>> 0 ) + bytes [ 5 ] ;
decoded . longitude = ( decoded . longitude / 16777215.0 * 360 ) - 180 ;
var altValue = ( ( bytes [ 6 ] << 8 ) >>> 0 ) + bytes [ 7 ] ;
var sign = bytes [ 6 ] & ( 1 << 7 ) ;
if ( sign )
{
decoded . altitude = 0xFFFF0000 | altValue ;
}
else
{
decoded . altitude = altValue ;
}
decoded . hdop = bytes [ 8 ] / 10.0 ;
return decoded ;
}