はじめに
近年はIoT技術の発展により、TCP/IPネットワークで利用できる通信プロトコルの一つであるMQTT(Message Queueing Telemetry Transport )が注目されています。MQTTは送信側が送るデータをデータ領域に一旦保持しながら、受信側の処理が完了するのを待たずに次の処理へ移る方式で、軽量であることからネットワーク帯域幅を最適化できます。MQTTの詳細は以下の記事が参考になります。
本記事では、PythonでMQTT通信を実現する方法を紹介します。IoT技術が今後より実装がなされていく中でMQTT通信が多用されると思います。その際に、本記事の内容が環境構築を標準化や環境構築の工数削減につながれば幸いです。
より実務的に辞書型のデータや画像データの送受信について知りたい方はこちらの記事をご覧ください。
- はじめに
- 1. MQTTブローカー:Mosquitto
- 2. SubscriberとPublisher
- 3. ライブラリのインストール
- 4. MQTT通信の確認
- 5. MQTT通信が可能なDockerコンテナの紹介
- オススメ書籍
- スキル修得&転職
- おわりに
1. MQTTブローカー:Mosquitto
MQTTブローカーはオープンソースで実装します。本記事では以下のMosquittoを使用します。
Linux環境でMosquittoをインストールして、起動するには以下のコマンドを実行します。
2. SubscriberとPublisher
2.1 Subscriber
以下のPythonコードがSubscriberです。
2.2 Publisher
以下のPythonコードがPublisherです。
3. ライブラリのインストール
pip installで必要なライブラリをインストールします。
4. MQTT通信の確認
今回はMQTTブローカーが起動するマシン上でpublisher.pyとsubscriber.pyを実行します。subscriber.pyを実行後に、publisher.pyを実行するとMQTT通信の動作を確認できます。もしMQTTブローカーと異なるマシンでpublisher.py等を実行する際には、BROKER_IP_ADDRにMQTTブローカーのIPアドレスを指定してください。
5. MQTT通信が可能なDockerコンテナの紹介
上記のMQTT通信が可能なDockerコンテナについて以下の記事で紹介しています。
オススメ書籍
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
おわりに
本記事では、PythonでMQTT通信を実現する方法を紹介しました。IoT技術が今後より実装がなされていく中でMQTT通信が多用されると思います。その際に、本記事の内容が環境構築を標準化や環境構築の工数削減につながれば幸いです。