背景
セキュリティはガバガバで、とにかくVPSにBrockerを起動し、raspberry pi側からmosquitto送信クライアントコマンドであるmosquitto_pubが通るところまでを確認します。
CAT-M UNITでMQTTの通信を確認する前に、整った環境で導通するか確認したかったので実施しています。
事前準備
独自ドメインを割り当てているものとします。私は、スタードメインでドメインを取得しこちらを参考に設定しました。(※割り当てられていなくても問題ないと思われますが…)
OSのインストール
項目 | 内容 |
---|---|
OSインストール形式 | 標準OS |
インストールOS | CentOS8 x86_64 |
スタートアップスクリプト利用 | 利用しない |
パケットフィルター設定 | 利用する |
サーバーへのSSHキー登録 | 登録しない |
パケットフィルター設定
mqttのポートを事前に開けておきます(利用しないを選択し、firewallなどで制御しても問題ないと思われます。)
- SSH:TCP 22
- カスタム:TCP 1883
さくらのVPSの初期設定
ネコでもわかる! さくらのVPS講座 ~第二回 サーバーをさわってみよう~を参考に、OSアップデートと一般ユーザー作成までを完了させます。
ユーザーにsudo権限を与える
is not in the sudoers file.This incident will be reported.となった時の対応方法を参考に、作成したユーザーにsudo権限を与えます。
[user@os-x]su
Password:
[root@os-x]sudo usermod -aG wheel user
[root@os-x]su user
mosquittoのインストール
How To Install and Secure the Mosquitto MQTT Messaging Broker on CentOS 7のstep1を参考にmosquittoをインストールします。
[user@os-x]sudo yum -y install epel-release
[user@os-x]sudo yum -y install mosquitto
[user@os-x]sudo systemctl start mosquitto
[user@os-x]sudo systemctl enable mosquitto
mosquittoでのMQTTのサブクスライブ
以下のコマンドで待ち構えておきます。
[user@os-x]mosquitto_sub -h localhost -t test
raspberry piでのmosquittoインストール
送信用にラズパイ等を用意し、mosquitto本体とclientをインストールします。
[user@raspi]sudo apt install mosquitto
[user@raspi]sudo apt install mosquitto-clients
raspberry piでのMQTTのパブリッシュ
同一topicでパブリッシュします。
[user@raspi]mosquitto_pub -h iot-tech-lab.com -t test -m "hoge"
結果
結果としては以下のような感じになりました。
- raspberry pi 側
[user@raspi]mosquitto_pub -h iot-tech-lab.com -t test -m "hoge"
[user@raspi]mosquitto_pub -h iot-tech-lab.com -t test -m "hoge"
- さくらのVPS(cent os側)
[user@os-x]mosquitto_sub -h localhost -t test
hoge
hoge