Подключение китайского датчика Темп. и Влажн

Здравствуйте.

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

Помогите правильно подключить и настроить датчики к WB6.
В WEB UI не нашел подходящего типа (SHT20)

Понятно что:

  • подключаю физику (питание и rs485)
  • включаю Port /dev/ttyRS485-1, настраиваю 9600/N/8/1
  • Дальше начинаю добавлять Serial Devices … и вот тут не понятно, что выбирать …

Спасибо.

Смотрите, у устройства же понятная документация:

Вам всего лишь нужно понять где какой регистр и написать шаблон для wb-mqtt-serial. SHT20 - это чип на плате, никакого отношения к протоколу датчика не имеет.

1 лайк

А где смотреть инструкцию по тому как написать шаблон?

Контроллер недавно получил. Документации полноценной на него нет …

Есть ли общая вводная инструкция по запуску в работу контроллера? Настройке доступа к нему. SSH не отвечает, telnet не отвечает …
IP устройства поймал на DHCP сервере, закрепил за его mac адресом.
В web интерфейс зашел, … настройка

settings -> Login. Ставлю Use access credentials, пишу логин и пасс. в итоге это все не сохраняется. После ребута настройки в дефолте.

Configs->Network Interface Configuration вообще вот такое показывает:
“Error loading the file: Invalid config file”

Такое же сообщение показывает hardware modules configuration.

Я что-то делаю не так?

Еще раз спасибо.

Добрый день!

Видели ли вы вот эту статью: https://wirenboard.com/wiki/index.php/Wiren_Board_6:Первое_включение ?
Там есть в частности про подключение к консоли через отладочный порт или SSH. Про подключение по telnet ничего нет, потому что по умолчанию его нет.
Подключение по SSH вам понадобится, поэтому давайте разберёмся сначала с ним. Пришлите, пожалуйста, скриншот, как вы подключаетесь, и какие получаете ошибки.

Статью изучу, отпишусь по результату.

Пока еще один вопрос.
Завел в систему serial device … посмотрел на его блок в devices. потом удалил serial device из конфиг файла,
а в devices блок все равно остался и пропадать не хочет … .

Что-то не так?

Обновил SSH клиент (Putty) и зашел в консоль. С этим все норм.

mqtt-delete-retained ‘/devices/wb-ms-thls-v2_20/controls/Illuminance’

что-то типа такого спасет “отца русской демократии”. :wink:
Можно использовать # как шаблон в конструкции типа
mqtt-delete-retained ‘/devices/wb-ms-thls-v2_20/controls/#’

Суть - снести каналы и топик если надо. Он и не будет отображаться.

хм… почему сам не сносится при удалении девайса …

а можете подсказать где подробнее посмотреть по командам mqtt?
можно ли просто сходить через консоль в какой-то каталог и там почистить?

вот тема на форуме по этому вопросу.


он достаточно регулярно всплывает.
поиском по mqtt-delete находится
я таким образом разбирался
в свое время

удалил, спасибо

Что в итоге имею сейчас.

в каталоге /usr/share/wb-mqtt-serial/templates
сделал файл config-ZHIPU_T-XNQ-08.json

{
“device_type”: “ZHIPU_T-XNQ-08”,
“device”: {
“name”: “ZHIPU_T-XNQ-08”,
“id”: “zhipu_t-xnq-08”,
“max_read_registers”: 0,
“channels”: [
{
“name”: “Temperature”,
“reg_type”: “input”,
“address”: 0,
“type”: “temperature”,
“format”: “s16”,
“scale”: 0.1,
“error_value”: “0x7FFF”
},
{
“name”: “Humidity”,
“reg_type”: “input”,
“address”: 1,
“type”: “rel_humidity”,
“format”: “u16”,
“scale”: 0.1,
“error_value”: “0xFFFF”
}
]
}
}

настроил через WEB UI сериал девайс, адрес 1

в итоге имею показания в контроле:

ZHIPU_T-XNQ-08 1

Temperature 32.4 °C

Humidity 20.1 % RH

Сомневаюсь на предмет верности полученных данных, в помещении где проводятся измерения температура явно не 32. есть другой измеритель в помещении (термостат управления радиаторами) который показывает 22.5 градуса …

Помогите разобраться, проверьте меня. Что не так?
также пока не понял как поменять адрес на датчике … ничего не понимаю по китайски))

п.с. дублирую ссылку на документацию:

Заранее благодарен.

имхо перепутаны параметры влажности и температуры.

проверить то легко.
чуть подогреть датчик и поглядеть
какой параметр меняться будет.

в яблочко, еще раз спасибо.

Осталось только научится менять адреса на этих датчиках…

Подключил еще один датчик на второй порт, настроил … в контроле видно что из-за того что адрес один и тот же и тип девайса один и тот же, второе окно для датчика не появилось, но видно что значения скачут, т.е. датчики оба работают и данные приходят.

Через консоль делаю такое:
~# modbus_client --debug -m rtu -s1 -pnone /dev/ttyRS485-2 -a0x00 -t0x06 -r0x80 2
Data to write: 0x2
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[00][06][00][80][00][02][08][32]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!

Что делаю не так?

Также хотелось бы уточнить, как правильно решают проблему перекликающихся адресов и типов девайсов на разных портах?

Спасибо

А Вы документацию к датчикам читали? Вы пытаетесь в 128 регистр широковещательной командой записать значение 2. А судя по документации, которую уже выкладывали в этой теме выше адрес храниться в другом регистре.
image

Помогите разобраться с адресацией.
что означает “0х”?
какая команда в данном случае будет правильной?

Спасибо

https://wirenboard.com/wiki/index.php/Modbus-client

Спасибо.

Я правильно понял что 0x означает 16ричную систему счисления? ))
(0х80 - 128 в десятичной …)

Регистр где хранится адрес modbus в этом датчике 0x0100
если это 100 в 16тиричной, то в десятичной это 256 … странно, обычно адресацию ограничивают одним байтом (255 в десятичной)

И еще больше непонятно становится с регистрами темп и вл. 0x0200 и 0x0201 …
Хотя при этом данные считываются нормально при адресах регистров 0 и 1 …

Подскажите, как это понять ))
Еще раз спасибо

Добрый вечер!
Мне кажется, вы путаете Modbus-адрес устройства и адреса регистров. Вот еще мануал:
https://wirenboard.com/wiki/index.php/Протокол_Modbus