最新案例教程點(diǎn)擊下方鏈接跳轉(zhuǎn),CSDN已停止更新
點(diǎn)
擊
跳
轉(zhuǎn)
點(diǎn)擊跳轉(zhuǎn)HaaS506官方最新案例
PC端調(diào)試wifi模塊
esp8266-01s
1.接線(與電腦通信)
與電腦通信時(shí)引腳連接,wifi模塊需要穩(wěn)定3.3v供電,可以使用開(kāi)發(fā)板進(jìn)行供電。
VCC接3.3V
CH_PD接3.3V,否則wifi不工作
TX接串口TX
RX接串口的RX
GND接地,WiFi模塊,CH340模塊,開(kāi)發(fā)板共地
2.各模式AT指令
wifi模塊默認(rèn)有內(nèi)置SDK,通過(guò)發(fā)送AT指令可以配置WiFi模塊。
參考文件文檔工具
1、單連接TCP client模式指令
AT+CWMODE=3 //設(shè)置為 softAP+station 共存模式
AT+CWJAP="ssid","password" // 傳入路由的ssid 和 password
AT+CIFSR //查詢?cè)O(shè)備IP。響應(yīng):192.168.3.106 //返回設(shè)備的 IP 地址
AT+CIPSTART="TCP","192.168.3.116",8080 //傳入?yún)f(xié)議、服務(wù)器 IP、端口號(hào)
AT+CIPSEND=4 // 發(fā)送四個(gè)字節(jié),字節(jié)數(shù)可按需任定
test // 輸入要發(fā)送的四個(gè)字節(jié)內(nèi)容,無(wú)需回車(chē)。
2、TCP client單連接透?jìng)髂J街噶?/p>
AT+CWMODE=3 //設(shè)置為 softAP+station 共存模式
AT+CWJAP="ssid","password" // 傳入路由的ssid 和 password
AT+CIFSR //查詢?cè)O(shè)備IP。響應(yīng):192.168.3.106 //返回設(shè)備的 IP 地址
AT+CIPSTART="TCP","192.168.3.116",8080 //傳入?yún)f(xié)議、服務(wù)器 IP、端口號(hào)
AT+CIPMODE=1 //開(kāi)啟透?jìng)髂J?/span>
AT+CIPSEND //開(kāi)始透?jìng)?/span>
+++ //退出發(fā)送數(shù)據(jù)
AT+CIPMODE=0 //退出透?jìng)髂J?/span>
AT+CIPCLOSE //斷開(kāi)TCP連接
AT+CWQAP //斷開(kāi)熱點(diǎn)
3、多連接 TCP server模式指令(AP模式)
AT+CWMODE=2 //設(shè)置成AP模式,相當(dāng)于路由器
AT+CWSAP_DEF="ESP8266","12345678",5, 4 //WIFI名稱(chēng),密碼 , 通道號(hào) ,加密方式(0~4)
AT+CIFSR //查詢ESP8266的IP地址(很重要)
AT+CIPMUX=1 //開(kāi)啟多連接(可以被多個(gè)手機(jī)連接)(很重要,要不然,下一個(gè)指令會(huì)報(bào)錯(cuò))
AT+CIPSERVER=1,8080 //開(kāi)啟服務(wù)器
4、固定遠(yuǎn)端的UDP通信
AT+CWMODE=3 // 配置 WiFi 模式
AT+CWJAP="SSID","password" // 連接路由器
AT+CIFSR //查詢 ESP8266 設(shè)備的 IP 地址
AT+CIPMUX=1//使能多連接
AT+CIPSTART=4,"UDP","192.168.101.110",8080,1112,0//創(chuàng)建 UDP 傳輸。分配連接號(hào)為 4
AT+CIPSEND=4,7 // Send 7 bytes to transmission NO.4
>UDPtest // enter the data, no CR
AT+CIPCLOSE=4//斷開(kāi) UDP 傳輸
5、遠(yuǎn)端可變的UDP通信
AT+CWMODE=3 // 配置 WiFi 模式
AT+CWJAP="SSID","password" // 連接路由器
AT+CIFSR //查詢 ESP8266 設(shè)備的 IP 地址
AT+CIPMUX=1//使能多連接
AT+CIPSTART="UDP","192.168.101.110",8080,1112,2//創(chuàng)建 UDP 傳輸。
AT+CIPSEND=7 // Send 7 bytes
>UDPtest // enter the data, no CR
AT+CIPSEND=7,"192.168.101.111",1000 //發(fā)送數(shù)據(jù)到其他指定遠(yuǎn)端。例如,發(fā)數(shù)據(jù)到 192.168.101.111, 端? 1000。
>UDPtest // enter the data, no CR
AT+CIPCLOSE//斷開(kāi) UDP 傳輸
6、UDP透?jìng)?/p>
AT+CWMODE=3 //配置 WiFi 模式
AT+CIPSTART="UDP","192.168.4.2",1001,2233,0//ESP8266 與 PC 對(duì)應(yīng)端?建?固定對(duì)端的 UDP 傳輸
AT+CIPMODE=1//使能透?jìng)髂J?/span>
AT+CIPSEND //ESP8266 設(shè)備向服務(wù)器發(fā)送數(shù)據(jù)
+++ //退出發(fā)送數(shù)據(jù)
AT+CIPMODE=0//退出透?jìng)髂J?/span>
AT+CIPCLOSE//斷開(kāi) TCP 連接
3.TCP透?jìng)髦噶钛菔?/h4>
以下以透?jìng)髂J街噶顬槔?br> 需要的工具點(diǎn)擊鏈接下載
1、打開(kāi)模塊串口,設(shè)置波特率115200,發(fā)送 AT+CWMODE=3 設(shè)置為 softAP+station 共存模式,返回ok。
2、AT+RST 重啟
3、AT+CWJAP=“szyyw”,“szyywdz501” 傳入路由的ssid 和 password,連接WIFI
4、AT+CIFSR 查詢?cè)O(shè)備IP。響應(yīng):192.168.3.106 返回設(shè)備的 IP 地址
5、在 PC 上使用網(wǎng)絡(luò)調(diào)試助手,創(chuàng)建一個(gè)服務(wù)器。
6、AT+CIPSTART=“TCP”,“192.168.3.41”,8080 傳入?yún)f(xié)議、服務(wù)器 IP、端口號(hào),連接TCP服務(wù)器
7、AT+CIPMODE=1 開(kāi)啟透?jìng)髂J?/p>
8、AT+CIPSEND 開(kāi)始透?jìng)?/p>
串口工具與TCP服務(wù)器數(shù)據(jù)可以互傳
開(kāi)發(fā)板與wifi模塊通信
1.接線(TTL串口通信)
與開(kāi)發(fā)板通信正常連接4根線就行
haas506 | esp826601s |
---|---|
3.3V | VCC |
GND | GND |
TTL_TX | RX |
TTL_RX | TX |
2.代碼
完整代碼
案例中haas506通過(guò)TTL口向WiFi模塊發(fā)送指令,配置WiFi模塊為透?jìng)髂J剑瑢?shí)現(xiàn)網(wǎng)絡(luò)TCP服務(wù)器與開(kāi)發(fā)板相互通信。
main.py
station.py
import utime
from driver import UART
import _thread
#串口實(shí)例化
uart=UART()
uart.open("serial1")
#創(chuàng)建一個(gè)readBuf字節(jié)數(shù)組,用于存放串口讀取到的數(shù)據(jù)
readBuf=bytearray(255)
def Station_init():
#設(shè)置為 softAP+station 共存模式
wrirtBuf = bytearray("AT+CWMODE=3\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
def connect_wifi(account,password):
wrirtBuf = bytearray("AT+CWJAP=\"{}\",\"{}\"\r\n".format(account,password))
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
wrirtBuf = bytearray("AT+CIFSR\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
def TcpConnect(host,port):
#開(kāi)啟透?jìng)髂J? wrirtBuf = bytearray("AT+CIPMODE=1\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
#tcp連接
wrirtBuf = bytearray("AT+CIPSTART=\"TCP\",\"{}\",{}\r\n".format(host,port))
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
#開(kāi)始透?jìng)? wrirtBuf = bytearray("AT+CIPSEND\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
def tcprecv():
print('Running thread tcprecv...')
try:
ret = uart.read(readBuf)
except OSError:
print('TCP OSError')
if ret>0:
print(readBuf[:ret],'------------')
return readBuf[:ret]
else :
return None
def update(value):
wrirtBuf = bytearray("{}\r\n".format(value))
uart.write(wrirtBuf)
board.json文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-501752.html
{
"name": "haas506",
"version": "2.0.0",
"io": {
"serial1":{
"type":"UART",
"port":0,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
}
},
"debugLevel": "ERROR",
"repl":"enable"
}
測(cè)試
打開(kāi)網(wǎng)絡(luò)調(diào)試助手
TTL串口每隔4s發(fā)送一條指令
開(kāi)啟透?jìng)骱螅_(kāi)發(fā)板每秒向TCP服務(wù)器發(fā)送一個(gè)數(shù)據(jù)
TCP下發(fā)數(shù)據(jù)時(shí),開(kāi)發(fā)板會(huì)打印接收到的數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-501752.html
到了這里,關(guān)于3.41 - haas506與esp8266-01s的串口通信(TCP透?jìng)?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!