圖文詳解7大常用指令與5種通信模式,告別配置難題
一、引言
本文將介紹E52-xxxNWxxS 的使用示例。使用E52做測試的時候,每個模塊最好之間保持10厘米以上的間距,本次實驗將會用到4個 E52-400NW22S-TB。

在進(jìn)行通信實驗時,請注意以下幾點:
- 模塊出廠是廣播通信方式;節(jié)點類型是路由節(jié)點;網(wǎng)絡(luò)識別碼(PANID)處于同一個網(wǎng)絡(luò);端口(用于遠(yuǎn)程配置)都是1;目標(biāo)地址都是0,當(dāng)前地址不一樣。

路由節(jié)點和終端節(jié)點切換之后,地址會發(fā)生改變,且兩個地址范圍不一樣:
如果是路由節(jié)點,設(shè)置超過取值范圍的值,地址信息是錯誤的。
- 路由節(jié)點取值范圍:0x0000~0x7FFF
- 終端節(jié)點取值范圍:0x8000~0xFFFE
二、常用的指令(AT指令)
AT指令發(fā)送時不加回車換行,默認(rèn)波特率為115200。
| 指令 | 功能說明 |
|---|---|
| AT+DEFAULT | 恢復(fù)出廠設(shè)置(配置前建議執(zhí)行) |
| AT+SRC_ADDR=? | 查詢當(dāng)前模塊地址 |
| AT+DST_ADDR=26034,1 | 設(shè)置目標(biāo)地址(26034為目標(biāo)地址,1為掉電保存) |
| AT+OPTION=? | 查詢通訊方式(0x01單播/0x02多播/0x03廣播/0x04泛播) |
| AT+OPTION=1,1 | 設(shè)置為單播通信并保存 |
| AT+ROUTER_READ=? | 查詢路由表 |
| AT+TYPE=1 | 設(shè)置節(jié)點類型(0路由/1終端) |
| AT+ROUTER_CLR=1 | 清除路由表 |
| AT+GROUP_ADD=? | 查詢所有多播地址 |
| AT+GROUP_CLR=1 | 清除所有多播地址 |
| AT+GROUP_ADD=1222 | 設(shè)置多播地址 |
| AT+PANID=1111,1 | 設(shè)置網(wǎng)絡(luò)識別碼(用于泛播) |
| AT+DST_PORT=14,0 | 設(shè)置目標(biāo)端口(14開啟遠(yuǎn)程配置,1關(guān)閉) |
| AT+HEAD=0 | 數(shù)據(jù)幀頭開關(guān)(0關(guān)閉/1打開) |
三、數(shù)據(jù)幀頭設(shè)置
使用和不使用數(shù)據(jù)幀頭開關(guān)AT+HEAD指令的區(qū)別如下圖所示:
- 左邊:關(guān)閉數(shù)據(jù)幀頭
- 右邊:打開數(shù)據(jù)幀頭

圖3.1 數(shù)據(jù)幀頭開關(guān)效果對比
四、單播通信
4.1 單播通信示例
單播實驗需要使用兩個E52模塊,本文使用2個E52-400NW22S-TB,兩模塊間隔10厘米以上。設(shè)為模塊A和模塊B。
操作步驟:
- 查詢地址
使用AT+SRC_ADDR=?獲取并記錄兩模塊自身地址。
注意:返回兩個值,前者為16進(jìn)制,后者為10進(jìn)制。
如圖4.1所示

- 設(shè)置通信方式
將模塊A和模塊B的廣播改為單播:
AT+OPTION=1,1
- 如圖4.2所示

- 設(shè)置目標(biāo)地址
模塊A和模塊B分別輸入對方的目標(biāo)地址:
AT+DST_ADDR=目標(biāo)地址,1
- 如圖4.3所示

- 建立通信
雙方發(fā)送非AT指令(如隨意字符),建立成功會返回"SUCCESS",且對方能收到信息。
如圖4.4所示

