IoTでは、デバイスとクラウド間との通信に、よくMQTTが使われます。
Raspberry Piでは、簡単にMQTTを試してみることができます。
この記事で、解決できること
Raspberry Pi上で、MQTT通信ソフトであるmosquittoを動かして、MQTTを理解します。
MQTT(Message Queue Telemetry Transport)とは
MQTT は、Publish/Subscribe メッセージングモデルにより、非同期に 1 対多の通信ができるプロトコルです。プロトコル仕様は、軽量かつシンプルにデザインされています。IoT(Internet of Things)や M2M(Machine to Machine)などのように、小メモリやネットワーク帯域幅が限られているような環境での利用に適しています。
Publish/Subscribe メッセージングモデルとは
・MQTTではデータの送受信をPublisher(送信者)、Subscriber(受信者)の2つの役割にわけて行います。
・PublisherはMQTTブローカーにデータを送信します。
・SubscriberはMQTTブローカーにデータを受信しに行きます。
AMG Solutionサイトより引用
Mosquittoとは
Eclipse Mosquittoは、MQTTプロトコルバージョン5.0、3.1.1、および3.1を実装するオープンソース(EPL / EDLライセンス)メッセージブローカーです。Mosquittoは軽量で、低電力のシングルボードコンピューターからフルサーバーまで、すべてのデバイスでの使用に適しています。
Eclipse Mosquittoサイトより引用
環境
・Windows10 home
・Raspberry Pi OS
mosquittoのインストール
サーバ(Broker)のインストール
Raspberry Piのコンソール(コンソールAとします)にて、以下のコマンド入力します。
$ sudo apt install mosquitto
クライアントのインストール
クライアント側は、コンソール(コンソールBとします)をもう一つ立ち上げてから、以下のコマンド入力します。
$ sudo apt install mosquitto-clients
mosquittoの動かし方
サーバ(Broker)の起動
コンソールA上で、以下のコマンドを入力します。
$ sudo systemctl start mosquitto
クライアントの起動
コンソールB上で、以下のコマンドを入力します。
$ mosquitto_sub -d -t orz
サーバからメッセージを送信する
コンソールA上で、以下のコマンドを入力します。
$ mosquitto_pub -d -t orz -m "こんにちは Raspberry Pi"
コンソールB上に、以下が表示されます。
こんにちは Raspberry Pi
まとめ
今回は、Raspberry Pi上で、MQTT通信ソフトであるmosquittoを動かしてみました。
AI(人工知能)特化型プログラミングスクール「Aidemy Premium」
Aidemy Premiumは、AIや機械学習などの最先端技術の修得に留まらず、それらを活用して目標達成を実現するまでを一気通貫して支援するオンラインコーチングサービスです。
こんな思いを持っている人にオススメ
・AIエンジニア/データサイエンティストにキャリアチェンジしたい
・業務課題(研究課題)をAIを使って解決したい
・教養としてAIについて知りたい
・AIに関してのスキルを身に着け就職活動に活かしたい…
オススメポイント
・3ヶ月間集中して「AIプログラミング」を修得するオンラインコーチングサービスです。
・完全なプログラミング初心者から研究者にまで幅広く優良なコンテンツを提供します。
・通常のプログラミングスクールとは異なり、受講者の進捗管理を徹底して行います。
・専属メンターがAIの学び方から徹底的にコーチングします。
・完全オンライン完結なので、東京以外に在住・在勤の方も気兼ねなくお申込み頂けます。
実績
・日本最大級のAI/人工知能プログラミングスクール
・SaaS型AI学習サービス「Aidemy」会員登録者数 55,000名突破
・法人向けAI内製化支援サービス「Aidemy Business」導入企業数 120社突破
・第16回 日本e-Learning大賞「AI・人工知能特別部門賞」受賞
・「HRアワード2019」プロフェッショナル部門 入賞
無料ビデオカウンセリング実施中です。



- 【初心者向け ラズパイ入門】Raspberry Piどれ買う?目的別おすすめシリーズ徹底解説
- 【ラズパイ入門】もう迷わない!Raspberry Piがプログラミング学習に最適な3つの理由【初心者向け】
- 【IoTプログラミング入門】M5Stack・Raspberry Pi(ラズパイ)ではじめるIoTシステム構築(構成パターン一覧)
- プログラミング学習に最適。Raspberry Pi(ラズパイ)で動かすロボット
- 【Python入門】[Raspberry Pi] Pythonでデータベースソフト(sqlite3)を使う
- 【Python入門】シリアルデータをJSON形式に変換して、MQTTで、M5Stackからラズパイへ送る方法
コメント