基于AccessToken的认证是ThingsBoard默认的设备认证类型。 设备在ThingsBoard中创建后,会生成唯一的AccessToken,后续可修改。 客户端必须在MQTT连接消息中,将AccessToken作为用户名传递。
明文MQTT(无SSL)
下面是一个使用AccessTokenYOUR_ACCESS_TOKEN向ThingsBoard Cloud EU上报温度数据的简单示例。 详见MQTTAPI。该命令使用明文MQTT(无TLS):
1
mosquitto_pub -d -q 1 -h "mqtt.eu.thingsboard.cloud" -p "1883" -t "v1/devices/me/telemetry" -u "YOUR_ACCESS_TOKEN" -m {"temperature":25}
上述命令使用 mqtt.eu.thingsboard.cloud 作为主机、1883 作为端口,需要安装mosquitto客户端库,可使用:apt-get install mosquitto-clients
MQTTS(MQTT over SSL)
单向SSL认证为标准模式,客户端通过服务器证书验证服务器身份。 ThingsBoard团队已为ThingsBoard Cloud EU配置了有效证书。
请使用以下链接下载CA根证书,并保存到工作目录为”ca-root.pem“。
1
wget https://thingsboard.io/docs/paas/eu/user-guide/resources/mqtt-over-ssl/ca-root.pem
然后可使用ca-root.pem建立与ThingsBoard Cloud EU的安全连接,并使用AccessTokenYOUR_ACCESS_TOKEN进行设备认证以上报遥测数据:
1
mosquitto_pub --cafile ca-root.pem -d -q 1 -h "mqtt.eu.thingsboard.cloud" -p "8883" -t "v1/devices/me/telemetry" -u "YOUR_ACCESS_TOKEN" -m {"temperature":25}
上述命令使用 mqtt.eu.thingsboard.cloud 作为主机、8883 作为端口,需要安装mosquitto客户端库,可使用:apt-get install mosquitto-clients