Я установил socketcan сSocketcan + Express.js + Node.js получить/отправить сообщение Can-Bus
npm install socketcan
link без каких-либо ошибок на моем Raspberry Pi 2 B. Я могу использовать адаптер Pican с candump/cansend на терминале. Так что отлично работает. Но я не понимаю, как использовать Socketcan. Я хочу использовать can0.
Это помощь от Socketcan:
var can = require('socketcan');
var channel = can.createRawChannel("vcan0", true);
// Log any message
channel.addListener("onMessage", function(msg) { console.log(msg); });
// Reply any message
channel.addListener("onMessage", channel.send, channel);
channel.start();
Работа с сообщением и сигналов:
var can = require('socketcan');
var fs = require('fs');
// Parse database
var network = can.parseNetworkDescription("samples/can_definition_sample.kcd");
var channel = can.createRawChannel("vcan0");
var db = new can.DatabaseService(channel, network.buses["Motor"]);
channel.start();
// Register a listener to get any value changes
db.messages["CruiseControlStatus"].signals["SpeedKm"].onChange(function(s) {
console.log("SpeedKm " + s.value);
});
// Update tank temperature
db.messages["TankController"].signals["TankTemperature"].update(80);
// Trigger sending this message
db.send("TankController");
Но в какой файл нужно поместить эти команды, app.js
, index.html
или bin/www
файл? То, что я пробовал, не работает. И как я могу установить скорость передачи/битрейт? Или есть альтернатива, которую я мог бы использовать для регистрации/отправки сообщений?
Я только что начал с JavaScript/HTML5/CSS.
Пожалуйста, поставьте необходимую информацию в своем ответе. Ссылка может быть устаревшей когда-нибудь. – jogo
Думаю, я принял правильное решение относительно того, что нужно связывать и что включать. Я прямо ответил на прямые вопросы.Я считаю, что Анна Банана работала из того же учебника, что и я, поэтому я указал ей на места, которые помогли мне пройти через это. Было бы несправедливо украсть контент у embeddedhobbyist –
Просто увидел ответ. Я запустил его. Не совсем так, как я хотел, но это работает сейчас. Одна из проблем заключалась в том, что я не знал, что мне нужен socket.io, а другой, что версия Node и socketcan несовместима друг с другом. Я отправлю свой ответ в следующие недели после экзаменов. так что долго получайте удовольствие и спасибо за помощь. – AnnaBanana