Добрый день!
Используем Wiren Board 6.9.1 с прошивкой wb-2204 совместно с модулями WBIO-DO-R1G-16 и WB-MR3-LV.
Не работают gpio на WBIO-DO-R1G-16: ни с вебинтерфейса, ни запросом через mqtt-топик не удается задействовать оборудование, подключенное к пинам.
Системный журнал содержал ошибку:
ERROR: [gpio] FATAL: Failed to parse JSON /etc/wb-mqtt-gpio.conf:* Line 1, Column 1
Проверив файл /mnt/data/etc/wb-mqtt-gpio.conf (на этот файл ссылается /etc/wb-mqtt-gpio.conf) обнаружили, что он пустой.
Почитав обсуждение, проверили память на Wiren Board 6.9.1:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 976M 877M 33M 97% /
devtmpfs 493M 0 493M 0% /dev
tmpfs 502M 0 502M 0% /dev/shm
tmpfs 502M 508K 501M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 502M 0 502M 0% /sys/fs/cgroup
/dev/mmcblk0p6 4.9G 3.5G 1.2G 75% /mnt/data
tmpfs 101M 0 101M 0% /run/user/0
Заполнили файл /mnt/data/etc/wb-mqtt-gpio.conf содержимым дефолтного файла wb-mqtt-gpio.conf.default.
{
"device_name" : "Relays & FETs",
"channels" : [
]
}
Ошибка из системного журнала пропала, однако gpio все так же не работает ( формирование запроса через mqtt-explorer в mqtt топик /devices/wb-gpio/controls/EXT1_K8/on к примеру не приводит к ожидаемому результату, как было раньше).
Насколько известно, при конфигурировании Wiren Board не менялся файл wb-mqtt-gpio.conf.
На рабочем контроллере Wiren Board 7 есть файл wb-mqtt-gpio.conf. Файл также не менялся однако содержит структуру:
root@wirenboard:~# cat /etc/wb-mqtt-gpio.conf
{
"channels" :
[
{
"load_previous_state" : false,
"name" : "EXT1_K1"
},
{
"load_previous_state" : false,
"name" : "EXT1_K2"
},
{
"load_previous_state" : false,
"name" : "EXT1_K3"
},
{
"load_previous_state" : false,
"name" : "EXT1_K4"
},
{
"load_previous_state" : false,
"name" : "EXT1_K5"
},
{
"load_previous_state" : false,
"name" : "EXT1_K6"
},
{
"load_previous_state" : false,
"name" : "EXT1_K7"
},
{
"load_previous_state" : false,
"name" : "EXT1_K8"
},
{
"load_previous_state" : false,
"name" : "EXT1_K9"
},
{
"load_previous_state" : false,
"name" : "EXT1_K10"
},
{
"load_previous_state" : false,
"name" : "EXT1_K11"
},
{
"load_previous_state" : false,
"name" : "EXT1_K12"
},
{
"load_previous_state" : false,
"name" : "EXT1_K13"
},
{
"load_previous_state" : false,
"name" : "EXT1_K14"
},
{
"load_previous_state" : false,
"name" : "EXT1_K15"
},
{
"load_previous_state" : false,
"name" : "EXT1_K16"
}
],
"device_name" : "Relays & FETs"
Пробовали добавить один канал из представленного списка, получали сообщение об ошибки нотации файла конфигурации (отсутствовали необходимые поля).
В это же время была проблема с WB-MR3-LV. Питание на него подаётся c wirenboard, однако на линии питания WB-MR3-LV напряжение составляло порядка 0.1 - 0.8 вольт. И в вэб интерфейсе каналы модуля находились в состоянии ошибки.
Ошибка пропала после заполнения файла /mnt/data/etc/wb-mqtt-gpio.conf дефолтным wb-mqtt-gpio.conf.default а также передёргивания питания.
Прилагаем вывод в системный журнал последнего запуска с нашими экспериментами:
log_20240913T184708.log (103.2 KB)