ilya.v
February 14, 2024, 6:21pm
1
Здравствуйте!
Контроллер Wiren Board умеет работать с CAN шиной на одном из входов (второй RS-485).
Подскажите, пожалуйста, есть ли примеры или готовые решения для чтения и обработки сигналов/пакетов с CAN-шины? Например, автомобиля.
Я имею в виду преобразование CAN id 123 data 45feb22818e95caf в Temperature 22.5 C и обработка/сохранение аналогично данным в RS-485/Modbus?
avspnz
February 15, 2024, 7:58am
3
Добрый день.
По работе с CAN есть страница в документации — CAN — Wiren Board .
ilya.v:
Подскажите, пожалуйста, есть ли примеры или готовые решения для чтения и обработки сигналов/пакетов с CAN-шины? Например, автомобиля.
Я имею в виду преобразование CAN id 123 data 45feb22818e95caf в Temperature 22.5 C и обработка/сохранение аналогично данным в RS-485/Modbus?
Можно, например, создать виртуальное устройство и передать вывод команды candump в команду mosquitto_pub, чтобы отправить данные в топик виртуального устройства. А на стороне wb-rules уже обрабатывать полученную информацию.
Создаем виртуальное устройство и подписываемся на топик:
defineVirtualDevice("can", {
cells: {
dump: {
type: "text",
readonly: false,
value: ""
}
}
});
trackMqtt("/devices/can/controls/dump", function(message){
var dump = message.value;
log(dump);
});
Перенаправляем вывод “candump” в топик:
candump can0 | mosquitto_pub -t "/devices/can/controls/dump" -l
ilya.v
February 15, 2024, 8:35am
4
Спасибо за примеры, попробую.
А вдруг есть готовая обёртка перенаправления candump - mqtt в виде unit-файла сервиса systemd?
avspnz
February 15, 2024, 8:56am
5
Готовых решений нет, к сожалению