import paho.mqtt.client as mqtt
import requests
from datetime import datetime
message=""
flag=0
# 當地端程式連線伺服器得到回應時,要做的動作
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
# 將訂閱主題寫在on_connet中
# 如果我們失去連線或重新連線時
# 地端程式將會重新訂閱
#client.subscribe("alex9ufo/MQTT/Test")
client.subscribe([("alex9ufo/Weather/Taichung/message1",1),("alex9ufo/Weather/Taichung/message2",1),("alex9ufo/Weather/Taichung/message3",0),("alex9ufo/Weather/Taichung/message4",0)])
# 當接收到從伺服器發送的訊息時要進行的動作
def on_message(client, userdata, msg):
# 轉換編碼utf-8才看得懂中文
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)
print(msg.topic+" "+ msg.payload.decode('utf-8'))
message=msg.payload.decode('utf-8')
flag=1
print("\n")
if (flag==1) :
# LINE Notify 權杖
token = 'aCEUhpodLRGJGqyjrtswnGfg1fn52mcpAWYp909JBwA'
# 要發送的訊息
#message = '這是用 Python 發送的訊息'
print (message)
# HTTP 標頭參數與資料
headers = { "Authorization": "Bearer " + token }
data = { 'message': message }
# 以 requests 發送 POST 請求
requests.post("https://notify-api.line.me/api/notify",headers = headers, data = data)
# 連線設定
# 初始化地端程式
client = mqtt.Client()
# 設定連線的動作
client.on_connect = on_connect
# 設定接收訊息的動作
client.on_message = on_message
# 設定登入帳號密碼
client.username_pw_set("alex9ufo","alex9981")
# 設定連線資訊(IP, Port, 連線時間)
client.connect("broker.mqtt-dashboard.com", 1883, 60)
# 開始連線,執行設定的動作和處理重新連線問題
# 也可以手動使用其他loop函式來進行連接
client.loop_forever()
>>> %Run Subscribe_Taichung_weather_MQTT.py
Connected with result code 0
Current Time = 21:21:46
alex9ufo/Weather/Taichung/message1 多雲山區局部短暫雨,稍有寒意至舒適,請適時做好保暖
多雲山區局部短暫雨,稍有寒意至舒適,請適時做好保暖
Current Time = 21:21:47
alex9ufo/Weather/Taichung/message2 臺中地區今天(8日)晴時多雲;臺中公園及一中商圈氣溫16.3~25.8℃,梧棲氣溫15.6~19.5℃。
臺中地區今天(8日)晴時多雲;臺中公園及一中商圈氣溫16.3~25.8℃,梧棲氣溫15.6~19.5℃。
Current Time = 21:21:47
alex9ufo/Weather/Taichung/message3 臺中市明天(9日)受華南雲雨區東移影響,為多雲的天氣,山區有局部短暫雨,晚起平地亦有零星短暫雨;氣溫18-23℃,稍有寒意至舒適,請適時做好保暖。易有局部霧或低雲影響能見度,請注意。
臺中市明天(9日)受華南雲雨區東移影響,為多雲的天氣,山區有局部短暫雨,晚起平地亦有零星短暫雨;氣溫18-23℃,稍有寒意至舒適,請適時做好保暖。易有局部霧或低雲影響能見度,請注意。
Current Time = 21:21:47
alex9ufo/Weather/Taichung/message4 明天(9日)臺中沿海地區平均風力4至5陣風7級,船隻或沿岸活動,請注意安全。
明天(9日)臺中沿海地區平均風力4至5陣風7級,船隻或沿岸活動,請注意安全。
沒有留言:
張貼留言