根据官方教程用nodejs那个 mqtt pub尝试多次发布到thingsboard都出错
mqtt pub -v -q 1 -h "$THINGSBOARD_HOST_NAME" -t "v1/devices/me/telemetry" -u '$ACCESS_TOKEN' -m "{"temperature":42}"
Error: Connection refused: Not authorized
解决办法就是换 mosquitto_pub 就可以!
apt install mosquitto-clients -y
mosquitto_pub -d -q 1 -h "$THINGSBOARD_HOST_NAME" -t "v1/devices/me/telemetry" -u "$ACCESS_TOKEN" -m "{"temperature":42}"
详细格式参考 https://thingsboard.io/docs/reference/mqtt-api/
root@xxx:/home/xxx# mosquitto_pub -d -q 1 -h "xxxxx" -t "v1/devices/me/telemetry" -u "xxx" -m "{"temperature":42}"
Client mosq-JICzALFi4ZaOvR3awd sending CONNECT
Client mosq-JICzALFi4ZaOvR3awd received CONNACK (0)
Client mosq-JICzALFi4ZaOvR3awd sending PUBLISH (d0, q1, r0, m1, 'v1/devices/me/telemetry', ... (16 bytes))
Client mosq-JICzALFi4ZaOvR3awd received PUBACK (Mid: 1, RC:0)
Client mosq-JICzALFi4ZaOvR3awd sending DISCONNECT
另一个坑:如果用windows版本的 emqx 的客户端能够连上的,但不能订阅主题,所以就没有pub功能了。