最近因爲物聯網的作業,一直在弄arduino的ESP8266,看了很多的文章,感覺這篇寫的很好,轉過來做個紀念(儘管後來因爲軟件的原因放棄了這個通訊方式,但是還是感覺很有意義)。
正文:
這兩天測試發現一個地方寫錯了
發送數據的地方
還發現,自己用串口模塊的3.3V給模塊供電模塊不能工作,,所以自己直接接的串口模塊的5V
模塊就工作了,一啓動模塊確實需要一定的電流才能啓動.
用的這款
各引腳功能:來至廠家提供的資料
GPIO0 默認是工作模式(不接線)。如果接了低電平就是下載模式(給模塊刷固件!!),所以可以不接線,當然也可以接高電平。
反正一開始連接的時候CH_PD必須爲高電平。其餘的可以不接。
如果電腦的wifi上顯示了你的wifi信號說明模塊已經工作。
注意默認的波特率是115200!!!!!!設置好串口調試助手的波特率,再貼張圖片吧防止親們忘。
記得輸入各種AT指令,勾選上“發送新行”些內部信息)然後輸出READY!代表系統正
系統啓動後,系統會輸出一堆亂碼(其實不是亂碼,系統啓動後輸出一常
對於後面的操作--先提個醒,如果連接wifi出現連接不上的問題,可以發送AT+RESTORE 恢復出廠設置或刷固件
先看秦時明月;;;;;;終於做好了,android客服端軟件
,(記得加權限,網絡,和wifi。說給自己聽的)
來談談EPS8266的AT指令
先說一下EPS8266模快的兩(三)種工作模式:Station 模式,AP 模式和AP 兼 Station 模式;有玩過路由器的應該知道路由器除了正常使用(AP模式)外,還可以接收其他路由器的信號(Station 模式),然後再發出來(AP 兼 Station 模式)。這兩(三)種工作模式各怎樣用呢!
先說一下AP模式下的通信:就設置他的模式爲AP模式(就相當於普通路由器)
AT+CWMODE=? 響應返回當前可支持哪些模式
AT+CWMODE? 響應當前處於哪種模式
AT+CWMODE=2 1-Station 模式,2-AP 模式,3-AP 兼 Station 模式
步驟1 發送AT+CWMODE=2設置爲AP 模式
這種模式下模塊發出無線wifi信號。用電腦連接它
步驟2 發送AT+RST 重啓模塊使AT+CWMODE=2模式生效
步驟3 發送AT+CIPMUX=1 啓動多連接
爲什麼要啓動多路連接模式,意思是允許多個客戶端連接,當然模塊最多允許5個客戶端連接(每個客戶端對應一個id號,0--4)。也是必須設定的,不然配置爲服務器會出錯
接着就是怎樣與它通信。當然是網絡通信,也就是TCP/UDP通信兩種。{UDP--分爲發送端和接收端,面向無連接的通信(速度快),只向指定的ip(每一臺電腦都有自己的ip地址,向指定的ip地址發數據,數據就發送到了指定的電腦)端口(我把數據發送到電腦了,電腦中的哪個程序接收呢。不知道親們知不知道,其實每一個網絡軟件都有自己的通信端口,像qq,酷狗音樂的下載端口等等。現在知道了吧,向指定的ip地址和指定的端口發數據,才能發送到指定的電腦的指定的程序上)不管你接沒接收到,只管發}
{TCP--分爲服務器和客戶端,與udp不同的是雙方建立正常的連接後,才能通信,每次通信都會檢測連接正不正常,(通信可靠,速度比udp慢)}
模塊作爲服務器
步驟4 發送AT+CIPSERVER=1,8080開啓服務器模式,端口號8080
打開電腦的網絡調試助手(別忘了連接它的無線網)
對了遠程主機地址爲什麼是192.168.4.1
你可以發送AT+CIFSR指令查看一下模塊的自身ip地址
點擊連接
接着我用我的手機客戶端再連接(手機連接上它的無線網)
接着就是發信息(客戶端發給服務器)
接着就是發信息(服務器發給客戶端)
去掉髮送新行點擊發送
客戶端接收
如果往手機上發
模塊作爲客戶端,PC作爲服務器,最有意思的來了
模塊作爲客戶端咱從頭再來,
1,還是設置模塊的工作模式爲ap模式AT+CWMODE=2
2,復位一下AT+RST
3,發送AT+CIPMUX=0 啓動單連接,先弄單連接後弄多連接,多連接比較有意思,想知道就慢慢的往下看
4,AT+CIPSTART="TCP","192.168.4.2",8080
TCP說明是tcp連接,如果寫udp就是udp連接
192.168.4.2連接的ip地址,電腦的ip,端口號8080
接着就可以通信了
單路連接時發送指令爲AT+CIPSEND=x , x爲發送的字節數
(想起一個詞,多退少補,,,,,,)
看多路連接(首先提醒一下一個模塊可以做到四路連接)
1,還是設置模塊的工作模式爲ap模式AT+CWMODE=2
2,復位一下AT+RST
3,發送AT+CIPMUX=1 啓動多連接
4,AT+CIPSTART=0,"TCP","192.168.4.2",8080
5, AT+CIPSEND=0,20
6,去掉回車隨便打些東西
7,發送
接着再發送
AT+CIPSTART=1,"TCP","192.168.4.2",8080
AT+CIPSTART=2,"TCP","192.168.4.2",8080
AT+CIPSTART=3,"TCP","192.168.4.2",8080
AT+CIPSTART=4,"TCP","192.168.4.2",8080
都連接上了!!!!!!
5, AT+CIPSEND=1,20
6,去掉回車隨便打些東西
7,發送
5, AT+CIPSEND=2,20
6,去掉回車隨便打些東西
7,發送
5, AT+CIPSEND=3,20
6,去掉回車隨便打些東西
7,發送
5, AT+CIPSEND=4,20
6,去掉回車隨便打些東西
7,發送
再用網絡調試助手給模塊發信息試一試
好了AP模式就講這麼多,該Station 模式了
Station模式與AP模式不同在於,Station模式需要讓模塊連接上家裏的路由器的wifi。其餘的都一樣吧!
就讓模塊在Station模式下做服務器,然後與電腦通信(要在一個wifi下,電腦和模塊連接同一個wifi信號)
1,發送AT+CWMODE=1設置爲Station模式
2,AT+RST 重啓生效
3,連接家裏的路由AT+CWJAP="TP-LINK_A52","1234567890"
對了發送AT+CWLAP可以查詢周圍的wifi信號
對了發送AT+CWJAP可以看一看wifi是否真的連接上
4,AT+CIPMUX=1 啓動多連接
5,AT+CIPSERVER=1,8080 打開服務器端口爲8080
6,AT+CIFSR 看一下你模塊現在分得的ip是多少,因爲只要模塊連網就會重新分配ip地址。這也是網絡助手裏面遠程主機欄要填寫的ip地址
通信啥的就不多說了。
用模塊做客戶端
1 連接路由器AT+CWJAP="TP-LINK_A52","1234567890"
2 AT+CIPMUX=0 單連接
3 AT+CIPSTART="TCP","192.168.1.101",8080
後面就是發送數據,如果出現一直連接不上關閉電腦防火牆
多連接就不演示了,
AT+CIPSTART=0,"TCP","192.168.1.101",8080或
AT+CIPSTART=1,"TCP","192.168.1.101",8080或
AT+CIPSTART=2,"TCP","192.168.1.101",8080或
AT+CIPSTART=3,"TCP","192.168.1.101",8080或
AT+CIPSTART=4,"TCP","192.168.1.101",8080或
發送數據
AT+CIPSEND=0,20或
AT+CIPSEND=1,20或
AT+CIPSEND=2,20或
AT+CIPSEND=3,20或
AT+CIPSEND=4,20
應該差不多了。。。。。。。。。。。。
如果想用Lua腳本語言開發請看這篇,,不需要單片機發AT指令配置了