パブリッシテスト

This commit is contained in:
ry.yamafuji 2024-10-20 23:14:58 +09:00
parent 1cf14c5755
commit a748baa646
2 changed files with 29 additions and 4 deletions

View File

@ -26,3 +26,9 @@ source mqttmock/bin/activate
pip install -r requirements.txt pip install -r requirements.txt
``` ```
```
apt install mosquitto-clients
mosquitto_pub -h localhost -p 1883 -t "device" -m '{"msg": "test""}'
```

View File

@ -9,11 +9,11 @@ load_dotenv(dotenv_path=".env.test")
MQTT_HOST = os.getenv("MQTT_HOST") MQTT_HOST = os.getenv("MQTT_HOST")
MQTT_PORT = int(os.getenv("MQTT_PORT")) MQTT_PORT = int(os.getenv("MQTT_PORT"))
MQTT_DEVICE_CODE = int(os.getenv("MQTT_DEVICE_CODE")) MQTT_DEVICE_CODE = os.getenv("MQTT_DEVICE_CODE")
def on_connect_mock(client, userdata, flags, rc, properties): def on_connect_mock(client, userdata, flags, rc):
print(f"Connected with result code {rc}") print(f"Connected with result code rc={rc}")
def test_mqtt_mock(): def test_mqtt_mock():
@ -22,7 +22,26 @@ def test_mqtt_mock():
client = mqtt.Client() client = mqtt.Client()
client.on_connect = on_connect_mock client.on_connect = on_connect_mock
client.connect(MQTT_HOST, MQTT_PORT, 60) client.connect(MQTT_HOST, MQTT_PORT, 60)
time.sleep(5) topic = f"device/{MQTT_DEVICE_CODE}/command"
client.subscribe(topic, qos=1)
client.loop_start()
while True:
try:
print("publish start.")
topic = f"device/{MQTT_DEVICE_CODE}/send"
data = {"message": "test"}
message = json.dumps(data).encode('utf-8')
client.publish(topic, message, qos=1)
time.sleep(30)
except KeyboardInterrupt as e:
time.sleep(30)
break
except Exception as e:
print(f"error:{e}")
time.sleep(30)
print(f"end")
client.loop_stop()
def main(): def main():