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
+关注
关注
237文章
22449浏览量
645878 -
TCPIP
+关注
关注
1文章
54浏览量
22661 -
ESP8266
+关注
关注
50文章
947浏览量
43946 -
Micropython
+关注
关注
0文章
68浏览量
4582
发布评论请先 登录
相关推荐
CC2530采用ESP8266与手机APP通信
项目概述: 项目实现通过CC2530控制ESP8266将其配置成AP+TCP服务器模式,并通过手机APP连接到TCP服务器并完成数据传输。
stm32是如何控制ESP8266的
stm32控制ESP8266获取指定城市天气并且在led屏幕上显示使用:在ATK_ESP8266文件夹下面的wifista.c第14行修改wifi
发表于 01-12 06:39
ESP8266的硬件机理是什么意思
上的wifi4.4找到你要接入的wifi,添加账号和密码4.5获取此时esp8266的IP地址4.6开启多通道模式4.7开启服务器,设置服务
发表于 02-14 06:37
如何烧写F103-霸道/指南者上的 ESP8266 WIFI的固件
烧写的地址也要设置好,具体的软件配置见下图。 4-用USB线连接电脑与开发板的USB转串口,然后在ESP8266 WIFI 烧写软件上搜索串口,设置波特率,具体见下图。 5-把
发表于 11-24 17:46
•18次下载
esp8266串口wifi实例
ESP8266串口WiFi扩展板是深圳四博智联科技有限公司开发的一款基于乐鑫ESP8266的超低功耗的UART-WiFi模块,本文介绍了ESP826
发表于 12-08 13:34
•1.8w次阅读
esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例)
本文首先介绍了esp8266引脚图功能与esp8266特性,其次介绍了
单片机与ESP8266串口连接及最小系统连接与程序分享,最后介绍了esp8266串口
发表于 05-24 08:36
•22.1w次阅读
怎样使用ESP8266 Flasher和Programmer烧写ESP8266 AT固件
选择要连接的COM端口ESP8266 Flasher和Programmer + ESP8266 Wifi串行收发器模块。将BAUDRATE设置为115200。
ESP8266之硬件机理
上的wifi4.4找到你要接入的wifi,添加账号和密码4.5获取此时esp8266的IP地址4.6开启多通道模式4.7开启服务器,设置服务
发表于 12-09 12:21
•31次下载
【STM32F4】ATK-ESP8266 WiFi模块作为TCP Client发送信息
因为是物联网专业,毕设用到了ATK-ESP8266的TCP Client模式发送信息,通过查找资料自己编写了一个单功能的TCP Cliet连接,ATK-ESP8266
发表于 12-23 20:00
•6次下载
使用ESP8266 Wifi模块和iPhone/Android控制LED
电子发烧友网站提供《使用ESP8266 Wifi模块和iPhone/Android控制LED.zip》资料免费下载
发表于 11-09 14:15
•7次下载
评论