[关闭]
@cyysu 2017-10-13T10:58:58.000000Z 字数 1508 阅读 1045

Python版MQTT测试

  • 时间:2017年10月13日
  • 作者:Kali
  • 邮箱:cyysu.github.io@gmail.com
  • 版本:3.0
  • 描述:mqtt Python教程测试

脚本编写


脚本内容

  1. #!coding:utf-8 相信这句大家都懂的,不解释
  2. import paho.mqtt.client as mqtt
  3. import Queue
  4. import threading
  5. import json
  6. import time as time
  7. import socket
  8. mqttQue = Queue.Queue(maxsize=5)
  9. # 当连接上服务器后回调此函数
  10. def on_connect(client, userdata, flags, rc):
  11. print("MQTT client has connected to the mqtt server")
  12. print("Connected with result code "+str(rc))
  13. # 放在on_connect函数里意味着
  14. # 重新连接时订阅主题将会被更新
  15. #client.subscribe(mqttcfg['subTopic'])
  16. # 从服务器接受到消息后回调此函数
  17. def on_message(client, userdata, msg):
  18. print("Topic: "+msg.topic+" Message: "+str(msg.payload))
  19. def on_publish(client, userdata, mid): #发布消息完成回调函数
  20. #print "mqttpub" + userdata
  21. client.publish('pub', payload=userdata, qos=0, retain=False) #发布消息
  22. def on_disconnect(client, userdata, rc):
  23. if rc != 0:
  24. print("Unexpected disconnection.")
  25. time.sleep(2)
  26. mqttClient()
  27. def mqtt_handle(client):
  28. #参数有 Client(client_id="", clean_session=True, userdata=None, protocol=MQTTv311, transport="tcp")
  29. client.on_connect = on_connect #设置连接上服务器回调函数
  30. client.on_message = on_message #设置接收到服务器消息回调函数
  31. client.on_disconnect = on_disconnect #设置与服务器断开连接回调函数
  32. #client.connect("116.236.184.244", 1883, 60) #连接服务器,端口为1883,维持心跳为60秒
  33. client.connect("10.0.0.117", 1883, 60) #连接服务器,端口为1883,维持心跳为60秒
  34. client.loop_forever()
  35. def mqtt_setval(client):
  36. global mqttQue
  37. while 1:
  38. on_publish(client,"123",123)
  39. time.sleep(1)
  40. def mqttClient():
  41. mqttc = mqtt.Client("AtlasACQ")
  42. t_setval = threading.Thread(target=mqtt_setval,args=(mqttc,))
  43. t_setval.setDaemon(True)
  44. t_setval.start()
  45. mqtt_handle(mqttc)
  46. def main():
  47. mqttClient()
  48. if __name__ == '__main__':
  49. main()

打赏

                    支付宝                                                         微信

微信与支付宝支付

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注