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

micropython 连接到mqtt

watrt1年前 (2023-05-31)Wpython3890
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()


分享给朋友:

相关文章

wpython_GUI 1.6板子回来了

wpython_GUI 1.6板子回来了

板子打出来了。小的元件已经SMT好了,大的元件我已经自己手焊好了,先给大家看看样板两个LED因为出于成本的原因是单面贴,双面太贵了,而且感觉不重要就先没有焊正面,大体算正常吧,但是也现在了两个BUG,还是缺少经验。1、ESP32的IO36脚和IO39脚,只支持输入模式,而且没有内部上拉,所以要外挂上拉,这点在画板的时间 没有想到。目前使用的是补焊两个电阻补救上(KEY_A、KEY_B)。2、还有一个就是屏的背景使用的是S8050当做背光开关,结果发现在虽然可以过通IO来控制引脚,但是背景电压太低...

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 实现tar 文件解包

micropython 实现tar 文件解包

import upip_utarfile as tar import os def run(src,dest_dir):   t = tar.TarFile(src)   if not dest_dir in os.listdir():     os.mkdir(dest_dir)  ...

发表评论

访客

看不清,换一张

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