Есть необходимость, точнее было бы очень удобно в процессе разработки бегунками в HTML форме на компе менять параметры программы, вертящейся на Iskra. Понятно, что можно воткнуть туда bluetooth и рулить ей через WebBluetooth или воткнуть туда wi-fi и рулить. Но для этого надо это все купить) А хотелось бы рулить через шнур. Круто было бы, если бы в самой IDE была возможность сделать HTML/JS страничку и там из Javascript-a можно было бы просто кидать команды в консоль Искры. Это бы очень упростило разработку. Было бы время, допилил бы туда эту возможность. Но времени увы нет( Интересно знает ли кто какой-нибудь best practice как управлять Iskra через Web интерфейс на компе по шнурку? Пока нарыл вот это, но еще не попробовал. https://github.com/amirlazarovich/espruino2web Похоже это и есть решение, но через Ноду не очень удобно, конечно
Уп-с, увидел в соседней ветке про NW.js, вечером покурю что такое. Просто на самой Ноде не хотелось бы делать ибо и сервак и клиент делать, что явно лишнее. Хотелось бы только клиент.
Покурил NW.js Просто так serialport с NW.js не заводится. Попробовал несколько способов, этот прокатил) Итак, для Mac рецепт следующий: Если нет npm, то ставим(смотреть в Гугле как) Ставим NW.js SDK версию(в ней есть консоль) и кидаем mwjs.app в папку с приложениями Создаем алиас чтоб запускать в любом месте, как nw. Для этого в терминале набираем Код (Bash): touch ~/.bash_profile; open ~/.bash_profile и открывается файл bash_profile. В него добавляем алиас Код (Bash): # alias to nw alias nw="/Applications/nwjs.app/Contents/MacOS/nwjs" Создаем где-нибудь папку MyIskraJSControlPanel Заходим в терминале в эту папку Ставим nw-gyp (нужен чтобы подключать к NW.js нативные node модули). В нашей папке в терминале запускаем Код (Bash): sudo npm install -g nw-gyp sudo npm install -g node-gyp sudo npm install -g node-pre-gyp Ставим модуль serialport. В терминале Код (Bash): sudo npm install serialport Переходим в папку модуля. В терминале Код (Bash): cd node_modules/serialport/ Пляшем с бубнами и пересобираем модуль. В терминале Код (Bash): sudo node-pre-gyp clean sudo node-pre-gyp configure --runtime=node-webkit --target=0.23.0 sudo node-pre-gyp build --runtime=node-webkit --target=0.23.0 (номер версии ставим как у NW.js) Готово! NW.js скрещенная с serialport Само приложение: В папке MyIskraJSControlPanel создаем package.json Код (Javascript): { "name": "ЫskraJS", "main": "index.html" } Создаем index.html HTML: <html> <head> <meta charset="utf-8" /> <title>Control IskraJS</title> </head> <body> <h3 id=message></h3> <button onclick="LED1(1)">Включить LED1</button><br> <button onclick="LED1(0)">Выключить LED1</button><br> <button onclick="StartFunc()">Запустить MySuperFunc1()</button><br> </body> </html> <script> var SerialPort = require('serialport'); var Port = new SerialPort('/dev/tty.usbmodem1431'); Port.on('open', function() { document.getElementById('message').innerHTML = 'IskraJS на связи :)'; }); function LED1(state) { Port.write('LED1.write(' + state + ')\n', function(err) { if (err) return console.log('Error on write: ', err.message); }); } function StartFunc() { Port.write('MySuperFunc1()\n', function(err) { if (err) return console.log('Error on write: ', err.message); }); } </script> Вместо '/dev/tty.usbmodem1431' ставим порт, как в EspruinoIDE Запускаем приложение. Набираем в терминале в папке Код (Bash): nw . Наслаждаемся Возможно что-то по пути забыл, но последовательность примерно такая Как пользоваться Windows сразу говорю - не знаю) Надеюсь кому-нибудь сэкономил время