mosquitto_sub 指令找不到,這表示你的 Raspberry Pi 上可能沒有安裝 Mosquitto 的客戶端工具。以下是解決方法的步驟:
Mosquitto 提供了兩個部分:Broker(服務端)和 Client(客戶端)。你需要安裝客戶端工具來使用 mosquitto_sub 和 mosquitto_pub。
請執行以下指令來安裝 Mosquitto 客戶端:
bash
複製程式碼
sudo apt-get update
sudo apt-get install mosquitto-clients
安裝完成後,可以用以下指令確認安裝是否成功:
mosquitto_sub --version
如果你看到版本資訊,就表示安裝成功。
安裝成功後,再次嘗試執行你原本的指令:
mosquitto_sub -t 'myTopic'
這應該會正常運作,並開始訂閱 myTopic 主題。
從你提供的 Docker 容器資訊來看,Mosquitto Broker 已經在執行。你可以確保 Mosquitto Broker 是可用的,並且可以連接:
mosquitto_pub -h localhost -t 'myTopic' -m 'Hello MQTT'
然後在另一個終端機執行:
mosquitto_sub -h localhost -t 'myTopic'
如果兩個指令都能執行,並且你可以看到訂閱的主題訊息,就表示 MQTT Broker 和客戶端都正常運作。
你的 Docker 容器將 1883 端口映射到 11883,確保你在使用 mosquitto_sub 和 mosquitto_pub 時,指定的端口是正確的:
mosquitto_sub -h localhost -p 11883 -t 'myTopic'