TESLiOT BLE Sensors: различия между версиями

Материал из Wiren Board
(Исправлено с учетом установки из репозитория)
Строка 13: Строка 13:
* Метка времени в момент передачи данных
* Метка времени в момент передачи данных


== Подключение к контроллеру Wiren Board==
== Подключение к контроллеру Wiren Board ==
Датчики TESLiOT подключаются к контроллерам Wirenboard по каналу BLE посредством широковещания параметров GAP Advertising.
Датчики TESLiOT подключаются к контроллерам Wirenboard по каналу BLE посредством широковещания параметров GAP Advertising.
Со стороны контроллера движок правил [wb-rules] периодически запускает скрипт сканирования сети, от которого получает свежие данные с датчиков.
Со стороны контроллера движок правил [wb-rules] периодически запускает скрипт сканирования сети, от которого получает свежие данные с датчиков.


Чтобы получать данные с датчиков, нужно проделать следующее:
== Установка и настройка ==
* Загрузить на контроллер [https://github.com/wirenboard/wb-ble-tesliot/blob/main/tesliot.sh скрипт сканирования BLE], например в <code>/mnt/data/root/</code>
Для работы с TESLiOT нужно установить из репозитория драйвер <code>wb-ble-tesliot</code>.
* Назначить его исполняемым: <code>chmod +x /mnt/data/root/tesliot.sh</code>
<syntaxhighlight lang="bash">
* Загрузить на контроллер правило, запускающее этот скрипт [https://github.com/wirenboard/wb-ble-tesliot/blob/main/tesliot-example.js пример для двух датчиков в том же репозитории]
apt update
apt install wb-ble-tesliot
</syntaxhighlight>


В скрипте заполнить массив датчиков, указав их mac-адреса (<code>mac</code>), желаемые названия mqtt-топиков (<code>dev_id</code>) и заголовки виртуальных устройств (<code>title</code>), например:


<syntaxhighlight lang="ecmascript">
Далее нужно в конфигурационном файле <code>/etc/wb-ble-tesliot.conf</code> заполнить массив датчиков, указав их mac-адреса (mac), желаемые названия mqtt-топиков (dev_id) и заголовки виртуальных устройств (title), например:
{
 
  dev_id : "tesliot_temp_hum_sensor_1",
<syntaxhighlight lang="json">
  title : "TESLiOT Sensor (temperature and humidity)",
{"config":
  mac : "C0:00:0D:92:9E:59"
  [
      {
        "dev_id":"tesliot_1", // устройство будет доступно по топику /devices/tesliot_1
        "title":"TESLiOT Test Sensor 1", // видимое имя устройства
        "mac":"FF:FF:FF:FF:FF:FF" // mac-адрес устройства
      };
      {
        "dev_id":"tesliot_2",
        "title":"TESLiOT Test Sensor 2",
        "mac":"FE:FE:FE:FE:FE:FE"
      }
  ]
}
}
</syntaxhighlight>
После изменения конфигурации нужно перезапустить wb-rules:
<syntaxhighlight lang="bash">
systemctl restart wb-rules
</syntaxhighlight>
</syntaxhighlight>


Результат должен выглядеть так:
Результат должен выглядеть так:
[[Image: Tesliot sensor.jpg |300px|thumb|left| Пример представления устройства TESLiOT в интерфейсе]]
[[Image: Tesliot sensor.jpg |300px|thumb|left| Пример представления устройства TESLiOT в интерфейсе]]

Версия 17:58, 1 декабря 2022

Общая информация

Беспроводные датчики TESLiOT имеют на борту разнообразные датчики состояния среды и имеют заявленный батарейное питание со сроком работы от батареи от 6 месяцев до трёх лет в зависимости от типа.

Протокол подразумевает возможность получать такие данные как:

  • Напряжение питания датчика
  • Факт удара
  • Ускорения по осям X, Y и Z
  • Интенсивность магнитного поля
  • Освещённость
  • Влажность
  • Температура
  • Метка времени в момент передачи данных

Подключение к контроллеру Wiren Board

Датчики TESLiOT подключаются к контроллерам Wirenboard по каналу BLE посредством широковещания параметров GAP Advertising. Со стороны контроллера движок правил [wb-rules] периодически запускает скрипт сканирования сети, от которого получает свежие данные с датчиков.

Установка и настройка

Для работы с TESLiOT нужно установить из репозитория драйвер wb-ble-tesliot.

apt update
apt install wb-ble-tesliot


Далее нужно в конфигурационном файле /etc/wb-ble-tesliot.conf заполнить массив датчиков, указав их mac-адреса (mac), желаемые названия mqtt-топиков (dev_id) и заголовки виртуальных устройств (title), например:

{"config":
   [
      {
         "dev_id":"tesliot_1", // устройство будет доступно по топику /devices/tesliot_1
         "title":"TESLiOT Test Sensor 1", // видимое имя устройства
         "mac":"FF:FF:FF:FF:FF:FF" // mac-адрес устройства
      };
      {
         "dev_id":"tesliot_2",
         "title":"TESLiOT Test Sensor 2",
         "mac":"FE:FE:FE:FE:FE:FE"
      }
   ]
}

После изменения конфигурации нужно перезапустить wb-rules:

systemctl restart wb-rules

Результат должен выглядеть так:

Пример представления устройства TESLiOT в интерфейсе