Python与Slot本地物联网实现互通

2020-01-297750
AI 快速预览详细 收起
本文介绍了如何使用Python和Slot本地物联网(SIoT)实现MQTT的发布和订阅功能。首先需要下载并安装Slot本地物联网软件,然后安装paho-mqtt库。通过修改配置文件和编写Python代码,可以连接到本地物联网服务器,实现消息的发布和订阅。适用于学校场景,支持本地物联网服务器的创建,摆脱联网困扰。
【软件下载】
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


Python与Slot本地物联网实现互通图1
可修改配置文件进行修改
Python与Slot本地物联网实现互通图2
Python与Slot本地物联网实现互通图3
paho-mqtt默认使用时不需要填写密码,我认为将上面用户名User和密码Password都设为空“”,应该就行。我没有试,大家可以试一下。我修改了paho-mqtt文件。client.py文件,它在C:\Users\hp\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\paho\mqtt,将用户名和密码进行了固定设置。
Python与Slot本地物联网实现互通图4
【程序代码】


代码使用https://blog.csdn.net/xxmonstor/article/details/80479851,文章中的代码:“发布/订阅测试”

修改本地IP地址
Python与Slot本地物联网实现互通图5
可从MQTT服务窗口获取
Python与Slot本地物联网实现互通图6
修改自己的主题,#0代表保存在服务器上
Python与Slot本地物联网实现互通图7
【完整代码】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]

【演示】
Python与Slot本地物联网实现互通图8

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
gada888
gada888
感觉有点难
kylinpoet
kylinpoet
楼主强大,多谢分享。
DFrJ5KYVQaH
DFrJ5KYVQaH
不错,好好学习一下
- 没有更多了 -