3.6.2.3. MQTT プロトコルを使用したコマンドの受信
MQTT プロトコルを使用して、クラウドからデバイスにコマンドを送信できます。
手順
MQTT クライアントを使用して、コマンドを受信するために MQTT トピックにサブスクライブします。
mosquitto_sub -v -d -h $(oc -n amq-online-infra get routes iot-mqtt-adapter --template='{{ .spec.host }}') -p 443 -u 'sensor1@myapp.iot' -P hono-secret -t command/+/+/req/# -i 4711 --cafile install/components/iot/examples/k8s-tls/build/iot-mqtt-adapter-fullchain.pemmosquitto_sub -v -d -h $(oc -n amq-online-infra get routes iot-mqtt-adapter --template='{{ .spec.host }}') -p 443 -u 'sensor1@myapp.iot' -P hono-secret -t command/+/+/req/# -i 4711 --cafile install/components/iot/examples/k8s-tls/build/iot-mqtt-adapter-fullchain.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow カスタマーアプリケーションを実行して、ID が
4711のデバイスにコマンドを送信します。java -jar hono-cli-*-exec.jar --hono.client.host=$MESSAGING_HOST --hono.client.port=$MESSAGING_PORT --hono.client.username=consumer --hono.client.password=foobar --tenant.id=myapp.iot --hono.client.trustStorePath=tls.crt --device.id=4711 --spring.profiles.active=command
java -jar hono-cli-*-exec.jar --hono.client.host=$MESSAGING_HOST --hono.client.port=$MESSAGING_PORT --hono.client.username=consumer --hono.client.password=foobar --tenant.id=myapp.iot --hono.client.trustStorePath=tls.crt --device.id=4711 --spring.profiles.active=commandCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの名前、ペイロード、およびコンテンツタイプを入力するための指示に従います。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントは MQTT メッセージでコマンドを受け取ります。
Client 4711 received PUBLISH (d0, q0, r0, m0, 'command///req//setVolume', ... (13 bytes)) command///req//setVolume {"level": 50}Client 4711 received PUBLISH (d0, q0, r0, m0, 'command///req//setVolume', ... (13 bytes)) command///req//setVolume {"level": 50}Copy to Clipboard Copied! Toggle word wrap Toggle overflow