HarmonyConnect之AT指令
??想了解更多關(guān)于開源的內(nèi)容,請訪問:??
基礎(chǔ)環(huán)境:Hi3861芯片的模組(單wifi模組)/HF-LPT270模組(內(nèi)置芯片為BL602,為Combo模組),OpenHarmony1.1.0源碼,hilinkSDK。
1、什么是AT指令
AT指令是用于PC與終端設(shè)備之間進(jìn)行連接與通信的命令。
在命令行模式下,用戶可以通過 AT+指令利用 UART 口對模塊進(jìn)行設(shè)置。
2、怎么用AT指令
芯片為3861的模組
使用HiBurn燒錄固件
打開sscom5串口工具
選擇好串口以及波特率之后打開串口,并復(fù)位模組,復(fù)位時如果模組上有復(fù)位鍵可以直接使用,如果沒有可參考如下引腳圖。
圖中EN引腳為復(fù)位,該引腳與GND短接就行。
此時,復(fù)位之后默認(rèn)進(jìn)入的是產(chǎn)測模式,AT指令只有在這個模式才能使用。
AT+FTM=1 進(jìn)入產(chǎn)測模式。
進(jìn)入產(chǎn)測模式之后,就可以燒錄token以及進(jìn)行查看設(shè)備mac地址等各種操作。
燒錄token:AT+TOKEN=[token 號]。
查看mac地址:AT+MAC?。
BL602芯片的模組
使用燒錄工具燒錄固件
配置如下圖:
串口工具連接以及引腳圖
其中,log口的TX為GPIO17,RX為GPIO11,波特率設(shè)置為921600。
通信口的TX為GPIO16,RX為GPIO7,波特率為9600。
這些外設(shè)的復(fù)用和波特率設(shè)置可以在代碼中設(shè)置,不一定固定。
用串口工具連接之后復(fù)位(可以直接操作3.3V讓設(shè)備重新上電)。
進(jìn)入AT指令模式需要輸入“+”和“a”,輸入“+”和“a”需要在一定時間內(nèi)完成,以減少正常工作時誤進(jìn)入命令模式
的概率,兩者之間間隔不能大于3s。
進(jìn)入命令行模式之后就可以使用AT指令啦!如:
- AT+TOKEN。
- AT+WSMAC 查看mac地址。
- AT+WSMAC=8888,mac地址,模組商給的key值 可以燒錄mac地址。
- AT+RST 復(fù)位模組。
- AT+APPVER 查看APP軟件版本。
- AT+VER 查看軟件版本。
- 等。。。
3、如何自己寫AT指令
舉例:寫一個AT+RESET讓模組恢復(fù)出廠設(shè)置。
代碼位置
device/hisilicon/hi3861/sdk_liteos/components/at/src。
在map中加入自己想要增加的指令
并自己實現(xiàn)對應(yīng)的回調(diào)函數(shù)。
恢復(fù)出廠設(shè)置回調(diào)函數(shù)
static int hf_cmd_hilink_reset(pat_session_t s,int argc,char *argv[],char *rsp,int len)
{
if(argc==0)
{
#ifdef HARMONY_HILINK
extern void cmd_reply(const char *reply, int reply_len);
cmd_reply("+ok", strlen("+ok"));
hilink_restore_factory_settings();
#endif
return 0;
}
return -3;
}
其中hilink_restore_factory_settings()函數(shù)為hilinksdk中提供的恢復(fù)出廠設(shè)置接口,更多接口請參考hilink.h
3.4 AT+RESET。
設(shè)備恢復(fù)出廠設(shè)置,并重新配網(wǎng)。