ตัวอย่างแอปพลิเคชัน Lora Point และ Lorawan Network สำหรับ Zephyr RTOS
ทดสอบด้วยเป้าหมายต่อไปนี้:
โฟลเดอร์ Lorawan มีรหัสตัวอย่างเพื่อเชื่อมต่อกับเครือข่ายสิ่งต่าง ๆ และส่งค่าอุณหภูมิและความชื้นจาก Sensirion SHTC3
อุปกรณ์ LoRawan EUI เข้าร่วม EUI และคีย์แอปพลิเคชันควรป้อนลงในไฟล์ lorawan.h ก่อนที่จะรวบรวม
ไฟล์ prj.conf มีคำสั่งเพื่อเปิดใช้งานภูมิภาคของคุณ (ความถี่):
#LORAMAC_REGION_AS923=y
LORAMAC_REGION_AU915=y
#LORAMAC_REGION_CN470=y
#LORAMAC_REGION_CN779=y
#LORAMAC_REGION_EU433=y
#LORAMAC_REGION_EU868=y
#LORAMAC_REGION_KR920=y
#LORAMAC_REGION_IN865=y
#LORAMAC_REGION_US915=y
#LORAMAC_REGION_RU864=y
เซ็นเซอร์ I2C SHTC3 สามารถเชื่อมต่อกับพิน I2C ที่จัดสรรในไฟล์บอร์ดที่เกี่ยวข้องสำหรับเป้าหมายของคุณ
ตัวอย่างจัดเก็บ devnonce ใน NVS (ที่เก็บข้อมูลที่ไม่ระเหย) ตามข้อกำหนดของ Lorawan 1.0.4
STM32WL5E มี EUI IEEE 64 บิตที่เก็บไว้ที่ 0x1FFF7580 เราสามารถอ่านสิ่งนี้และใช้เป็นอุปกรณ์ EUI ปัจจุบันอุปกรณ์ Lorawan EUI เป็นรหัสยาก
*** Booting Zephyr OS build zephyr-v3.2.0-3920-g5787c69b9ce5 ***
Zephyr LoRaWAN Node Example
Board: lemon_iot_lora_rak3172
NVS: ID 1, DevNonce: 8
Starting LoRaWAN stack.
Joining network using OTAA, dev nonce 8, attempt 1: Timed-out waiting for response.
Joining network using OTAA, dev nonce 9, attempt 2: Join successful.
Sending Temp 27.77 RH 50.1
Sending Temp 27.47 RH 51.2
โฟลเดอร์ LORA มีรหัสตัวอย่างเพื่ออนุญาตการทดสอบวิทยุ LORA (การสื่อสารแบบชี้ไปยังจุด) สิ่งนี้มีประโยชน์สำหรับการตรวจสอบความถูกต้องของวิทยุ LORA ของคุณทำงานอย่างถูกต้องก่อนที่จะพยายามเชื่อมต่อกับเครือข่าย Lorawan
เมื่อเริ่มต้นแอปจะฟังแพ็คเก็ตบนความถี่/ช่องที่เลือก เมื่อกด SW1 จะส่งแพ็คเก็ต ('Hello') ใน ASCII
โปรดตรวจสอบการกำหนดค่าความถี่/ช่องก่อนที่จะใช้และตรวจสอบให้แน่ใจว่าคุณกำลังส่งสัญญาณที่อนุญาตสำหรับประเทศของคุณ
*** Booting Zephyr OS build zephyr-v3.2.0-3920-g5787c69b9ce5 ***
LoRa Point to Point Communications Example
LoRa Device Configured
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -75dBm, SNR = 8dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -75dBm, SNR = 8dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -75dBm, SNR = 9dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -74dBm, SNR = 9dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -74dBm, SNR = 9dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -74dBm, SNR = 8dBm