1. 程式人生 > >Python簡單試用MQTT伺服器

Python簡單試用MQTT伺服器

前言

經歷過各種問題的磨難終於基本搭建完成了自己的MQTT伺服器,接下來我就趕緊寫個Python程式測試下.

安裝

這裡採用paho.mqtt.python編寫程式,詳情參閱這裡
開啟powershell,執行pip install paho-mqtt安裝模組

程式

# coding=utf-8
import json
import threading

import paho.mqtt.client as mqtt

# 當連線上伺服器後回撥此函式
import time

from my_lib.code_handle.code_handle import auto_code
from
windows_info.read_info import Win_psutil class MqttClient: client = mqtt.Client('tester') def __init__(self, host, port): self._host = host self._port = port self.client.on_connect = self._on_connect # 設定連線上伺服器回撥函式 self.client.on_message = self._on_message # 設定接收到伺服器訊息回撥函式
def connect(self, username='tester', password='tester'): self.client.username_pw_set(username, password) self.client.connect(self._host, self._port, 60) # 連線伺服器,埠為1883,維持心跳為60秒 def publish(self, topic, data): self.client.publish(topic, data) def loop(self, timeout=None)
:
thread = threading.Thread(target=self._loop, args=(timeout,)) # thread.setDaemon(True) thread.start() def _loop(self, timeout=None): if not timeout: self.client.loop_forever() else: self.client.loop(timeout) def _on_connect(self, client, userdata, flags, rc): print("\nConnected with result code " + str(rc)) client.subscribe("test-0") def _on_message(self, client, userdata, msg): # 從伺服器接受到訊息後回撥此函式 print "\n主題:" + auto_code(str(msg.topic)) + " 訊息:" + auto_code(str(msg.payload)) def _is_json(self, data): try: json.loads(data) except ValueError: return False return True def publish_loop(self): pass if __name__ == '__main__': host=None client = MqttClient(host, 1883) client.connect('tester','tester') client.publish('test-0', '我上線啦!') client.loop() wp = Win_psutil()#自己定義的一個類 while True: data_json=wp.auto_json()#方法返回一個包含CPU和程序資訊的JSON字串 client.publish('test-0',data_json) time.sleep(2)

這裡自己封裝了類,主要功能是連上伺服器訂閱預設主題,接收到訊息即打印出來.
在主程式中先例項化類,接著使用預設使用者名稱與密碼登陸,在主題”test-0上”釋出資訊,接著定時將打包成JSON資訊的資料釋出到”test-0”這個主題

相關推薦

Python簡單試用MQTT伺服器

前言 經歷過各種問題的磨難終於基本搭建完成了自己的MQTT伺服器,接下來我就趕緊寫個Python程式測試下. 安裝 這裡採用paho.mqtt.python編寫程式,詳情參閱這裡 開啟power

python 簡單的Http伺服器

程式碼: ''' Created on 2012-3-13 @author: Administrator ''' #!/usr/bin/env python from os import curdir,sep from BaseHTTPServer import BaseHTTPRequestHand

RabbitMQ實現一個簡單MQTT伺服器

前言 這裡使用的是RabbitMQ的MQTT外掛作為MQTT伺服器,也可以考慮專門的MQTT伺服器EMQ,搭建更簡便,有興趣可以參考一下使用EMQ搭建MQTT伺服器. 作業系統:Unbuntu16.04LTS Erlang 如果沒有安裝autoconf需

python 簡單的web伺服器

     最近在看python相關的東西,在看到python web的時候,居然需要自己編寫Web伺服器,不得不說句,python是個奇怪的東西-_- python構建最簡單的Web伺服器   python自帶的包,可以構建一個伺服器,首先進去一個資料夾,作為伺服器的根目錄

[Python]python爬蟲簡單試用

.com www pytho request rom open url 使用 開始 一直用的是python3.4版本,所以只用了urllib爬數據,然後使用BeautifulSoup做為分析。 1、首先安裝BeautifulSoup,執行命令如下: pip install

Python入門》第一個Python Web程式——簡單的Web伺服器

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Python 進階—編寫一個簡單的web 伺服器

使用Python 庫的bottle 可以執行一個純淨的Python 服務,該服務會響應HTTP 請求 1. 首先安裝bottle(基於Python3) sudo apt-get install python3-bottle 2. 建立頁面的程式碼 from bottle

python學習之實現簡單的miniWeb伺服器

