ESP32S用Micropython编程开发,TCP连接Tlink控制开关灯,可微信控制开关

Micropython烧录,就不说了,此网站有很详细的说明:http://www.1zlab.com 

Micropython的开发资料网站可以参考:http://docs.micropython.org/en/v1.8.7/esp8266/esp8266/tutorial/pins.html

 

 

下面直接来个简单的demo:

import socket
addr_info = socket.getaddrinfo("tcp.tlink.io",8647)
addr = addr_info[0][-1]
s = socket.socket()
s.connect(addr)#连接服务器
s.send(bFL03VD0S65PYX1MO)#发送消息,b是转换成字节型,里面的内容是我设备的序列号
print(connect....)
while True:
    data = s.recv(500).decode(utf8)#接收后解码,源码是字节型
    if data == 1:
        print(open LED)
    if data == 0:
        print(close)
    s.send([H:1][S:2][D?3][T:d])#随便发点啥说明设备在线

代码可以用粘贴,就是1zlab的里面网站里面的IDE

然后再加io口的代码就是下面(我就用esp32s上面的自带蓝灯,GPIO2):

 

import socket,machine#导入gpio操作库
LED = machine.Pin(2, machine.Pin.OUT)#GPIO2输出模式
addr_info = socket.getaddrinfo("tcp.tlink.io",8647)
addr = addr_info[0][-1]
s = socket.socket()
s.connect(addr)#连接服务器
s.send(bFL03VD0S65PYX1MO)#发送消息
print(connect....)
while True:
    data = s.recv(500).decode(utf8)#接收后解码,源码是字节型
    if data == 1:
        LED.value(1)
        print(open LED)
    if data == 0:
        LED.value(0)
        print(close)
    s.send([H:1][S:2][D?3][T:d])#随便发点啥说明设备在线

这样就可以在微信上面,控制开关了!

在优化一下,把心跳搞一下设置50秒发送一次(随便什么数据那个 ,其实那个是上传的数据,我这里不需要上传什么,毕竟就是一个开关)

心跳代码:

import socket,machine,utime#导入gpio操作库
old_time=0
LED = machine.Pin(2, machine.Pin.OUT)#GPIO2输出模式
addr_info = socket.getaddrinfo("tcp.tlink.io",8647)
addr = addr_info[0][-1]
s = socket.socket()
s.connect(addr)#连接服务器
s.send(bFL03VD0S65PYX1MO)#发送消息
print(connect....)
while True:
    data = s.recv(500).decode(utf8)#接收后解码,源码是字节型
    if data == 1:
        LED.value(1)
        # print(‘open LED‘)
    if data == 0:
        LED.value(0)
        # print(‘close‘)
    run_time=utime.time()
    if run_time-old_time>=50:
        s.send([H:%d][S:2][D?3][T:d]%run_time)#50秒就发一次心跳
        old_time=run_time
    print(data)

ESP32S用Micropython编程开发,TCP连接Tlink控制开关灯,可微信控制开关

再接入5V继电器,就可控制啦 ,当然还可以用控制更多开关,显示数据啥的,

 

ESP32S用Micropython编程开发,TCP连接Tlink控制开关灯,可微信控制开关

上一篇:小程序的生命周期


下一篇:微信小程序九宫格布局