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最強大的功能之一,是訪問集合元素的一種方式。 叠代器是一個可以記住遍歷的位置的對象。 叠代器對象從集合等第一個元素開始訪問,直到所有的元素被訪問結束,叠代器只能往前不會後退。 叠代器