本機環境 win10 64 記得關閉防火牆
1:下載第三方MQTT broker http://mosquitto.org/files/binary/win32/mosquitto-1.3.5-install-win32.exe
2:安裝完成,運行箭頭置定程序,
3:出現黑框,只需最小化即可
4:mqtt發佈端
發佈端設備用的是購買的藍牙無線網關,只需修改配置即可
5:mqtt訂閱端python程序
不同應用場景 記得修改IP 端口 發佈話題 賬號 密碼
import time
import paho.mqtt.client as mqtt
import msgpack
from binascii import *
def on_subscribe(mosq, obj, mid, granted_qos):
print("Subscribed: " + str(mid))
def on_message(mosq, obj, msg):
packages = msg.payload
# print(len(packages),type(packages))
# print(len(packages))
data = msgpack.unpackb(packages,use_list=False, raw=False)
brocast_data = data['devices']
outData={'header':"",'payload':[]}
mac_data = set()
# print('post')
for b in brocast_data:
record={};
data_bro={};
try:
record=b2a_hex(b)
data_bro['type']=hex(int(record[:2],16))
data_bro['mac']=hex(int(record[2:14],16))
data_bro['rssi']=hex(int(record[14:16],16))
data_bro['broadcast_data']=hex(int(record[16:],16))
mac_data.add(data_bro['mac'])
except:
pass;
outData['payload'].append(data_bro);
# print(len(mac_data))
print(outData['payload'])
def on_connect(mosq, obj,flags, rc):
print("Connected with result code "+str(rc))
mqttc.subscribe("hello", 0)
print("Connected")
mqttc = mqtt.Client()
mqttc.on_connect = on_connect
mqttc.on_subscribe = on_subscribe
mqttc.on_message = on_message
mqttc.connect("10.33.4.31", 1883, 60)
mqttc.loop_forever()
解析後輸出數據 效果