mqtt 客戶端 基於Python


這幾天一直在搞安全通信,微信小程序,反向代理等等,為了能讓自己對整個系統做到把控,主要是需要了解每一個細節的地方,所以今天花了3個小時的時間學習了Python,因為我要用它來做Http和WebSocket ,其實還有就是群里的 "卡狼"一直在說用Python開發8266更方便快捷.

先說學了之后的感受,確實簡單,易上手.現在感覺應該比lua開發更快捷,我並沒有用它來開發8266,只是感覺語言上很容易接受(對我而言,感覺這個語言吧,和lua有相近的地方(變量操作封裝的方法很好),又有點高級語言的味道)

說一下安裝軟件

軟件和源碼鏈接:

https://pan.baidu.com/s/1SauB96RMTZUWv3yxUIgynA

其實和學習java的時候安裝虛擬機就可以用記事本寫java語言一樣,不過記事本多麻煩,敲指令多費時,有些人就用Eclipse這個IDE軟件,其實上面的

PyCharm就是一款IDE,不過現在好像很多人在推崇Intellij IDEA,我倒是沒用過這款IDE

 

 Python安裝教程:

https://baijiahao.baidu.com/s?id=1608325862360990066&wfr=spider&for=pc

PyCharm安裝教程:

https://blog.csdn.net/elegentbeauty/article/details/79871440

https://www.cnblogs.com/pupilheart/p/9853071.html

 

Python基礎教程:

http://www.runoob.com/python/python-tutorial.html

(對於一樣新知識,可能有些規定的語法和方法不太容易接受,

記住哈:學習某一樣知識,你所糾結的不應該是為什么這樣規定,為什么那樣規定,

你所關心的應該是它的用途,就是可以解決什么問題,知識不是用來背和記的,是用來用的,

秉着自己想解決什么問題去學知識哈

因為我知道Python能解決我當前的問題,所以我一開始沒學的時候就接受了它,然后又很快吸收了它)

 

首先是安裝mqtt插件,我百度的網上大部分呢都是用的  paho.mqtt  

所以干脆跟着別人的腳步,我也用這個吧!(網上大部分都是敲命令安裝,咱有IDE,所以讓IDE自己安裝)

 

 

 

 

 

 

 

 

 我就做個最簡單的,連接,訂閱

import paho.mqtt.client
import time

mqtt = paho.mqtt.client

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc)) #打印連接狀態
    client.subscribe("2222") #訂閱2222


def on_message(client, userdata, msg):
    print(msg.topic+" " + ":" + str(msg.payload)) #打印接受的消息



client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
client = mqtt.Client(client_id)    # ClientId不能重復,所以使用當前時間
client.username_pw_set("yang", "11223344")  # 必須設置,否則會返回「Connected with result code 4」
client.on_connect = on_connect
client.on_message = on_message
client.connect("mnifdv.cn", 1883, 60)
client.loop_forever()

 

 

 

 

 

 

有什么問題自己百度哈

說一下,很多都是這樣

import paho.mqtt.client as mqtt

 

實際上大家可以百度

意思是 mqtt代替了paho.mqtt.client   

我是這樣

mqtt = paho.mqtt.client 


當然如果您不想用IDE啟動,那么

 

 



import time

import sys
sys.path.append('F:/Python/mqttdemo/venv/Lib/site-packages')

import paho.mqtt.client

mqtt = paho.mqtt.client

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc)) #打印連接狀態
    client.subscribe("2222") #訂閱2222


def on_message(client, userdata, msg):
    print(msg.topic+" " + ":" + str(msg.payload)) #打印接受的消息


client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
client = mqtt.Client(client_id)    # ClientId不能重復,所以使用當前時間
client.username_pw_set("yang", "11223344")  # 必須設置,否則會返回「Connected with result code 4」
client.on_connect = on_connect
client.on_message = on_message
client.connect("mnifdv.cn", 1883, 60)
client.loop_forever()
 
        

 




然后再試一試

 

 

 

 


或者
import sys
sys.path.append(sys.path[0]+'/venv/Lib/site-packages')
 
        
sys.path[0] 是返回的是腳本所在的位置,這樣比較方便一點


 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM