นี่เป็นเครื่องมือที่มีประโยชน์ในการทดสอบเซิร์ฟเวอร์ Lora
เพื่อเลียนแบบอุปกรณ์สิ้นสุด (AKA Motes ในโปรโตคอล Lorawan ™)
สนับสนุน Lorawan ™ 1.0.2 & 1.1 โปรโตคอล
ใช้เกตเวย์จาก Semtech ™
ใช้ pip เพื่อติดตั้ง lora-mote-emulator :
PIP ติดตั้ง lora-mote-emulator
ใช้ pip เพื่อติดตั้ง pipenv :
PIP ติดตั้ง pipenv
โคลน repo นี้เป็นไดเรกทอรี:
git clone https://github.com/houluy/lora-mote-emulator.git
ใช้ pipenv เพื่อสร้างสภาพแวดล้อม Python เสมือนจริงและติดตั้งการอ้างอิงทั้งหมด:
การติดตั้ง Pipenv
สร้างโครงการ:
Python -m build
ที่นี่หากไม่มี Python 3.6 ในระบบของคุณคำเตือนจะเกิดขึ้นและจะไม่มีการติดตั้งแพ็คเกจ มันสมบูรณ์แบบในการติดตั้ง Python 3.6 จากแหล่งที่มา มิฉะนั้นให้ลบ Pipfile.lock และทำซ้ำคำสั่งด้านบน
pipenv shellmote -h เพื่อดูข้อความช่วยเหลือ การใช้งาน: mote [-h] [-v เวอร์ชัน] [-c config] [-โมเดลโมเดล]
{เข้าร่วม, แอป, PULL, MAC, เข้าร่วม, ข้อมูล, ABP, CREATE} ...
เครื่องมือในการเลียนแบบ Lora Mote (aka end-end) และเกตเวย์, คำสั่งที่รองรับ
รายการ: ['เข้าร่วม', 'แอป', 'pull', 'mac', 'recoin', 'info', 'ABP', 'Create']
อาร์กิวเมนต์เสริม:
-H, -HELP แสดงข้อความช่วยเหลือและออกนี้
-v เวอร์ชัน -เวอร์ชันเวอร์ชัน
เลือกเวอร์ชัน Lorawan, 1.0.2 หรือ 1.1 (ค่าเริ่มต้น)
-c config, -config -config
ระบุไดเรกทอรีของไฟล์กำหนดค่าเริ่มต้น
'./config'
-โมเดลโมเดลระบุไดเรกทอรีเพื่อบันทึกไฟล์โมเดลค่าเริ่มต้น
'./models'
คำสั่งที่รองรับ:
{เข้าร่วม, แอป, PULL, MAC, RECOIN, INFO, ABP, CREATE}
เข้าร่วมส่งคำขอเข้าร่วม
แอพส่งข้อมูลแอปพลิเคชัน
ดึง send pull_data
Mac ส่ง MacCommand
เข้าร่วมส่งคำขอ Rejoin อีกครั้ง
ข้อมูลแสดงข้อมูลของมลทินปัจจุบัน
ABP เริ่มต้นมลทินในโหมด ABP
สร้างการกำหนดค่าที่จับ
mote create [-c ./config] MOTE จะสร้างไฟล์กำหนดค่า JSON ที่ต้องการในไดเรกทอรี ./CONFIG (ค่าเริ่มต้น) ในไดเรกทอรีไฟล์กำหนดค่า JSON หลายไฟล์รวมอยู่ด้วยconfig.json : การกำหนดค่าพื้นฐานgateway.json : Gateway Euidevice.json : พารามิเตอร์อุปกรณ์สำหรับโหมด OTAAabp.json : พารามิเตอร์อุปกรณ์สำหรับโหมด ABP ปรับเปลี่ยนการ infomation อุปกรณ์ใน device.json คัดลอก ตัวอย่าง:
-
"อุปกรณ์": {
"Joineui": "0000000000000000"
"Deveui": "0000000000000000"
-
"Rootkeys": {
"Appkey": "00000000000000000000000000000000"
"NWKKEY": "00000000000000000000000000000000"
-
-
หมายเหตุ : หากคุณต้องการเลียนแบบอุปกรณ์ Lorawan 1.0 ให้ตั้งค่า JoinEUI ครั้งแรกเท่ากับ AppEUI และตั้งค่า NwkKey เท่ากับ AppKey
แก้ไขข้อมูลการเปิดใช้งานอุปกรณ์ใน abp.json ตัวอย่าง:
-
"Deveui": "0000000000000000"
"Joineui": "0000000000000000"
"Devaddr": "00000000"
"Appkey": "00000000000000000000000000000000"
"NWKKEY": "00000000000000000000000000000000"
"NWKSENCKEY": "00000000000000000000000000000000"
"Snwksintkey": "00000000000000000000000000000000"
"FNWKSINTKEY": "0000000000000000000000000000000000"
"AppSkey": "00000000000000000000000000000000"
"fcntup": 0,
"เวอร์ชัน": "1.1"
-
ปัจจุบันรองรับข้อความห้าประเภท: ข้อมูลดึง, เข้าร่วมคำขอ, การร้องขอการเข้าร่วม, ข้อมูลยืนยัน (หรือไม่ยืนยัน) ข้อมูล (มีหรือไม่มีคำสั่ง FOPT) และ MAC ในฟิลด์ frmpayload:
หมายเหตุ : จำไว้เสมอว่าให้ mote pull เพื่อให้เกตเวย์มีชีวิตอยู่ในเซิร์ฟเวอร์
ข้อมูลมลทิน ดึงมลทิน MOTE ABP Mote เข้าร่วม [-n] Mote Recoin 'rejointyp' (0, 1, 2) แอพ Mote 'ข้อความ' (ข้อความอัปลิงค์จะถูกเข้ารหัสโดย UTF-8) [-auf] คำสั่ง MOTE MAC '(คำสั่ง MAC ในฟิลด์ frmpayload)
นี่คือขั้นตอนตัวอย่างของการโต้ตอบกับ Chirpstack:
ดึงมลทิน MOTE เข้าร่วม -N แอพ Mote HelloWorld -F 0302 Mote Main.py Mac 0302
repo นี้เป็นเจ้าภาพใน https://github.com/houluy/lora-motes-emulator และภายใต้ใบอนุญาต MIT การบริจาคหรือข้อเสนอแนะใด ๆ ยินดีต้อนรับ เพียงเปิดปัญหาหรือส่งคำขอดึง