Wiren Board и CAN-шина

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

Контроллер Wiren Board умеет работать с CAN шиной на одном из входов (второй RS-485).

Подскажите, пожалуйста, есть ли примеры или готовые решения для чтения и обработки сигналов/пакетов с CAN-шины? Например, автомобиля.

Я имею в виду преобразование CAN id 123 data 45feb22818e95caf в Temperature 22.5 C и обработка/сохранение аналогично данным в RS-485/Modbus?

Добрый день.
По работе с CAN есть страница в документации — CAN — Wiren Board.

Можно, например, создать виртуальное устройство и передать вывод команды 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
1 лайк

Спасибо за примеры, попробую.

А вдруг есть готовая обёртка перенаправления candump - mqtt в виде unit-файла сервиса systemd?

Готовых решений нет, к сожалению

Посмотреть в качестве примера можно на исходники GitHub - wirenboard/wb-mqtt-smartweb: Wiren Board MQTT SmartWeb driver

1 лайк