# MQTTアプリケーション開発

### MQTTアプリケーション開発

IoT自動化のためのアプリケーションを開発するAltova MobileTogetherにおけるMQTTサポートにより、開発者は、産業用自動化、スマートオフィス、スマートホームといった分野向けの、ネイティブでクロスプラットフォーム対応のIoT自動化アプリケーションを構築できます。

## MQTTとは何ですか？

MQTT（[Message Queuing Telemetry Transport](https://mqtt.org/) ）は、スマートデバイス間の通信に使用される軽量なメッセージングプロトコルです。MQTTは、分散型の通信モデルを可能にし、デバイスが中央のブローカーに情報を**送信（publish）** し、関連する興味のあるトピックを**購読（subscribe）** することができます。これにより、MQTTは、異なるメーカーのIoTデバイスの監視、制御、自動化を可能にするだけでなく、これらのデバイスを中央集権的な制御および監視ソリューションに統合することもできます。その軽量な特性から、MQTTは、処理能力や帯域幅が限られたIoTデバイスなど、リソースが限られた環境に最適です。

このプロトコルの設計と効率性は、スマートホーム/オフィス自動化や産業用IoTから、スマートシティソリューションまで、幅広い用途に適しています。

## 産業用自動化におけるMQTTの活用

現在、MQTTは、自動車、製造、輸送、医療など、幅広い産業分野において、デバイスやプロセスのリアルタイム監視と制御を行う上で、不可欠な要素となっています。 

産業用スマートデバイスの自動化は、センサーやアクチュエーターが関連するトピックを公開・購読できるMQTTを使用することで実現され、システム全体での効率的な通信を促進します。 

数えきれないほどの事例がありますが、その一つとして、自動車製造におけるロボットアームの使用が挙げられます。ロボットアームは、ドア、窓、内装部品などの部品を組み立てる際に使用され、アームに取り付けられたセンサーが、組み立てプロセス中に発生する変位や圧力を測定します。これらのデータは、リアルタイムでの監視と分析のために、MQTTトピックを通じて公開されます。また、製造施設内の設備の温度を監視するアプリケーションを開発することも可能です。この場合、温度データは、温度に応じてプロセスを調整するPLC（プログラマブルロジックコントローラー）だけでなく、リアルタイムでのデータ可視化と監視を行うアプリケーションにも配信されます。

## MQTTを利用したスマートホームおよびスマートオフィスにおける自動化システム

MQTT技術は、照明、サーモスタット、センサーなどのIoTデバイスが互いに通信する必要があるスマートホームやオフィスシステムでも利用できます。簡単な例として、スマートドアロックやIoT対応の存在センサーが、人が建物内に侵入したことを示すメッセージを送信します。そのメッセージをモバイルアプリが受信し、MQTTメッセージを通じて他のスマートデバイスに指示を送り、照明を点灯したり、温度を調整したりすることができます。

## ローコードによるMQTTアプリケーション開発

MobileTogetherにおけるMQTTサポートにより、アプリケーションはMQTTネットワークにパブリッシャー、サブスクライバー、またはその両方の役割で接続できます。サブスクライバー機能を持つアプリケーションは、MobileTogetherのパブリッシャーだけでなく、MobileTogether以外のパブリッシャーが公開するトピックにもサブスクライブできます。 

MobileTogetherの独自のローコードアプリ開発プラットフォームは、MQTTに対応するための様々な機能を提供しています

- MQTTトピックへのサブスクライブ（登録）またはアンサブスクライブ（解除）を行う操作
- MQTTメッセージを送信するアクション
- MQTTメッセージデータを保存できるページソース
- 特定のページでMQTTメッセージが受信された際にトリガーされるイベント。このイベントが発生すると、あらかじめ定義された一連の処理が実行されます
- MQTTアクションを、サーバーサービスを利用して、バックグラウンドで静かに実行するオプションがあります
- 事前に録画されたメッセージファイルをアップロードし、実際の入力に基づいてアプリの動作をシミュレーションするための機能を提供します

[MobileTogetherでMQTTアプリケーションを開発するためのツール](https://www.altova.com/images/build-mqtt-app.png)

MobileTogetherは、ドラッグ＆ドロップによるUIデザイン、イベント処理のための強力なビジュアルプログラミング言語である[アクションツリー](app-development.md#action-tree) 、そしてデータ選択と処理のための標準的な関数型プログラミングを組み合わせたものです。この独自の仕組みにより、MQTTに対応したアプリケーションの様々な側面を簡単に定義し、テストすることができます

- メッセージの送信、トピックへの購読と解除、およびブローカーとの接続解除を行うための仕組みを構築してください
- MQTTメッセージを受信した場合に、ソリューションが実行する処理を特定してください
- MQTTサービスを構築する
- MQTTメッセージを受信した際に実行されるアクションツリーをテストするために、シミュレーションを実行してください

[MobileTogether上で、MQTTを利用した自動化アプリを開発する](https://www.altova.com/images/mqtt-actions.png)

IoTの自動化や監視アプリケーションを開発する際、MQTTメッセージのストリームをファイルに記録し、その後、MobileTogetherでその内容を再現することができます [アプリケーションシミュレーター](app-development.md#test-app) 開発中にテストやデバッグを行うために。 

MobileTogetherでMQTTアプリケーションの開発を始める方法を以下に示します

[MQTT機能を搭載したアプリケーションを開発する](https://www.youtube.com/watch?v=Q9upPKY2qrQ)

MobileTogetherには、この機能の利用を開始するのに役立つサンプルとなるMQTTソリューションが付属しています。また、このフレームワークは、工業用オートメーションを可能にするための他の機能もサポートしており、その中には[バーコードスキャン](mobile-scanner-apps.md) などが含まれます。

MobileTogetherに搭載された、包括的で導入が容易なMQTTサポートにより、開発者は、スマートホームから大規模な産業用自動化システムまで、幅広いIoT自動化アプリケーションを柔軟に開発できます。まずは、無料でMobileTogether Designerをダウンロードして、開発を始めてください。 

## 対応プラットフォーム：

- Android
- iOS (iPhone、iPad)
- Windows 10 および Windows 11
- 他のユーザー向けのHTML5ブラウザ

ads/feature_list.pngMobileTogether の機能一覧

READ MOREads/mt_faq.pngMobileTogether よくある質問集

READ MOREads/demo_videos.pngMobileTogetherのビデオデモンストレーション

VIEW NOW
## Call to Action

[無料でMobileTogether Designerをダウンロードして、すぐに使い始めてください！](download.md)
[既存のお客様は、こちらから最新バージョンにアップデートできます。](download.md)
[MobileTogetherサーバー、こちらです。](https://shop.altova.com/MobileTogetherServer)