webServer部分: #!/usr/bin/venv python3 # coding: utf-8 import socket import multiprocessing import re import dynamic.WebFrame as WebFra

Python入門 第一個Python Web程式——簡單的Web伺服器

  上一篇講了《Python入門》Windows 7下Python Web開發環境搭建筆記,接下來講一下Python語言Web服務的具體實現:第一個Python Web程式——簡單的Web伺服器。 與其它Web後端語言不同,Python語言需要自己編寫Web伺服器。 如果你使用一

python實現簡單的http伺服器

學習了http協議後,手動實現一個簡單的http伺服器,與瀏覽器通訊 需求 實現能夠與瀏覽器通訊的伺服器 涉及技術點 掌握python程式設計基礎及多工 掌握python socket網路通訊過程 熟悉TCP/IP協議,清楚socket實現TCP伺服器實現過程

python實現一個簡單的http伺服器

1. HTTP伺服器的實現 實現一個http伺服器說白了就是實現一個監聽程式,當客戶端發來對應的http請求時,能夠解析請求,並且返回對應的資源給客戶端,客戶端解析顯示到瀏覽器上。這裡我使用python實現一個最簡單的http伺服器。 1.1初始化 定義一個初始化方法,建立套

Python socket實現一個簡單的http伺服器(post 與get 的區別)、CGIHTTPServer 簡單應用

#!/usr/bin/env python #coding=utf-8import socketimport re HOST = '' PORT = 8000#Read index.html, put into HTTP response dataindex_content = '''HTTP/1.x 200

使用python的Flask實現一個簡單RESTful API伺服器

找了一篇教程學習了一下,為了加深印象照著寫了一遍存下來,原文連結如下:傳送門 REST的六個特性 Client-Server:伺服器端與客戶端分離。 Stateless(無狀態):每次客戶端請求必需包含完整的資訊,換句話說,每一次請求都是獨立的。 Ca

原來python開發後端伺服器還可以這麼簡單(未完成)

原來python開發後端伺服器還可以這麼簡單(未完待續) ​ 作為一個android開發者,工作和生活中想寫一個伺服器作為測試,可是都很麻煩。這兩天跟著書寫了python+Django的管理系統,另外提供web介面可以給前端使用。本次專案使用pycha

Python小專案四:實現簡單的web伺服器

本部落格是整理在學習實驗樓的課程過程中記錄下的筆記形成的,參考:https://www.shiyanlou.com/courses/552。不同之處在於實驗樓使用python2.7,而博主這裡使用的是python3.6。在學習中也因為python版本不同遇到了一些坑,這裡寫

[計網] 用python語言開發一個簡單的web伺服器和客戶端

伺服器:      當客戶聯絡時建立一個連線套接字 從這個連線接收HTTP請求(*)      解釋該請求所請求的特定檔案      從伺服器的檔案系統獲取該檔案      併發送檔案內容     

python簡單實現伺服器資訊自動郵件傳送

1、背景     As a tester,維護著測試環境10+臺伺服器,每臺伺服器上部署著若干個web應用,經常會出現伺服器的一些OOM,磁碟佔用100%,雖然有定期的一些指令碼做清理,但是依然會經常出現一些狀況,加之想用些小指令碼解決些問題,於是就開始整。 2、思路  

MQTT協議的簡單介紹和伺服器的安裝

 最近公司做的專案中有用到訊息推送,經過多方面的篩選之後確定了使用MQTT協議,相對於XMPP,MQTT更加輕量級,並且佔用使用者很少的頻寬。 MQTT是IBM推出的一種針對移動終端裝置的基於TCP/IP的釋出/預訂協議,可以連線大量的遠端感測器和控制裝置。 下面以伺

Python的學習(十四)---- 實現簡單的HTTP伺服器

用Python實現簡單的HTTP伺服器 用於搭建http server的模組有如下三種: 1)BaseHTTPServer:提供基本的Web服務和處理器類,分別是HTTPServer及BaseHTTPRequestHandler; 2)SimpleHTTPServer:包含

python簡單筆記

針對 是的 機制 函數作為參數 編寫 usr 之間 r語 alt 叠代器 叠代是Python最強大的功能之一,是訪問集合元素的一種方式。 叠代器是一個可以記住遍歷的位置的對象。 叠代器對象從集合等第一個元素開始訪問,直到所有的元素被訪問結束,叠代器只能往前不會後退。 叠代器