Raspberry Pi の mosquitto-clientsはバージョンが古いため、mosquitto.orgで公開されているdebをインストールする必要があります。
こちらに、その記述が
【Raspberry Pi】AWS IoTとRaspberry PiでIoTをやってみよう
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
get http://repo.mosquitto.org/debian/mosquitto-wheezy.list
sudo cp mosquitto-wheezy.list /etc/apt/sources.list.d/
sudo apt update
sudo apt install mosquitto-clients
IOT のブローカーの作り方は、こちらです。
AWS IOT の簡単な使い方
次が必要です。
モノの証明書 r10001.cert.pem
プライベートキー r10001.private.key
ルート CA root-CA.crt
Publish コマンド
エンドポイントは変更して下さい。
mosquitto_pub --cafile root-CA.crt \
--cert r10001.cert.pem --key r10001.private.key \
-h "xxx00iq1d4m00.iot.ap-northeast-1.amazonaws.com" \
-p 8883 -q 1 -d -t r10001/topic_1 -m "Hello World"
Subscribe コマンド
エンドポイントは変更して下さい。
mosquitto_sub --cafile root-CA.crt --cert r10001.cert.pem \
--key r10001.private.key \
-h "xxx00iq1d4m00.iot.ap-northeast-1.amazonaws.com" \
-p 8883 -q 1 -d -t r10001/topic_1
エンドポイントの調べ方
aws iot describe-endpoint
追加
次のファイルを Publish するには
in01.json
{
"greeting": "Hello World",
"key1": "aaa",
"key2": "bbb",
"key3": "ccc"
}
mosquitto_pub --cafile root-CA.crt \
--cert r10001.cert.pem --key r10001.private.key \
-h "xxx00iq1d4m00.iot.ap-northeast-1.amazonaws.com" \
-p 8883 -q 1 -d -t r10001/topic_1 -f in01.json