ESP32S用Micropython編程開發,TCP連接Tlink控制開關燈,可微信控制開關


Micropython燒錄,就不說了,此網站有很詳細的說明:http://www.1zlab.com 

Micropython的開發資料網站可以參考:http://docs.micropython.org/en/v1.8.7/esp8266/esp8266/tutorial/pins.html

 

ESP32S 入手攻略 開發指南

 

下面直接來個簡單的demo:

import socket
addr_info = socket.getaddrinfo("tcp.tlink.io",8647)
addr = addr_info[0][-1]
s = socket.socket()
s.connect(addr)#連接服務器  也可以直接連接ip: s.connect(('ip',8647))
s.send(b'FL03VD0S65PYX1MO')#發送消息,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(b'FL03VD0S65PYX1MO')#發送消息
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(b'FL03VD0S65PYX1MO')#發送消息
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)

再接入5V繼電器,就可控制啦 ,當然還可以用控制更多開關,顯示數據啥的,

每次上傳的這個地址可以查看

 http://api.tlink.io/tlink_interface/api/device/getDataPoint_200040730.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM