นี่เป็นเวอร์ชันที่กำหนดเองของเฟิร์มแวร์ RNode ที่ออกแบบมาเพื่อใช้โดยใช้ Moteino Mega โดย LowPowerLab พร้อมโมดูล RFM95 LORA
งานนี้เป็นอนุพันธ์ของ rnode ที่พัฒนาและขายโดย Mark Qvist Rnode เป็นลิขสิทธิ์โดย Mark Qvist
ฉันไม่มีความตั้งใจที่จะขายหรือแจกจ่าย rnodes ที่กำหนดเอง ข้อสันนิษฐานที่นี่คือคุณรู้ว่าทำไมคุณถึงมาที่นี่และคุณรู้ว่าทำไมและวิธีการซื้อและสร้างฮาร์ดแวร์ที่จำเป็นที่กล่าวถึงในอนุพันธ์นี้ Mark Qvist และ Steve Miller จะไม่รับผิดชอบต่อการดำเนินการที่ไม่พึงประสงค์รวมถึง แต่ไม่ จำกัด เฉพาะสิ่งที่ทำลายไฟจับไฟหรือยุบเวลาต่อเนื่องในอวกาศ คุณได้รับคำเตือนแล้ว
การเขียนเฟิร์มแวร์นี้ต้องใช้ขั้นตอนเพิ่มเติมโดยใช้ rnodeConfigutil เนื่องจากการกะพริบเฟิร์มแวร์ไปยัง Moteino Mega จะไม่เขียนข้อมูล EEPROM ที่อุปกรณ์ต้องการ
ขอแนะนำอย่างยิ่งให้คุณใช้เครื่องมือกำหนดค่า RNODE ที่กำหนดเองสำหรับ RNODE รุ่น RNODE ที่กำหนดเอง E4
นี่คือเฟิร์มแวร์สำหรับ RNODE ซึ่งเป็นอุปกรณ์สื่อสารที่ใช้ LORA ที่ยืดหยุ่นมาก rnode สามารถทำหน้าที่เป็น:
Rnode ถูกควบคุมโดย ATMEGA1284P MCU ที่ทรงพลังและเข้ากันได้กับ Arduino อย่างเต็มที่ คุณสามารถใช้เฟิร์มแวร์นี้หรือสามารถตั้งโปรแกรมได้ในแบบที่คุณต้องการไม่ว่าจะเป็นจาก Arduino IDE หรือใช้เครื่องมือใด ๆ ที่มีอยู่สำหรับการพัฒนา AVR เฟิร์มแวร์นี้สามารถแก้ไขและรวบรวมได้โดยตรงจาก Arduino IDE
สำหรับการเพิ่ม rnode ในสภาพแวดล้อม Arduino ของคุณโปรดดูโพสต์นี้
สำหรับการกำหนดค่า rnode ด้วยเฟิร์มแวร์นี้โปรดดูที่ยูทิลิตี้การกำหนดค่า rnode
เฟิร์มแวร์ RNode ถือได้ว่ามีเสถียรภาพ ณ จุดนี้ หากคุณพบข้อผิดพลาดหรือค้นพบพฤติกรรมที่ไม่ได้ตั้งใจโปรดรายงานว่าเป็นปัญหาที่นี่ดังนั้นฉันจึงสามารถแก้ไขได้!
RNODE สามารถทำงานได้สองโหมดคือการควบคุมโฮสต์ (ค่าเริ่มต้น) และโหมด TNC:
เมื่อ Rnode อยู่ในโหมดควบคุมโฮสต์มันจะอยู่ในสแตนด์บายเมื่อเปิดใช้งานจนกว่าโฮสต์จะระบุความถี่แบนด์วิดท์ส่งกำลังและพารามิเตอร์อื่น ๆ ที่จำเป็น โหมดนี้สามารถเปิดใช้งานได้โดยใช้ตัวเลือก -N ของยูทิลิตี้นี้ ในโหมดควบคุมโฮสต์โหมดที่หลากหลายสามารถเปิดใช้งานเพื่อดมกลิ่นเฟรม LORA ใด ๆ
เมื่อ RNODE อยู่ในโหมด TNC มันจะกำหนดค่าตัวเองบน PowerUp และเปิดใช้งานวิทยุทันที โหมดนี้สามารถเปิดใช้งานได้โดยใช้ตัวเลือก -t ของยูทิลิตี้นี้ (ยูทิลิตี้จะแนะนำคุณผ่านการตั้งค่าหากคุณไม่ได้ระบุโดยตรง)
คุณสามารถสื่อสารกับ RNODE ได้ทั้งผ่านตัวเชื่อมต่อ USB ออนบอร์ดหรือใช้หมุดอนุกรมบนบอร์ด (ติดป้าย RX0 และ TX0) Rnode ใช้ชิป USB มาตรฐาน FTDI ดังนั้นจึงทำงานนอกกรอบโดยไม่ต้องมีไดรเวอร์เพิ่มเติมในระบบปฏิบัติการส่วนใหญ่
การสื่อสารทั้งหมดไปและกลับจากบอร์ดใช้กรอบ KISS ด้วยชุดคำสั่งที่กำหนดเอง RNODE ยังไม่ได้ใช้พอร์ต HDLC ในไบต์คำสั่งและเช่นนี้ใช้บิวต์คำสั่งแบบเต็ม 8 บิตสำหรับคำสั่งจริง โปรดดูตารางด้านล่างสำหรับคำสั่งที่รองรับ
| สั่งการ | ไบต์ | คำอธิบาย |
|---|---|---|
| กรอบข้อมูล | 0x00 | แพ็คเก็ตข้อมูลไปยังหรือออกจากอุปกรณ์ |
| ความถี่ | 0x01 | ตั้งค่าหรือสอบถามความถี่ |
| แบนด์วิดธ์ | 0x02 | ตั้งค่าหรือสอบถามแบนด์วิดท์ |
| พลังงาน TX | 0x03 | ตั้งค่าหรือสอบถามพลังงาน TX |
| การแพร่กระจายปัจจัย | 0x04 | ตั้งค่าหรือสอบถามปัจจัยการแพร่กระจาย |
| อัตราการเข้ารหัส | 0x05 | ตั้งค่าหรือสอบถามอัตราการเข้ารหัส |
| รัฐวิทยุ | 0x06 | ตั้งค่าหรือสอบถามสถานะวิทยุ |
| ล็อควิทยุ | 0x07 | ตั้งค่าหรือสอบถามล็อควิทยุ |
| อุปกรณ์ตรวจจับ | 0x08 | คำสั่งโพรบสำหรับการตรวจจับอุปกรณ์ |
| สำส่อน | 0x0e | ตั้งค่าหรือสอบถามโหมดสำส่อน |
| สถิติ RX | 0x21 | แบบสอบถามที่ได้รับไบต์ |
| สถิติ TX | 0x22 | คำค้นหาที่ส่งผ่านไบต์ |
| สุดท้าย RSSI | 0x23 | ระบุ RSSI ของแพ็คเก็ตล่าสุดที่ได้รับ |
| กระพริบตา | 0x30 | กระพริบไฟ LED |
| แบบสุ่ม | 0x40 | แบบสอบถามสำหรับหมายเลขสุ่ม |
| เวอร์ชันเฟิร์มแวร์ | 0x50 | แบบสอบถามสำหรับเวอร์ชันเฟิร์มแวร์ที่ติดตั้ง |
| ROM อ่าน | 0x51 | อ่าน Eeprom byte |
| ROM เขียน | 0x52 | เขียน Eeprom byte |
| โหมด TNC | 0x53 | เปิดใช้งานโหมด TNC |
| โหมดปกติ | 0x54 | เปิดใช้งานโหมดควบคุมโฮสต์ |
| ROM ลบ | 0x59 | ลบ Eeprom อย่างสมบูรณ์ |
| ข้อผิดพลาด | 0x90 | ระบุข้อผิดพลาด |
ดูโฟลเดอร์ "ไลบรารี" เพื่อให้คุณใช้ RNODE ในซอฟต์แวร์ของคุณเองได้อย่างง่ายดาย
นี่คือตัวอย่าง Python:
from RNode import RNodeInterface
def gotPacket ( data , rnode ):
print "Received a packet: " + data
rnode = RNodeInterface (
callback = gotPacket ,
name = "My RNode" ,
port = "/dev/ttyUSB0" ,
frequency = 868000000 ,
bandwidth = 125000 ,
txpower = 2 ,
sf = 7 ,
cr = 5 ,
loglevel = RNodeInterface . LOG_DEBUG )
rnode . send ( "Hello World!" )Rnode สามารถนำเข้าสู่โหมด LORA ที่หลากหลายซึ่งจะทิ้งเฟรม LORA ดิบไปยังโฮสต์ เฟรม LORA ดิบยังสามารถส่งในโหมดนี้และมีขนาดน้ำหนักบรรทุก LORA มาตรฐาน 255 ไบต์ ในการเปิดใช้งานโหมดที่หลากหลายส่งคำสั่ง "สำส่อน" ไปยังบอร์ดหรือใช้หนึ่งในไลบรารีการเขียนโปรแกรม คุณยังสามารถใช้ตัวอย่างโปรแกรม Loramon เพื่อใช้งาน Lora Packet ที่ใช้งานง่าย