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

micropython 连接到mqtt

Watrt2年前 (2023-05-31)Wpython6860
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&...

LVGL_micropython 模拟器

LVGL_micropython 模拟器

在使用micropython编写lvgl界面时有时间非常的麻烦。要在设备上才看得到效果。比较麻烦。npx的GUI-Guider软件中的模拟器给抠出来了单独使用,非常不错。下面是运行实例:import SDL import utime as time import usys as sys import lvgl as lv import lodepng as p...

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...

发表评论

访客

看不清,换一张

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