查看: 394|回复: 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


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


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

修改本地IP地址
5.jpg
可从MQTT服务窗口获取
6.jpg
修改自己的主题,#0代表保存在服务器上
7.jpg
【完整代码】Python
[AppleScript] 纯文本查看 复制代码
# -*- 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()


【演示】
3.gif

DFrJ5KYVQaH  初级技匠

发表于 2020-1-30 14:45:21

不错,好好学习一下
回复

使用道具 举报

kylinpoet  中级技匠

发表于 2020-2-18 06:12:15

楼主强大,多谢分享。
回复

使用道具 举报

gada888  版主

发表于 2020-2-21 16:48:00

感觉有点难
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail