測試說明
測試子產品數:3
測試模式:配置模式、傳輸模式和WOR模式
如果沒有檢測到序列槽,首先檢查是否安裝序列槽驅動CH341SER,下載下傳連結,提取碼:vaw2
工作模式
模式(0-3) | M1 | M0 | 模式介紹 | 備注 |
---|---|---|---|---|
0 傳輸模式 | 序列槽打開,無線打開透明傳輸 | 支援特殊指令空中配置 | ||
1 WOR模式 | 1 | 可以定義為WOR發送方和WOR接收方 | 支援空中喚醒 | |
2 配置模式 | 1 | 使用者可通過序列槽對寄存器進行通路,進而控制子產品工作狀态 | - | |
3 深度休眠 | 1 | 1 | 子產品進入休眠 | - |
配置子產品(進入配置模式)
配置模式的子產品跳帽如下圖
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLzATM3IDO1ATM4ADOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
用安卓資料線連接配接子產品後
打開官方提供的配置軟體ConfigureTool_EBYTE_E22Txx-Setting_v1.6.exe,提取碼:qzef,配置流程如下圖所示
子產品序号 | 傳輸方式 | 子產品位址 | 子產品信道 | 備注 |
---|---|---|---|---|
1 | 透傳 | FFFF(65535) | 5 | 子產品1可以廣播和監聽目前信道的所有資料 |
2 | 定點 | 2 | 5 | 定點傳輸測試 |
3 | 定點 | 3 | 5 | 定點傳輸測試 |
傳輸模式測試(子產品記得接上天線)
透傳和定點傳輸混合測試
傳輸模式的子產品跳帽如下圖
從左到右分别是子產品1、2、3,其中子產品1負責廣播和監聽目前信道的所有資料,子產品2、3用作定點傳輸測試
打開序列槽助手(如果沒有可以點選連結下載下傳,提取碼:disd)
配置序列槽裝置,9600波特率,按十六進制發送(子產品1因為采用透傳可不選)
子產品1透傳消息測試
子產品2定點傳輸測試 / 子產品1監聽信道消息測試
00 03 05 12345AB
子產品2廣播傳輸測試 / 子產品1監聽信道消息測試
子產品3定點傳輸測試 / 子產品1監聽信道消息測試
子產品3廣播傳輸測試 / 子產品1監聽信道消息測試
WOR模式測試
WOR發送方與接收方設定流程
配置LoRa子產品2為WOR發送方,LoRa子產品3為WOR接收方
子產品跳帽如下圖
3個子產品連接配接序列槽助手進行調試,WOR發送方向WOR接收方發送消息,成功
00 03 05 12345AB
WOR接收方向WOR發送方發送消息,失敗,說明一點:WOR模式下隻能由發送方向接收方發送消息,換種說法,發送方隻能發送消息,接收方隻能接收消息(心中瞬間産生一個疑問:那WOR接收方向接收方發送消息呢?經過測試,結論是不可以)。
MicroPython應用
找一塊PyBoard闆,插入傳感器(這裡用DS18B20溫度傳感器),用Pyboard的6号UART:Y1(TX)和Y2(RX)引腳傳輸溫度資料,将溫度資料傳輸給位址為02和03的LoRa子產品
接線說明
- 所有的LoRa子產品M0和M1引腳均置低,進入傳輸模式
- PyBoard闆子用安卓線連接配接電腦(如果通過USB hub連接配接檢測不到序列槽,直連電腦USB試試);
- PyBoard闆子引出3V3和GND給LoRa子產品1供電,Y1(TX)和Y2(RX)引腳分别連接配接子產品1的TX和RX(沒錯是TX對TX、RX對RX);
- LoRa子產品2、3使用USB-TTL連接配接電腦,引腳關系VCC-3V3、GND-GND、TX-TX和RX-RX(如果LoRa子產品你選擇跳帽5V就VCC-5V)。
如下圖所示
MicroPython測試程式,點選下載下傳,提取碼:hpan
打開uPyCraft,寫入程式,主程式如下,其他程式可點選上面的連結下載下傳
如果沒有uPyCraft.exe,點選下載下傳,提取碼:qpx5
// Main.py
import pyb
from dht11 import DHT11
from ds18b20 import DS18B20
from machine import Pin
from pyb import UART
import dht
import time
uart = UART(6,9600)
uart.init(9600, bits=8, parity=None, stop=1)
dht = dht.DHT11(Pin("B13"))
DS18B20 = DS18B20('B15')
DS18B20.Init()
while 1:
dht.measure()
uart.write('test start\r')
time.sleep(3)
print("DHT11 temperature:",dht.temperature())
print("DHT11 humidity:",dht.humidity(),'%')
pyb.LED(2).on()
pyb.delay(1000)
uart.write('DS18B20 temperature:%s' %DS18B20.get_temperature())
time.sleep(3)
uart.write('test finish\r')
time.sleep(1)
pyb.LED(2).off()
time.sleep(3)
通過uPycraft運作程式,通過序列槽助手可得知LoRa子產品2、3成功接收到DS18B20溫度資料
當然E22 LoRa子產品還有很多豐富的功能,例如中繼、加密傳輸等功能等着我們探索,
官方資料下載下傳連結
歡迎讨論與批評指正!