Использование Arduino для изменения веб-страницы - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь изменить видео на веб-странице, нажимая физическую кнопку.Кнопка подключена к Arduino, и я могу получить от нее информацию с помощью Johnny Five , но я не могу заставить эту кнопку переключаться между двумя видео на веб-странице для автоматического отображения и воспроизведения.Я хочу, чтобы это случилось с Java, Johnny-Five или в Arduino IDE.Кто-нибудь может мне помочь с этим?

Код, который я использовал, чтобы моргать светодиодом нажатием кнопки, через Johnny-Five:

var five = require('johnny-five');
var board = new five.Board();
board.on('ready', function() {
  var btn = new five.Button(2); // pin 5
  board.repl.inject({
    button: btn
  });
  btn.on("down", function() {
    console.log("pressed button");
  });
});

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вы должны иметь возможность использовать что-то вроде Johnny-Five или прямой узел serialport на стороне сервера, но также сделать свой сценарий узла сервером веб-сокетов, используя что-то вроде узел веб-сокетов или socket.io .

Если проще, попробуйте p5.js и это p5.serialport library .Он уже включает в себя предварительно созданный исполняемый файл, который вы можете просто запустить и указать на ваш последовательный порт Arduino, и пример html-страниц, прослушивающих сообщения.

Помните, что вы можете иметь только одно соединение с последовательным портом, поэтому закройте Serial Monitor.когда вы планируете получить доступ к Arduino из JS.

0 голосов
/ 12 декабря 2018

вам понадобится какая-то связь между вашим arduino и страницей.Есть несколько способов сделать это в зависимости от настроек вашей установки

Работаете ли вы на сервере, который их обслуживает?это локальный / удаленный?

Простым маршрутом было бы сделать все в одном приложении узла, обслуживая страницу и серийный код в одном приложении.

этот каталог содержит минимальный код для настройки сервера веб-сокетов на j5и связывайтесь с ним: https://github.com/catsAndSolenoids/yldWorkshop/tree/master/socketIoExample

вам нужно изменить его, чтобы он работал наоборот (в этом вы управляете "ботом" через веб-страницу)

...