资料介绍
使用python2.7测试通过,实现消息订阅,发布,平台数据下发,存储功能。
一定要修改下面代码
clientid = ‘8760549’ # 创建设备时得到的设备ID,为数字字串
username = ‘79581’ # 注册产品时,平台分配的产品ID,为数字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 为设备的鉴权信息(即唯一设备编号,SN),或者为apiKey,为字符串
安装 sudo pip install paho-mqtt
关于paho的使用参考:https://pypi.python.org/pypi/paho-mqtt/1.3.0
实现功能:
平台下发的数据,会转发给订阅了test主题的设备。收到主题为upload后,会将数据类型3:Json数据2的固定数据{“a”:1,“c”:3,“b”:2,“d”:4}发给平台。
树莓派上也同样适用。
不知道有没有EDP的python库可以用,没有的话,我打算自己弄一个,后面在树莓派上用。||ヽ(* ̄▽ ̄*)ノミ|Ю
原帖链接:https://open.iot.10086.cn/bbs/thread-16116-1-1.html
#!/usr/bin/python
# -*- coding:utf-8 -*-
import paho.mqtt.client as mqtt
try:
import paho.mqtt.publish as publish
except ImportError:
# This part is only required to run the example from within the examples
# directory when the module itself is not installed.
#
# If you have the module installed, just use “import paho.mqtt.publish”
import os
import inspect
cmd_subfolder = os.path.realpath(
os.path.abspath(os.path.join(os.path.split(inspect.getfile(inspect.currentframe()))[0], “。./src”)))
if cmd_subfolder not in sys.path:
sys.path.insert(0, cmd_subfolder)
import paho.mqtt.publish as publish
hostname = ‘183.230.40.39’ # OneNET服务器地址
port = 6002 # OneNET服务器端口地址
clientid = ‘8760549’ # 创建设备时得到的设备ID,为数字字串
username = ‘79581’ # 注册产品时,平台分配的产品ID,为数字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 为设备的鉴权信息(即唯一设备编号,SN),或者为apiKey,为字符串
topic1 = ‘$creq/#’ #订阅平台下发命令主题
topic2 = ‘upload’
# 连接成功回调函数
def on_connect(client, userdata, flags, rc):
print(‘Connected with result code ’ + str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
# 连接完成之后订阅gpio主题
client.subscribe(topic1, 0) # 参数一为topic字符串, 参数二为QoS级别,默认QoS=0
client.subscribe(topic2)
# 消息推送回调函数
def on_message(client, userdata, msg):
print(‘[topic:]’+msg.topic + ‘ ’ + ‘[payload:]’+str(msg.payload))
if msg.topic == ‘upload’: # 如果收到upload主题,就将数据类型3(json数据2)内容上传给OneNET平台
dp_load = ‘{“a”:1,“c”:3,“b”:2,“d”:4}’
dp_type = 3
dp_len = len(dp_load)
dp=bytearray()
dp.append(dp_type)
dp.append((dp_len 》》 8) & 0xFF)
dp.append(dp_len & 0xFF)
dp = dp + dp_load
print repr(dp)
(rc, final_mid) = client.publish(‘$dp’, str(dp), 2, True)
if ‘$creq’ in msg.topic: # 如果收到OneNET下发的主题,然后将信息转发给test主题,其他设备将会收到
(rc, final_mid) = client.publish(‘test’, str(msg.payload), 2, True)
def on_publish(mqttc, obj, mid):
print(“Publish mid: ” + str(mid))
pass
def on_subscribe(mqttc, obj, mid, granted_qos):
print(“Subscribed: ” + str(mid) + “ ” + str(granted_qos))
def on_log(mqttc, obj, level, string):
print(“Log:” + string)
if __name__ == ‘__main__’:
client = mqtt.Client(client_id=clientid, clean_session=True, userdata=None, protocol=mqtt.MQTTv311, transport=“tcp”)
client.on_connect = on_connect
client.on_message = on_message
client.on_publish = on_publish
client.on_subscribe = on_subscribe
client.on_log = on_log
try:
# 配置用户名和密码
client.username_pw_set(username, password)
# 请根据实际情况改变MQTT代理服务器的IP地址
client.connect(hostname, port, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()
except KeyboardInterrupt:
client.disconnect()
一定要修改下面代码
clientid = ‘8760549’ # 创建设备时得到的设备ID,为数字字串
username = ‘79581’ # 注册产品时,平台分配的产品ID,为数字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 为设备的鉴权信息(即唯一设备编号,SN),或者为apiKey,为字符串
安装 sudo pip install paho-mqtt
关于paho的使用参考:https://pypi.python.org/pypi/paho-mqtt/1.3.0
实现功能:
平台下发的数据,会转发给订阅了test主题的设备。收到主题为upload后,会将数据类型3:Json数据2的固定数据{“a”:1,“c”:3,“b”:2,“d”:4}发给平台。
树莓派上也同样适用。
不知道有没有EDP的python库可以用,没有的话,我打算自己弄一个,后面在树莓派上用。||ヽ(* ̄▽ ̄*)ノミ|Ю
原帖链接:https://open.iot.10086.cn/bbs/thread-16116-1-1.html
#!/usr/bin/python
# -*- coding:utf-8 -*-
import paho.mqtt.client as mqtt
try:
import paho.mqtt.publish as publish
except ImportError:
# This part is only required to run the example from within the examples
# directory when the module itself is not installed.
#
# If you have the module installed, just use “import paho.mqtt.publish”
import os
import inspect
cmd_subfolder = os.path.realpath(
os.path.abspath(os.path.join(os.path.split(inspect.getfile(inspect.currentframe()))[0], “。./src”)))
if cmd_subfolder not in sys.path:
sys.path.insert(0, cmd_subfolder)
import paho.mqtt.publish as publish
hostname = ‘183.230.40.39’ # OneNET服务器地址
port = 6002 # OneNET服务器端口地址
clientid = ‘8760549’ # 创建设备时得到的设备ID,为数字字串
username = ‘79581’ # 注册产品时,平台分配的产品ID,为数字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 为设备的鉴权信息(即唯一设备编号,SN),或者为apiKey,为字符串
topic1 = ‘$creq/#’ #订阅平台下发命令主题
topic2 = ‘upload’
# 连接成功回调函数
def on_connect(client, userdata, flags, rc):
print(‘Connected with result code ’ + str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
# 连接完成之后订阅gpio主题
client.subscribe(topic1, 0) # 参数一为topic字符串, 参数二为QoS级别,默认QoS=0
client.subscribe(topic2)
# 消息推送回调函数
def on_message(client, userdata, msg):
print(‘[topic:]’+msg.topic + ‘ ’ + ‘[payload:]’+str(msg.payload))
if msg.topic == ‘upload’: # 如果收到upload主题,就将数据类型3(json数据2)内容上传给OneNET平台
dp_load = ‘{“a”:1,“c”:3,“b”:2,“d”:4}’
dp_type = 3
dp_len = len(dp_load)
dp=bytearray()
dp.append(dp_type)
dp.append((dp_len 》》 8) & 0xFF)
dp.append(dp_len & 0xFF)
dp = dp + dp_load
print repr(dp)
(rc, final_mid) = client.publish(‘$dp’, str(dp), 2, True)
if ‘$creq’ in msg.topic: # 如果收到OneNET下发的主题,然后将信息转发给test主题,其他设备将会收到
(rc, final_mid) = client.publish(‘test’, str(msg.payload), 2, True)
def on_publish(mqttc, obj, mid):
print(“Publish mid: ” + str(mid))
pass
def on_subscribe(mqttc, obj, mid, granted_qos):
print(“Subscribed: ” + str(mid) + “ ” + str(granted_qos))
def on_log(mqttc, obj, level, string):
print(“Log:” + string)
if __name__ == ‘__main__’:
client = mqtt.Client(client_id=clientid, clean_session=True, userdata=None, protocol=mqtt.MQTTv311, transport=“tcp”)
client.on_connect = on_connect
client.on_message = on_message
client.on_publish = on_publish
client.on_subscribe = on_subscribe
client.on_log = on_log
try:
# 配置用户名和密码
client.username_pw_set(username, password)
# 请根据实际情况改变MQTT代理服务器的IP地址
client.connect(hostname, port, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()
except KeyboardInterrupt:
client.disconnect()
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 如何上传数据到onenet平台
- 利用onenet平台远程控制开发板的LED 灯
- OneNET平台FOTA升级操作步骤 7次下载
- ESP8266通过MQTT协议连接ONENET
- CC3200使用MQTT协议连接Onenet平台实践
- STM32接入OneNET平台远程控制风扇
- 【IoT】基于MCU实现NB-IoT设备对接移动oneNET平台
- 【NodeMCU_LUA系列】NodeMCU HTTP POST数据至中移OneNET云平台
- 【NodeMCU_LUA系列】NodeMCU采集dht11温湿度传感器数值并上传至中移OneNET云平台
- NodeMCU学习(十)--发送数据到OneNET物联网平台
- NodeMCU+OneNET HTTP方式 温湿度上传和LED控制
- OneNET Studio设备接入SDK使用说明书下载 1次下载
- 鸿蒙开发板上使用MQTT协议、OneNET实现第一个物联网项目 0次下载
- M5310与OneNET平台对接流程示例教程说明 21次下载
- M5310-A MQTT接入OneNET平台的指导手册资料免费下载 41次下载
- 优易通DTU连接OneNET实现数据可视化示例 170次阅读
- Air780EP模块 AT开发-MQTT接入OneNET移动物联网平台应用指南 425次阅读
- 基于启明6M5开发板的无线环境监测小车系统设计 732次阅读
- 使用CW32单片机通过ESP8266连接OneNET物联网平台 1173次阅读
- paho-mqtt模块实战 1113次阅读
- 如何接入OneNET平台 5582次阅读
- 移远BC28模组对接移动onenet平台实例步骤 2785次阅读
- 在Vx-Works平台实现交叉编译工具链的开发及优化研究 1605次阅读
- 在贴片加工厂中有哪些安全防护需要了解 1306次阅读
- 基于STM32单片机的物联网远程数据监控系统 7837次阅读
- FPGA平台架构在嵌入式系统中的使用 1178次阅读
- Go语言在多线程领域编程、跨异构平台及编程难易程度的优势 6138次阅读
- 最牛的自动化平台Uflex,在同一平台完成各式各样的工序 5637次阅读
- 在不同的PCB设计平台文件转SIGRITY平台方法的详细解析 5304次阅读
- 云计算平台是什么_云计算平台的搭建_云计算平台的功能 1.5w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多