1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Remotteアプリ] リモッテで MQTT ブローカーを立ち上げる

Last updated at Posted at 2020-07-17

IoT のアプリケーションでは、要素間の通信方式として標準的に MQTT プロトコルが使われる場合が多い。MQTT では、情報の送信側と受信側を仲介する「ブローカー」というものが必要になるが、リモッテでは「MQTT Broker」というアプリが Remotte ストアにて提供されている。本投稿ではこの「MQTT Broker」を起動してみる。

「MQTT Broker」のインストール

まず、アプリの一覧画面から「ストアへ」を押して Remotte アプリストアを開く。
image.png
アプリストアで「MQTT Broker」を見つけてダウンロードする。
image.png
アプリの一覧画面からメニューを開き、「ファイルから読み込み」を選択し、ダウンロードしたファイルを選択する。
image.png
image.png
アプリがインストールされたら、アプリの詳細画面を開き、「全般」画面に書かれている説明をよく読みましょう。特に、下の方に書かれているように、古いバージョンの Windows 10 では、アプリが正しく動作しない可能性があるので注意しましょう。
image.png
次に「構成」タブの「設定」をクリックします。
image.png
「ID と パスワード」のオプションがあります。このままでも良いですが、とりあえず問題なく実験したいという場合は、エディットボックスの右側のマイナスボタンをクリックして削除し、画面上部の「保存」ボタンを押しても良い。

MQTT 用のポートを開く

上記手順の中の、「全般」画面に書かれている内容に従って、MQTT のポートを開く。これには管理者権限をもったユーザーで Windows にログインする必要がある。以下の手順に出てくる画面や名称は、Windows 10 のバージョンやセキュリティーツールがインストールされているなどの環境の違いによって異なる場合があります。
まず、Windows の「設定」画面から、[ネットワークとインターネット] -> [Windows ファイアウォール] -> [詳細設定]と進む。
image.png
「セキュリティが強化された Windows Defender ファイアウォール」が開いたら、画面左の「受信の規則」を選択する。
image.png
続いて、画面右側の「新しい規則...」をクリックした後、「ポート」を選択し、「次へ」で進む。
image.png
「TCP」および「特定のローカルポート」を選択した上で、ポート番号として「1883」と入力して進む。
image.png
以降、下記の画面の様に進める。
image.png
image.png
「名前」として例えば「MQTT」とし、「完了」ボタンを押して終わり。
image.png

MQTT ブローカーの起動

管理ツールの画面上部の「開始」ボタンを押し、MQTT ブローカーを起動する。正しく起動されたかどうかを確認するために、「ログ」画面を開いてみよう。この画面にエラーが表示されていなければ大丈夫。
image.png
もし、何らかのエラーが表示されている場合は、Windows 10 のバージョンが十分新しいかどうかを確認し、古ければアップデートすることをお勧めする。もし、Windows 10 のバージョンに問題が無いなら、「構成」画面の左下のメニューを開いて、「インストールスクリプトの実行」を選択してみる。
image.png
image.png
実行が完了したら、「閉じる」ボタンをクリック。
また、何か期待通りに動作しない場合に、リモッテ・ステーションを再起動してみるのも良い方法だ。Remotte のコントロールパネルを開いて、「停止」ボタンを押してから、再度「起動」ボタンを押してから、MQTT Broker のアプリを開始してみよう。
image.png

それでもエラーになる場合は...

Windows 10 をバージョンアップできない場合などで、セキュリティー環境に関連してエラーが出ている場合があります。この場合、以下の操作を行ってみてください。この操作にはリモッテの開発者登録を行なう必要があり、別の投稿 [Remotte開発] 管理者モードから開発者モードへ切り替える を参考にしてください。開発者モードに切り替えたら、「構成」の「コード」画面に移動し、その中のインストールスクリプト「Install.ps1」の13行目の先頭の # を削除し、コメント文を有効化した上で、再度画面左下のメニューから「インストールスクリプトの実行」をしてみてください。
image.png

接続性の確認

Android や iOS 端末があれば、MQTT ブローカーとの接続確認が手軽にできます。実際の IoT デバイスを接続する前に、ネットワーク環境などを含めた接続性の試験をしたい場合や IoT デバイスが上手く動作しない場合は、別の投稿 MQTT ブローカーとクライアント間の接続性の確認 を参考にしてみてください。

接続できない場合

接続確認がエラーになってしまう場合、以下の項目を参考にしてみましょう。

1)Windows パソコンにセキュリティーソフトがインストールされている場合、一度それを無効にし、MQTT ブローカーを再起動した上で試してみるのも有効な手段です。

2)職場から提供されたパソコンを使用しているなどで、ファイアウォールがより高く設定されている場合があります。上記の節「MQTT 用のポートを開く」では、ポート番号の指定によって接続許可を与える操作をしましたが、これに加えて、プログラムの指定によって接続を許可する操作を行うと良い場合があります。許可するプログラムのファイル名は、「mosquitto.exe」というもので、まずは「C:\ProgramData\Remotte」フォルダを開き、そこからこのファイルを検索してください。検索結果として、「C:\ProgramData\Remotte\Station\1\Application\xxxxxxxxxx\IOC\xxxxxxxxxx\mosquitto」というようなフォルダ内に、このファイルが格納されていることが分かります(xxxxxxxxxx の部分は、それぞれのパソコン環境で異なります)。このフォルダ名とプログラムファイル名「mosquitto.exe」を連結した、「C:\ProgramData\Remotte\Station\1\Application\xxxxxxxxxx\IOC\xxxxxxxxxx\mosquitto\mosquitto.exe」という、プログラムのフルパスを、ファイアウォールに設定します。手順は、上記の「規則の種類」を選択する画面で、「ポート」を選択する代わりに「プログラム」を選択します。
規則の種類_プログラム.png
「次へ」をクリックした後、ラジオボタン「このプログラムのパス」を選択した上で、プログラムのフルパスを設定します。
プログラムのフルパス.png

3)使用している Wi-Fi ルーターで「分離機能」が有効になっている場合、2つのデバイス間で通信が出来ません。ネットワーク環境に問題が無いかを確認しましょう。

まとめ

MQTT ブローカーは IoT 関係のアプリではとてもよく使われる要素です。リモッテ・ステーション上で一度起動できたら、そのまま放置し、起動したままにしておくのが良いかもしれません。なお、LAN の外から今回起動した MQTT ブローカーへアクセスできるようにするためには、別途ルータの設定が必要になります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?