当前位置:首页 > 项目 > Wpython > 正文内容

micropython 连接到mqtt

Watrt3年前 (2023-05-31)Wpython15890
from umqtt.simple import MQTTClient
from machine import Pin
import ujson
import urequests
import network
import time

SERVER = "www.028sd.net"
CLIENT_ID = "esp32_01"
TOPIC = b"/#"
username='xk102'
password='200000'
state = 0
c=None
def sub_cb(topic, msg):
  global state
  print((topic, msg))
  try:
    data = ujson.loads(msg.decode())
    print(data)
    if data['cmd'] == "clean":
      print("清屏")
      ili.fill(0xFFFF)
      ili.show()
    elif data['cmd'] == "strst":
      print("写字")
      ili.fill(0xFFFF)
      line = int(data['line']) if "line" in data.keys() else 0
      col = int(data['col']) if "col" in data.keys() else 0
      print("行列:%d :%d" % (line,col))
      ili.textst('%s' % (data['data']), col, line*13, ili.brg(r=255))
      ili.show()
    elif data['cmd'] == "toggle":
      print("X")
      # LED is inversed, so setting it to current state
      # value will make it toggle
  except Exception as e:
    print(e)
    print("未知指令")
    
try:
  c = MQTTClient(CLIENT_ID, SERVER,0,username,password)     #create a mqtt client
  c.set_callback(sub_cb)                    #set callback
  c.connect()                               #connect mqtt
  c.subscribe(TOPIC)                        #client subscribes to a topic
  print("连接到 %s, 已订阅 %s topic" % (SERVER, TOPIC))

  while True:
    c.wait_msg()                            #wait message 
finally:
  if(c is not None):
    c.disconnect()


打赏 支付宝打赏 微信打赏

相关文章

micrpython编译javascript版

micrpython编译javascript版

1、首先安装emsdkgit clone https://github.com/emscripten-core/emsdk.git cd <path-to-emsdk> git pull ./emsdk install latest ./emsdk activate latest source ./emsdk_env.sh2、获取micropython源码git clone&...

micropython 实现文件下载保存到本地

micropython 实现文件下载保存到本地

import sys import gc import ussl import usocket gc.collect() debug = False index_urls = ["https://micropython.org/pi", "https://pypi.org/pypi"] install_path = None c...

micropython文本编辑器 界面

micropython文本编辑器 界面

##### startup script ##### #!/opt/bin/lv_micropython -i import lvgl as lv import display_driver ##### main script ##### import fs_driver fs_drv = lv.fs_drv_t() f...

micropython 日历页

micropython 日历页

# Initialize  import display_driver import lvgl as lv # Create a button with a label  # Copyright 2022 NXP # SPDX-License-Identifier: MIT # The ...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。