資料介紹
使用python2.7測(cè)試通過,實(shí)現(xiàn)消息訂閱,發(fā)布,平臺(tái)數(shù)據(jù)下發(fā),存儲(chǔ)功能。
一定要修改下面代碼
clientid = ‘8760549’ # 創(chuàng)建設(shè)備時(shí)得到的設(shè)備ID,為數(shù)字字串
username = ‘79581’ # 注冊(cè)產(chǎn)品時(shí),平臺(tái)分配的產(chǎn)品ID,為數(shù)字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 為設(shè)備的鑒權(quán)信息(即唯一設(shè)備編號(hào),SN),或者為apiKey,為字符串
安裝 sudo pip install paho-mqtt
關(guān)于paho的使用參考:https://pypi.python.org/pypi/paho-mqtt/1.3.0
實(shí)現(xiàn)功能:
平臺(tái)下發(fā)的數(shù)據(jù),會(huì)轉(zhuǎn)發(fā)給訂閱了test主題的設(shè)備。收到主題為upload后,會(huì)將數(shù)據(jù)類型3:Json數(shù)據(jù)2的固定數(shù)據(jù){“a”:1,“c”:3,“b”:2,“d”:4}發(fā)給平臺(tái)。
樹莓派上也同樣適用。
不知道有沒有EDP的python庫(kù)可以用,沒有的話,我打算自己弄一個(gè),后面在樹莓派上用。||ヽ(* ̄▽ ̄*)ノミ|Ю
原帖鏈接: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服務(wù)器地址
port = 6002 # OneNET服務(wù)器端口地址
clientid = ‘8760549’ # 創(chuàng)建設(shè)備時(shí)得到的設(shè)備ID,為數(shù)字字串
username = ‘79581’ # 注冊(cè)產(chǎn)品時(shí),平臺(tái)分配的產(chǎn)品ID,為數(shù)字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 為設(shè)備的鑒權(quán)信息(即唯一設(shè)備編號(hào),SN),或者為apiKey,為字符串
topic1 = ‘$creq/#’ #訂閱平臺(tái)下發(fā)命令主題
topic2 = ‘upload’
# 連接成功回調(diào)函數(shù)
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) # 參數(shù)一為topic字符串, 參數(shù)二為QoS級(jí)別,默認(rèn)QoS=0
client.subscribe(topic2)
# 消息推送回調(diào)函數(shù)
def on_message(client, userdata, msg):
print(‘[topic:]’+msg.topic + ‘ ’ + ‘[payload:]’+str(msg.payload))
if msg.topic == ‘upload’: # 如果收到upload主題,就將數(shù)據(jù)類型3(json數(shù)據(jù)2)內(nèi)容上傳給OneNET平臺(tái)
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)
?。╮c, final_mid) = client.publish(‘$dp’, str(dp), 2, True)
if ‘$creq’ in msg.topic: # 如果收到OneNET下發(fā)的主題,然后將信息轉(zhuǎn)發(fā)給test主題,其他設(shè)備將會(huì)收到
?。╮c, 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)
# 請(qǐng)根據(jù)實(shí)際情況改變MQTT代理服務(wù)器的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’ # 創(chuàng)建設(shè)備時(shí)得到的設(shè)備ID,為數(shù)字字串
username = ‘79581’ # 注冊(cè)產(chǎn)品時(shí),平臺(tái)分配的產(chǎn)品ID,為數(shù)字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 為設(shè)備的鑒權(quán)信息(即唯一設(shè)備編號(hào),SN),或者為apiKey,為字符串
安裝 sudo pip install paho-mqtt
關(guān)于paho的使用參考:https://pypi.python.org/pypi/paho-mqtt/1.3.0
實(shí)現(xiàn)功能:
平臺(tái)下發(fā)的數(shù)據(jù),會(huì)轉(zhuǎn)發(fā)給訂閱了test主題的設(shè)備。收到主題為upload后,會(huì)將數(shù)據(jù)類型3:Json數(shù)據(jù)2的固定數(shù)據(jù){“a”:1,“c”:3,“b”:2,“d”:4}發(fā)給平臺(tái)。
樹莓派上也同樣適用。
不知道有沒有EDP的python庫(kù)可以用,沒有的話,我打算自己弄一個(gè),后面在樹莓派上用。||ヽ(* ̄▽ ̄*)ノミ|Ю
原帖鏈接: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服務(wù)器地址
port = 6002 # OneNET服務(wù)器端口地址
clientid = ‘8760549’ # 創(chuàng)建設(shè)備時(shí)得到的設(shè)備ID,為數(shù)字字串
username = ‘79581’ # 注冊(cè)產(chǎn)品時(shí),平臺(tái)分配的產(chǎn)品ID,為數(shù)字字串
password = ‘iDO9cRe85v2wpgFm2hQsMiapP=U=’ # 為設(shè)備的鑒權(quán)信息(即唯一設(shè)備編號(hào),SN),或者為apiKey,為字符串
topic1 = ‘$creq/#’ #訂閱平臺(tái)下發(fā)命令主題
topic2 = ‘upload’
# 連接成功回調(diào)函數(shù)
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) # 參數(shù)一為topic字符串, 參數(shù)二為QoS級(jí)別,默認(rèn)QoS=0
client.subscribe(topic2)
# 消息推送回調(diào)函數(shù)
def on_message(client, userdata, msg):
print(‘[topic:]’+msg.topic + ‘ ’ + ‘[payload:]’+str(msg.payload))
if msg.topic == ‘upload’: # 如果收到upload主題,就將數(shù)據(jù)類型3(json數(shù)據(jù)2)內(nèi)容上傳給OneNET平臺(tái)
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)
?。╮c, final_mid) = client.publish(‘$dp’, str(dp), 2, True)
if ‘$creq’ in msg.topic: # 如果收到OneNET下發(fā)的主題,然后將信息轉(zhuǎn)發(fā)給test主題,其他設(shè)備將會(huì)收到
?。╮c, 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)
# 請(qǐng)根據(jù)實(shí)際情況改變MQTT代理服務(wù)器的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()
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 如何上傳數(shù)據(jù)到onenet平臺(tái)
- 利用onenet平臺(tái)遠(yuǎn)程控制開發(fā)板的LED 燈
- OneNET平臺(tái)FOTA升級(jí)操作步驟 7次下載
- ESP8266通過MQTT協(xié)議連接ONENET
- CC3200使用MQTT協(xié)議連接Onenet平臺(tái)實(shí)踐
- STM32接入OneNET平臺(tái)遠(yuǎn)程控制風(fēng)扇
- 【IoT】基于MCU實(shí)現(xiàn)NB-IoT設(shè)備對(duì)接移動(dòng)oneNET平臺(tái)
- 【NodeMCU_LUA系列】NodeMCU HTTP POST數(shù)據(jù)至中移OneNET云平臺(tái)
- 【NodeMCU_LUA系列】NodeMCU采集dht11溫濕度傳感器數(shù)值并上傳至中移OneNET云平臺(tái)
- NodeMCU學(xué)習(xí)(十)--發(fā)送數(shù)據(jù)到OneNET物聯(lián)網(wǎng)平臺(tái)
- NodeMCU+OneNET HTTP方式 溫濕度上傳和LED控制
- OneNET Studio設(shè)備接入SDK使用說明書下載 1次下載
- 鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)物聯(lián)網(wǎng)項(xiàng)目 0次下載
- M5310與OneNET平臺(tái)對(duì)接流程示例教程說明 21次下載
- M5310-A MQTT接入OneNET平臺(tái)的指導(dǎo)手冊(cè)資料免費(fèi)下載 41次下載
- 優(yōu)易通DTU連接OneNET實(shí)現(xiàn)數(shù)據(jù)可視化示例 170次閱讀
- Air780EP模塊 AT開發(fā)-MQTT接入OneNET移動(dòng)物聯(lián)網(wǎng)平臺(tái)應(yīng)用指南 425次閱讀
- 基于啟明6M5開發(fā)板的無線環(huán)境監(jiān)測(cè)小車系統(tǒng)設(shè)計(jì) 732次閱讀
- 使用CW32單片機(jī)通過ESP8266連接OneNET物聯(lián)網(wǎng)平臺(tái) 1173次閱讀
- paho-mqtt模塊實(shí)戰(zhàn) 1113次閱讀
- 如何接入OneNET平臺(tái) 5582次閱讀
- 移遠(yuǎn)BC28模組對(duì)接移動(dòng)onenet平臺(tái)實(shí)例步驟 2785次閱讀
- 在Vx-Works平臺(tái)實(shí)現(xiàn)交叉編譯工具鏈的開發(fā)及優(yōu)化研究 1605次閱讀
- 在貼片加工廠中有哪些安全防護(hù)需要了解 1306次閱讀
- 基于STM32單片機(jī)的物聯(lián)網(wǎng)遠(yuǎn)程數(shù)據(jù)監(jiān)控系統(tǒng) 7837次閱讀
- FPGA平臺(tái)架構(gòu)在嵌入式系統(tǒng)中的使用 1178次閱讀
- Go語言在多線程領(lǐng)域編程、跨異構(gòu)平臺(tái)及編程難易程度的優(yōu)勢(shì) 6138次閱讀
- 最牛的自動(dòng)化平臺(tái)Uflex,在同一平臺(tái)完成各式各樣的工序 5637次閱讀
- 在不同的PCB設(shè)計(jì)平臺(tái)文件轉(zhuǎn)SIGRITY平臺(tái)方法的詳細(xì)解析 5304次閱讀
- 云計(jì)算平臺(tái)是什么_云計(jì)算平臺(tái)的搭建_云計(jì)算平臺(tái)的功能 1.5w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多