4.2 注意事項
若通信返回NO ROUTE或NO ACK:
- 檢查目標(biāo)地址是否匹配
- 使用AT+DEFAULT恢復(fù)出廠設(shè)置,重新上電
- 仍不行則拔掉模塊放置幾分鐘,再恢復(fù)出廠重試
任意節(jié)點類型組合均可單播通信:
- 路由 路由
- 路由 終端
- 終端 終端
五、MESH組網(wǎng)
想實現(xiàn)MESH組網(wǎng),需要3個及以上模塊。本次實驗使用4個E52-400NW22S-TB。
操作步驟:
- 按上文“單播”方式,讓兩兩模塊進(jìn)行通信
- 通信完畢后,分別用AT+ROUTER_READ=?查詢路由表
- 若出現(xiàn)類似下圖所示現(xiàn)象,則表示所有模塊處于同一MESH網(wǎng)絡(luò)中
注意:MESH網(wǎng)絡(luò)中,只有路由節(jié)點會轉(zhuǎn)發(fā),終端節(jié)點不會轉(zhuǎn)發(fā)。

六、多播通信
本次實驗使用4個E52模塊,設(shè)為A、B、C、D。
實驗?zāi)繕?biāo):
- 模塊B:存有多播地址1111和3333
- 模塊C:存有多播地址1111、2222、3333
- 模塊D:存有多播地址2222和3333
則:
- A發(fā)地址1111→ B、C收到
- A發(fā)地址2222→ C、D收到
- A發(fā)地址3333→ B、C、D收到
操作步驟:
- 配置多播地址
使用AT+GROUP_ADD依次為模塊B、C、D配置地址。
如圖6.1所示

- 查詢多播地址
使用AT+GROUP_ADD=?查詢。
如圖6.2所示

- 多播測試結(jié)果
- A發(fā)AT+DST_ADDR=1111,0發(fā)送"1234567890"→ B、C收到
如圖6.3所示
- A發(fā)AT+DST_ADDR=2222,0→ C、D收到
如圖6.4所示
- A發(fā)AT+DST_ADDR=3333,0→ B、C、D收到
如圖6.5所示
七、泛播通信
泛播主要用于網(wǎng)絡(luò)識別碼(PANID)不同時的通信。
示例:
- 模塊A:出廠設(shè)置(默認(rèn)PANID)
- 模塊B:出廠設(shè)置,但用AT+PANID修改了PANID
此時單播/廣播/多播均無法通信,需使用泛播。
操作步驟:建議先熟悉“單播”操作,再進(jìn)行泛播配置。
如圖7.1所示

八、遠(yuǎn)程配置
在完成“單播”通信的基礎(chǔ)上,可進(jìn)行遠(yuǎn)程配置。
操作步驟:
對目標(biāo)模塊執(zhí)行:
AT+DST_PORT=14,0
使用固定格式++指令修改目標(biāo)模塊參數(shù)
如圖8.1所示:模塊A遠(yuǎn)程修改模塊B的PANID

遠(yuǎn)程配置前提:
確保模塊之間能正常通信(單播/多播/廣播/泛播均可)。
若遠(yuǎn)程配置無返回信息:
- 重新配置為單播通信,確保能接收信息
- 仍不行則發(fā)送AT+DEFAULT恢復(fù)出廠,斷電放置幾分鐘后重試
總結(jié)
E52模塊支持單播、多播、廣播、泛播、MESH組網(wǎng)、遠(yuǎn)程配置等多種通信方式,只需掌握基本AT指令與配置邏輯,即可靈活搭建穩(wěn)定無線網(wǎng)絡(luò)。建議操作前務(wù)必閱讀手冊,并按步驟逐一驗證。
-
無線通信
+關(guān)注
關(guān)注
58文章
5052瀏覽量
147015 -
組網(wǎng)
+關(guān)注
關(guān)注
1文章
450瀏覽量
23399 -
Mesh
+關(guān)注
關(guān)注
5文章
235瀏覽量
31425
發(fā)布評論請先 登錄
《手把手教你做星閃無人機—KaihongOS星閃無人機開發(fā)實戰(zhàn)》系列課程課件匯總
一步步教你在局域網(wǎng)內(nèi)玩轉(zhuǎn)NAT命令
CC2530一步步演示程序燒寫
一步步進(jìn)行調(diào)試GPRS模塊
stm32是如何一步步實現(xiàn)設(shè)置地址匹配接收喚醒中斷功能的
看電路是怎么把電壓一步步頂上去的?資料下載
ROM與RAM 單片機上電后如何一步步執(zhí)行?資料下載
基于一步步蒸餾(Distilling step-by-step)機制
E52模塊實戰(zhàn)指南:從單播到MESH組網(wǎng),一步步教你玩轉(zhuǎn)無線通信
評論