マシンセンサーからデータを取得しています。スクリプトとして、私はそれをデータベースに送ることができるように、異なるKW番号が必要です。私は、新しい番号の値が最後の番号(同じ番号)と等しい場合は「同じ番号」を、それが変更されている場合は変数番号の値を出力します。 forever_loopならどうしたらいいですか?私はすでにこの質問について尋ねましたが、それはmqtt forever_loopなしでwhileループを使用していたときでしたが、このスクリプトでは使用できません。あなたがそれぞれの新しいメッセージでそれをテストできるようにPython、mqttで値が変更されたかどうかを確認する方法
import paho.mqtt.client as mqtt
import json
import pymysql.cursors
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("QQ/QQ/QQQ/QQQ") #Just some random characters, I changed it
def on_message(client, userdata, msg):
arv=int(float(msg.payload.split(' ')[0]))
print(msg.payload.split(' ')[0])
if (arv>arv+1 or arv>arv-1):
print("Same number {0}".format(arv))
else:
print(" Number is {0} ".format(arv))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.username_pw_set("blank", password="blank")
client.connect("local", 0, 0)
client.loop_forever()
Output:
6.12
Same number 6
6.91
Same number 6
6.38
Same number 6
5.44
Same number 5
6.75
Same number 6
6.50
Same number 6
6.15
Same number 6
5.67
Same number 5
5.80
Same number 5
6.21
Same number 6
5.21
Same number 5
6.25
Same number 6
6.66
Same number 6
5.14
Same number 5
あなたが投稿したコードは 'on_message'関数定義 – hardillb
誤植が欠落している、それを修正! – Somepub