хм… почему сам не сносится при удалении девайса …
а можете подсказать где подробнее посмотреть по командам mqtt?
можно ли просто сходить через консоль в какой-то каталог и там почистить?
хм… почему сам не сносится при удалении девайса …
а можете подсказать где подробнее посмотреть по командам 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
в итоге имею показания в контроле:
Сомневаюсь на предмет верности полученных данных, в помещении где проводятся измерения температура явно не 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. А судя по документации, которую уже выкладывали в этой теме выше адрес храниться в другом регистре.
Помогите разобраться с адресацией.
что означает “0х”?
какая команда в данном случае будет правильной?
Спасибо
Спасибо.
Я правильно понял что 0x означает 16ричную систему счисления? ))
(0х80 - 128 в десятичной …)
Регистр где хранится адрес modbus в этом датчике 0x0100
если это 100 в 16тиричной, то в десятичной это 256 … странно, обычно адресацию ограничивают одним байтом (255 в десятичной)
И еще больше непонятно становится с регистрами темп и вл. 0x0200 и 0x0201 …
Хотя при этом данные считываются нормально при адресах регистров 0 и 1 …
Подскажите, как это понять ))
Еще раз спасибо
Добрый вечер!
Мне кажется, вы путаете Modbus-адрес устройства и адреса регистров. Вот еще мануал:
https://wirenboard.com/wiki/index.php/Протокол_Modbus
Не путаю … но таблицу адресов регистров эту китайскую понять не могу голову сломал.
мануалы прочитал …
Данные считывать получается по адресу modbus 1 и адресам регистров 0 и 1:
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][00][00][00][01][84][0A]
Waiting for a confirmation…
<01><03><02><01><69><79>
SUCCESS: read 1 of elements:
Data: 0x0169
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][00][01][00][01][D5][CA]
Waiting for a confirmation…
<01><03><02><00>
SUCCESS: read 1 of elements:
Data: 0x00c8
При этом с адресами регистров из таблицы ничего не получается, как понять какие физические адреса регистров?
Спасибо
Пример из мануала:
(1) read the temperature and humidity measurement values (read temperature, humidity and dew point temperature):
Host send:0103020000030473
Reply from machine:01030601 0B 01310050 6A D5
Что получается у меня:
~# modbus_client --debug -m rtu -s1 -pnone /dev/ttyRS485-2 -a1 -t0x03 -r0x0200 -c3
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][02][00][00][03][04][73]
Waiting for a confirmation…
<01><03><06><00><00><00><00><00><00><21><75>
SUCCESS: read 3 of elements:
Data: 0x0000 0x0000 0x0000
Получается полная белеберда с адресами?
Если так, то где искать регистр с адресом девайса?
Ну это классика, когда они присылают ModScan32 вместо инструкции. Типа разбирайтесь сами.
Как правило, желание сэкономить сопряжено с тернистым путем.
Проще было бы все-таки wb-msw использовать.
Если вы в Питере - заезжайте в гости, я постараюсь помочь.
controllerwirenboard@gmail.com
Я не экономил ни разу … куплен контроллер с максимальным наполнением, пока даже не знаю понадобится ли все это …
А вот раскидать десяток другой датчиков температуры и влажности по технических помещениям (чердак/подвал/погреб) … просто из соображений здравого смысла выбраны такие которые дают показания только температуры и влажности и стоят в 3(5) раза дешевле. (повторюсь - десятки штук). Если бы у WB были варианты датчиков не все в одном, а и более простые варианты, выбрал бы их не думая.
За предложение спасибо, я в Питере.
Если тут на форуме мне не подскажут и сам не осилю, с благодарностью обращусь к вам)
Все от задачи и цели ж пляшется, имхо.
Если это дом и выпадание прибора (датчика) не критично,
то использовать какое более дешевое и доступное решение
но с бОльшими проблемами при запуске (обычно таки разово)
более чем разумная стратегия в каких-то случаях.
Ибо временные затраты не особо важны,
а материальные - как раз наоборот.
Ибо карман свой и не резиновый.
Если это какой коммерческий проект, в котором
календарный план, штрафники, большие горячие паяльники в …пу
при выпадении приборов из сети - тогда да. Тогда что-то подороже
но, условно, из коробки. С понятными затратами времени и денег.
Собственно задача инженера и есть в том, чтобы
собрать из имеющихся “кирпичей”
оптимальное решение под
конкретные критерии
Да, похоже, продавец указывает неверную таблицу с адресами Modbus-регистров устройства. Там в комментариях на это жалуются. Так же в комментариях есть ссылка на проект на гитхаб: кто-то из покупателей разработал софт для этого датчика. Судя по коду, адреса регистров начинаются с 0, как вы и пробовали. 0 - температура, 1 - влажность, дальше точка росы, затем то же самое но в другом формате представления.
Регистры, которые обозначены как 0x0200 – только чтение, 0x100 – запись и чтение (вот их реальные адреса не могу определить), регистры помеченные как 0x0102 0x0103 – зарезервированы производителем.
Да это я для себя делаю, у себя в загородном доме. Проект не коммерческий и заказчика и сроков нет.
Kilpio, по поводу регистров. там только 0 и 1 и 7 отдают данные, остальное нули.
:~# modbus_client --debug -m rtu -s1 -pnone /dev/ttyRS485-2 -a1 -t0x03 -r0 -c12
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][00][00][00][0C][45][CF]
Waiting for a confirmation…
<01><03><18><01><6D><00><00><00><00><00><00><00><00><00><00><00><01><04><00><00><00><00><00><00><00><00><96><69>
SUCCESS: read 12 of elements:
Data: 0x016d 0x00c2 0x0000 0x0000 0x0000 0x0000 0x0000 0x0104 0x0000 0x0000 0x0000 0x0000
Прошелся руками до четырех сотен адресов, везде нули.
~# modbus_client --debug -m rtu -s1 -pnone /dev/ttyRS485-2 -a1 -t0x03 -r0x200 -c12
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][02][00][00][0C][44][77]
Waiting for a confirmation…
<01><03><18><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><6C>
SUCCESS: read 12 of elements:
Data: 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
~# modbus_client --debug -m rtu -s1 -pnone /dev/ttyRS485-2 -a1 -t0x03 -r0x100 -c12
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][01][00][00][0C][44][33]
Waiting for a confirmation…
<01><03><18><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><6C>
SUCCESS: read 12 of elements:
Data: 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
я думаю что чего-то недопонимаю … подскажите куда поискать плз, тут же есть опытные!
Заранее благодарен.