栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

树莓派上的python mqtt脚本发送和接收消息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派上的python mqtt脚本发送和接收消息

最简单的方法是使用

client.loop_start()
函数在单独的线程上启动网络循环,然后使用常规
client.publish
方法

from sense_hat import SenseHatimport timeimport paho.mqtt.client as mqttimport paho.mqtt.publish as publishsense = SenseHat()Broker = "192.168.1.252"sub_topic = "sensor/instructions"    # receive messages on this topicpub_topic = "sensor/data"       # send messages to this topic############### sensehat inputs ##################def read_temp():    t = sense.get_temperature()    t = round(t)    return tdef read_humidity():    h = sense.get_humidity()    h = round(h)    return hdef read_pressure():    p = sense.get_pressure()    p = round(p)    return pdef display_sensehat(message):    sense.show_message(message)    time.sleep(10)############### MQTT section ################### when connecting to mqtt do this;def on_connect(client, userdata, flags, rc):    print("Connected with result pre "+str(rc))    client.subscribe(sub_topic)# when receiving a mqtt message do this;def on_message(client, userdata, msg):    message = str(msg.payload)    print(msg.topic+" "+message)    display_sensehat(message)def on_publish(mosq, obj, mid):    print("mid: " + str(mid))client = mqtt.Client()client.on_connect = on_connectclient.on_message = on_messageclient.connect(Broker, 1883, 60)client.loop_start()while True:    sensor_data = [read_temp(), read_humidity(), read_pressure()]    client.publish("monto/solar/sensors", str(sensor_data))    time.sleep(1*60)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626272.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号