私はブローカにいくつかのメッセージを公開するmqttクライアントを持っています。メッセージを公開しながらmqttクライアントとブローカ間の接続が失われたときにjsonデータをファイルに保存します。
メッセージが
{
"message": {
"body": {
"software_sub_version": "O",
"software_version": 1.25,
"hardware_id": 17,
"machine_id": 39
},
"header": {
"Machine_name": "MY_MACHINE",
"message_type": "machine_data",
"message_version": "1.0",
"publish_time": "2017-02-22T06:44:27.281644+00:00"
}
}
}
以下のようなものですブローカーとの接続がであるかどうか、私はそれがない場合、私は、コードの下に使用してファイルにメッセージを格納しています、チェックしています。
def mqtt_publish():
if no_connection:
store_json_data()
else:
send_msg()
また、ブローカーに1つずつメッセージを送信する必要があります。
while True:
if stored_msg_present:
send_stored_msg_to_broker()
これを行うには最良の方法が必要です。 これにtinydbのようなデータベースを使うのは良いですか? しかし、私はtinydbデータベースから要素を取得できません。