4428| 3
|
[高级教程] Python与Slot本地物联网实现互通 |
【软件下载】 1、Slot本地物联网http://mindplus.dfrobot.com.cn/siot SIoT是一个针对学校场景的开源免费的MQTT服务器软件,可一键创建本地物联网服务器,摆脱联网困扰。 2、Python 百度 3、使用python编写程序进行测试MQTT的发布和订阅功能。首先要安装:pip install paho-mqtt。参考:https://blog.csdn.net/xxmonstor/article/details/80479851 【注意事项】 1、因Slot本地物联网有默认的用户名:siot和密码:dfrobot 可修改配置文件进行修改 因paho-mqtt默认使用时不需要填写密码,我认为将上面用户名User和密码Password都设为空“”,应该就行。我没有试,大家可以试一下。我修改了paho-mqtt文件。client.py文件,它在C:\Users\hp\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\paho\mqtt,将用户名和密码进行了固定设置。 【程序代码】 代码使用https://blog.csdn.net/xxmonstor/article/details/80479851,文章中的代码:“发布/订阅测试” 修改本地IP地址 可从MQTT服务窗口获取 修改自己的主题,#0代表保存在服务器上 【完整代码】Python [mw_shl_code=applescript,false]# -*- coding: utf-8 -*- import paho.mqtt.client as mqtt MQTTHOST = "192.168.0.102" MQTTPORT = 1883 mqttClient = mqtt.Client() # 连接MQTT服务器 def on_mqtt_connect(): mqttClient.connect(MQTTHOST, MQTTPORT, 60) mqttClient.loop_start() # publish 消息 def on_publish(topic, payload, qos): mqttClient.publish(topic, payload, qos) #print(topic) # 消息处理函数 def on_message_come(lient, userdata, msg): print(msg.topic + " " + ":" + str(msg.payload)) # subscribe 消息 def on_subscribe(): mqttClient.subscribe("DFRobot/Seifer", 1) mqttClient.on_message = on_message_come # 消息到来处理函数 def main(): on_mqtt_connect() on_publish("df/mask", "Hello Python!", 0)#0代表保存在服务器上 on_subscribe() while True: #print(mqttClient.is_connected()) pass if __name__ == '__main__': main() [/mw_shl_code] 【演示】 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed