B站視頻演示:https://www.bilibili.com/video/BV11t4y1m79r/?vd_source=089e9c9189991f80be4b4886098da65b#reply151108474896
代碼main.py,通過網頁把它傳入ESP8266 micropython固件中即可。如何傳輸自行查找資料吧。本人也忘記如何傳輸了。本文只是為了記錄一下曾經寫過的代碼案例。方便以后查找。
import usocket #導入socket包
import machine
import network
import time
LED=machine.Pin(2, machine.Pin.OUT)
LED.value(1)
WIFI_flag=1;
is_flag=0
ssid="CMCC-lin-----"
pwd="linjia@15120613059"
ap_ip=""
st_ip=""
while True:
if WIFI_flag == 1:
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid='ESP8266_WIFI')
ap.config(authmode=0)
print("ESP8266_IP:",ap.ifconfig()[0]+",Port:23")#獲取IP信息
s=usocket.socket()
s.bind(('',23)) #監聽本地端口23
s.listen(5)
'''
if WIFI_flag == 0:
#連接熱點WIFI
sta_if=network.WLAN(network.STA_IF)
sta_if.active(True)
#sta_if.scan()# 掃描當前可連接的WiFi名稱
sta_if.connect(ssid,pwd) # 設置要連接WiFi的名稱和連接密碼
print("SSID:",ssid+"nPassword:",pwd)
print("Linking WIFI...")
while True:
if sta_if.isconnected()==True:
break
else :
time.sleep(10)
print("Linking WIFI error.Please reset device and input right SSID or PAWD again!n")
print("ESP8266 link WIFI status:",sta_if.isconnected())#檢查是否連接成功
print("ESP8266_IP:",sta_if.ifconfig()[0]+",Port:80")#獲取IP信息
s=usocket.socket()
s.bind(('',80)) #監聽本地端口23
s.listen(5)
'''
print("waiting...")
c,a=s.accept()
print("one device link!")
c.send("Hi,Welcome micropython of ESP8266n")
while True:
client_data=c.recv(1024)#接收到的是字節
print("client_data:",client_data)
if client_data==b"":
#s.listen(5)
print("waiting...")
c,a=s.accept()
print("one device link!")
c.send("Hi,Welcome micropython of ESP8266n")
print("client:",client_data) #輸出收到的消息
if client_data==b"ON":#判斷字節
LED.value(0)#開燈
print("+++ LED OPEN +++")
c.send("+++ LED OPEN +++n")
if client_data==b"OFF":#判斷字節,字符串前面加b為強制類型轉換為字節
LED.value(1)#關燈
print("--- LED CLOSE ---")
c.send("Hi,Welcome ESP8266 micropythonn")
c.send("--- LED CLOSE ---n")
if client_data[0:5]==b"SSID:": #判斷 要連接的WIFI 名
ssid=client_data[5:]
ssid=bytes.decode(ssid)#字節轉換成字符串
print("ssid:",ssid)
if client_data[0:5]==b"PAWD:": #判斷WIFI密碼
pwd=client_data[5:]
pwd=bytes.decode(pwd)#字節轉換成字符串
print("password:",pwd)
if client_data==b"CXIP":
app = network.WLAN(network.AP_IF)
sta = network.WLAN(network.STA_IF)
print("STA_IP:",app.ifconfig()[0]+",Port:23n")
print("AP_IP:",sta.ifconfig()[0]+",Port:23n")
c.send("nPort:23,STA_IP:")
c.send(sta.ifconfig()[0])
c.send("nPort:23,AP_IP:")
c.send(app.ifconfig()[0])
if client_data==b"WIFI_AP":
WIFI_flag=1
print("--- WIFI_AP ---")
for i in range(1):
LED.value(0)#開燈
time.sleep(0.5)
LED.value(1)#關燈
time.sleep(0.5)
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid='ESP8266_WIFI')
ap.config(authmode=0)
print("ESP8266_IP:",ap.ifconfig()[0]+",Port:23")#獲取IP信息
print("waiting...")
for i in range(2):
LED.value(0)#開燈
time.sleep(0.5)
LED.value(1)#關燈
time.sleep(0.5)
c,a=s.accept()
print("one device link!")
c.send("Hi,Welcome micropython of ESP8266n")
for i in range(3):
LED.value(0)#開燈
time.sleep(0.5)
LED.value(1)#關燈
time.sleep(0.5)
if client_data==b"WIFI_ST":
WIFI_flag=0
print("--- WIFI_ST ---")
for i in range(1):
LED.value(0)#開燈
time.sleep(0.5)
LED.value(1)#關燈
time.sleep(0.5)
#連接熱點WIFI
sta_if=network.WLAN(network.STA_IF)
sta_if.active(True)
#sta_if.scan()# 掃描當前可連接的WiFi名稱
sta_if.connect(ssid,pwd) # 設置要連接WiFi的名稱和連接密碼
print("SSID:",ssid+"nPassword:",pwd)
print("Linking WIFI...")
while True:
if sta_if.isconnected()==True:
is_flag=1
break
else :
time.sleep(10)
print("Linking WIFI error.Please reset device and input right SSID or PAWD again!n")
print("ESP8266 link WIFI status:",sta_if.isconnected())#檢查是否連接成功
print("ESP8266_IP:",sta_if.ifconfig()[0]+",Port:23")#獲取IP信息
print("waiting...")
for i in range(2):
LED.value(0)#開燈
time.sleep(0.5)
LED.value(1)#關燈
time.sleep(0.5)
c,a=s.accept()
print("one device link!")
c.send("Hi,Welcome micropython of ESP8266n")
for i in range(3):
LED.value(0)#開燈
time.sleep(0.5)
LED.value(1)#關燈
time.sleep(0.5)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
led
+關注
關注
242文章
23252瀏覽量
660562 -
TCPIP
+關注
關注
1文章
56瀏覽量
22749 -
ESP8266
+關注
關注
50文章
962瀏覽量
44960 -
Micropython
+關注
關注
0文章
68瀏覽量
4731
發布評論請先 登錄
相關推薦
CC2530采用ESP8266與手機APP通信
項目概述: 項目實現通過CC2530控制ESP8266將其配置成AP+TCP服務器模式,并通過手機APP連接到TCP服務器并完成數據傳輸。
esp8266,tcp通信實例詳解
ESP8266工作在station模式下,需確認ESP8266已經連接AP(路由器)并分配到IP地址,啟用client連接,ESP8266工作在soft-AP模式下,需確認連接ESP8266
發表于 11-04 10:14
?4.3w次閱讀
如何使用ESP8266和Android控制繼電器
ESP8266 WiFi模塊系列的下一個項目是通過在MIT App Inventor的幫助下開發的App(應用程序)使用ESP8266和Android控制繼電器。通過在Android手
怎樣使用ESP8266 Flasher和Programmer燒寫ESP8266 AT固件
選擇要連接的COM端口ESP8266 Flasher和Programmer + ESP8266 Wifi串行收發器模塊。將BAUDRATE設置為115200。
普中WIFI ESP8266模塊的詳細資料合集免費下載
規格書)PZ-WIFI-ESP8266模塊程序(PZ-WIFI-ESP8266模塊--STM32F1程序,PZ-WIFI-ESP8266模塊--STM32F4程序),調試工具(TCP&
發表于 03-03 08:00
?108次下載
ESP8266 wifi模塊開發匯總
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開發匯總?ESP8266 wifi模塊開發匯總本文檔主要介紹開發者在
發表于 11-05 19:21
?188次下載
STM32-ESP8266wifi模塊實現
1.ESP8266WiFi模塊介紹1.1ESP8266wifi 模塊低功耗串口WiFi模塊ESP8266內置一個Tensilica(泰思立達) Xtensa架構的32位處理器L106,
發表于 11-19 13:06
?79次下載
ESP8266之硬件機理
上的wifi4.4找到你要接入的wifi,添加賬號和密碼4.5獲取此時esp8266的IP地址4.6開啟多通道模式4.7開啟服務器,設置服務
發表于 12-09 12:21
?34次下載
使用ESP8266-01制作WIFI遙控小車(一)
互聯網實現對設備的遠程控制。AP 模式:ESP8266 模塊作為熱點,手機或電腦直接與模塊連接,實現局域網無線控制。STA+AP 模式:兩種
發表于 01-12 19:47
?46次下載
使用ESP8266 Wifi模塊和iPhone/Android控制LED
電子發燒友網站提供《使用ESP8266 Wifi模塊和iPhone/Android控制LED.zip》資料免費下載
發表于 11-09 14:15
?10次下載
ESP8266芯片WIFI模塊接入云平臺的方法教程
ESP8266 的模塊芯片是基于無線通信協議的 UART-WiFi透傳模塊芯片,支持 802.11b/g/n 的無線標準,并帶有三種可選擇的工作模式。ESP8266 模塊的控制是通過
esp8266wifi模塊怎么連接手機
和密碼)。 配置成功后,ESP8266將能夠通過路由器連接到互聯網。 手機連接同一WiFi網絡 : 在手機上打開WiFi設置,
評論