Это довольно просто, нет необходимости в аутентификации, и это примерно API загрузки телеметрии . Поскольку у вас нет примера вашего csv, и предполагая, что для этого вы можете найти множество руководств, я просто привожу здесь пример выполнения HTTP-запроса POST на сервер THINGSBOARD с использованием python http-клиента, в зависимости от ваших требований это может быть выполняется на любом языке.
вам необходимо только:
Преобразование данных из csv или любого формата в следующий формат в словаре data
с правильной меткой времени ts
и другие переменные в поле values
. Если вы не поставите ts
, на нем будет проставлено время ввода данных. ts
должно быть в миллисекундах.
Преобразуйте его в json
Используйте IP-адрес хоста, ПОРТ и токен доступа это устройство в URL-адресе, как в примере.
import requests, json
IP, PORT, access_token = ???.???.???.??? # host address of Thingsboard server
PORT = 8080 # normally it should be 8080
access_token = XXXXXXXX # you can copy it easily from device panel of Thingsboard
data = [
{
"ts": 1591123823000,
"values": {
"TEMPERATURES": 100,
"DEW_POINT": 28,
"VALUE_X": 0
}
},
{
"ts": 1591123883000,
"values": {
"TEMPERATURES": 150,
"DEW_POINT": 26,
"VALUE_X": 10
}
},
{
"ts": 1591123943000,
"values": {
"TEMPERATURES": 200,
"DEW_POINT": 25,
"VALUE_X": -10
}
}
]
data = json.dumps(data)
headers = {'Content-Type': 'application/json',}
url_post = 'http(s)://{}:{}/api/v1/{}/telemetry'.format(IP, PORT, access_token)
response = requests.post(url_post, headers=headers, data=data)