@cyysu
2017-10-13T10:58:58.000000Z
字数 1508
阅读 1106
- 时间:2017年10月13日
- 作者:Kali
- 邮箱:cyysu.github.io@gmail.com
- 版本:3.0
- 描述:mqtt Python教程测试
脚本编写
#!coding:utf-8 相信这句大家都懂的,不解释import paho.mqtt.client as mqttimport Queueimport threadingimport jsonimport time as timeimport socketmqttQue = Queue.Queue(maxsize=5)# 当连接上服务器后回调此函数def on_connect(client, userdata, flags, rc):print("MQTT client has connected to the mqtt server")print("Connected with result code "+str(rc))# 放在on_connect函数里意味着# 重新连接时订阅主题将会被更新#client.subscribe(mqttcfg['subTopic'])# 从服务器接受到消息后回调此函数def on_message(client, userdata, msg):print("Topic: "+msg.topic+" Message: "+str(msg.payload))def on_publish(client, userdata, mid): #发布消息完成回调函数#print "mqttpub" + userdataclient.publish('pub', payload=userdata, qos=0, retain=False) #发布消息def on_disconnect(client, userdata, rc):if rc != 0:print("Unexpected disconnection.")time.sleep(2)mqttClient()def mqtt_handle(client):#参数有 Client(client_id="", clean_session=True, userdata=None, protocol=MQTTv311, transport="tcp")client.on_connect = on_connect #设置连接上服务器回调函数client.on_message = on_message #设置接收到服务器消息回调函数client.on_disconnect = on_disconnect #设置与服务器断开连接回调函数#client.connect("116.236.184.244", 1883, 60) #连接服务器,端口为1883,维持心跳为60秒client.connect("10.0.0.117", 1883, 60) #连接服务器,端口为1883,维持心跳为60秒client.loop_forever()def mqtt_setval(client):global mqttQuewhile 1:on_publish(client,"123",123)time.sleep(1)def mqttClient():mqttc = mqtt.Client("AtlasACQ")t_setval = threading.Thread(target=mqtt_setval,args=(mqttc,))t_setval.setDaemon(True)t_setval.start()mqtt_handle(mqttc)def main():mqttClient()if __name__ == '__main__':main()
支付宝 微信