repo นี้ใช้มากกว่าการดำเนินการ SX1276 พื้นฐานในขณะที่ Learn_SX1276 แสดงพื้นฐานทั้งหมด
SX1276
ไลบรารี Micropython สำหรับโมเด็มวิทยุ LORA SX1276
คุณสมบัติ
- Mac Layer (Half-Duplex)
- หนึ่ง SX1276 สามารถส่งแพ็คเก็ต "REQ" (ในการปิดกั้น) และคาดว่า SX1276 ที่ระบุเพื่อตอบสนองด้วยแพ็คเก็ต "ACK" กระบวนการนี้ได้รับการจัดการโดยห้องสมุดนี้
- หนึ่ง SX1276 สามารถส่งแพ็คเก็ต "BRD" (ในทางที่ไม่ปิดกั้น) และคาดว่าจะไม่ตอบกลับ "ACK"
- ใช้ FHSS (ก่อน?)
- FCC อาณัติความถี่กระโดดหากเวลาอยู่เหนือเกณฑ์ 400ms
- ปัจจัยการแพร่กระจายขนาดใหญ่และแบนด์วิดท์แคบ ๆ สามารถยืดเวลาที่อยู่อาศัยได้อย่างมีนัยสำคัญเพื่อให้การกระโดดความถี่เป็นสิ่งจำเป็นสำหรับการถ่ายทอดแพ็คเก็ตขนาดใหญ่
การใช้งาน
- อัปโหลด lora.py ไปยัง MCUS (Heltec Wifi Lora 32 V2)
- เรียกใช้ sender.py และ receiver.py ในสอง mcus แยกกัน
สภาพแวดล้อม dev ของฉัน
- สอง MCUS กับ SX1276 (ESP32: Heltec Wifi Lora 32 V2)
- flash mcus กับ micropython
- เชื่อมต่อสอง MCUs กับเครื่อง Linux กับ VSCODE ผ่าน USB
- ติดตั้งส่วนขยาย pico-w-go สำหรับ vscode
- เปิดโฟลเดอร์ผู้ส่ง/ตัวรับสัญญาณใน Windows VSCODE สองตัว
- กำหนดค่าโครงการผู้ส่ง/ตัวรับสัญญาณสำหรับ pico-w-go
- ระบุ "อุปกรณ์ Manual COM" ใน pico-w-go และรีสตาร์ท pico-w-go
- เล่นกับคำสั่ง pico-w-go
เอาต์พุตคอนโซลของรหัสตัวอย่าง

FHSS
- เพื่อพิสูจน์จุดของการกระโดดความถี่ฉันใช้ RTL-SDR เพื่อตรวจสอบสเปกตรัม ในแผนภาพน้ำตกต่อไปนี้เราเห็นสัญญาณฮ็อประหว่าง 914 และ 916MHz ตามที่ฉันตั้งโปรแกรมไว้ให้เป็น

- FHSS ไม่จำเป็นหากข้อความสั้น ตัวอย่างเช่นแพ็กเก็ต 29BYTES สามารถส่งได้ภายใต้ 400ms, พารามิเตอร์ที่กำหนด {SF: 10, BW: 125KHz, Cr: 4/5, ส่วนหัว: ชัดเจน, คำนำ: 6}

ดาวน์โหลดเครื่องคิดเลข Air Time ด้านบน
บันทึก
- คุณลักษณะ FHSS สามารถปิดได้โดยการระบุความถี่เดียวในช่อง 2Hopping / FHSS_LIST
- มันไม่มีความหมายที่จะทำการตรวจจับกิจกรรมช่องทาง (CAD) ก่อน TX เพราะ SX1276 ตรงกับ preambles ที่เข้าใจยากซึ่งไม่กี่มิลลิวินาทีสุดท้าย ไม่มีทางออกที่ดีในการฟังก่อนพูดคุยหรือ CSMA