Порт библиотеки blynk-library-js для IskraJs

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Spark, 6 янв 2018.

  1. Spark

    Spark Нерд

    Доброго времени суток, друзья!
    Найдя такое замечательное приложение Blynk, я столкнулся с проблемой: на IskraJS не работало прямое взаимодействие с пинами платы, т.е. при выборе пина, вот тут, например, нормально работали только виртуальные пины, а вот работа с Digital или Analog пинами заканчивалась, ее не успев начаться, иначе говоря, просто вылетала ошибка в консоли с сообщением, что пин неверный...

    Собственно порт и заключается в том, что я переписал почти полностью ту часть, в которой была отправка/получение/отправка пинов и данных с/на них.

    Немного о том, что такое Blynk. Blynk позволяет общаться с большим количеством ваших железок, таких как ардуинки, esp, microBit и многими-многими другими, однако искру приложение не поддерживает, поэтому, придется в проектах (в приложении) использовать arduino uno или leonardo или mega (самые оптимальные, как я вычислил) (скачаете приложение - поймете о чем я).Вы можете взаимодействовать с платами не только с вашего смартфона, но и прямо через браузер! Некоторые функции Blynk:
    1. Кнопка
    2. Слайдер (вертикальный/горизонтальный)
    3. таймер
    4. джойстик
    5. zeRGBa - появляется зебра, покрашенная всеми цветами, и нажиая на разные её части, на плату отправляется сообщение с цветом.
    6. степпер - кнопки +/- и значение. Думаю понятно.
    7. числовой дисплей
    8. числовой дисплей с подписью после значения (*С, cек и тд)
    9. светодиод
    10. LCD дисплей
    11. Взаимодействие с twitter, email и отправка уведомлений на смартфоне
    12. часы реального времени
    13. webhook
    14. карта
    15. доступ к акселерометру, датчику освещенности(смартфона), приближения, gps.
    И это не всё!

    Официальная документация
    Работа с api
    Оригинальный репозиторий с github
    Переработанная библиотека
    Как по мне, более удобный вариант
    Код (Javascript):
    //создаем объект сети и подключаемся к ней
    var net = require('https://github.com/DanSpark1/espruino-libraries/blob/master/HW-SMH/NetworkConnect.js').connect('SSID', 'PASSWORD');

    //подключаемся к серверам blynk
    var blynk = net.BlynkCon('AUTH TOKEN');
    Мой репозиторий
    Библиотека RespnseLib

    Обрабатывает сообщения, полученные из терминала (ну а если говорить правильно, то сообщения, полученные на виртуальный пин). Библиотека еще сыровата, и пока что заточена только на мои нужды, но репозиторий часто обновляется, поэтому эта библиотек будет расти и развиваться, как и всё остальное.

    Код (Javascript):
    //создаем объект приемника сообщений
    var resp = require('https://github.com/DanSpark1/espruino-libraries/blob/master/HW-SMH/ResponseLib.js').connect({termPin : 0, blnk: blynk});

    //серез 12 секунд после запуска программы запустится листенер терминала blynk
    setTimeout(function(){resp.listen(); console.log("Lets go!");}, 13000);
    Почему 13 секунд? Ну у меня сообщение Authorized (что означает, что плата успешно соединилась с серверами). У вас это значение может быть другим. Для чего это вообще? Чтобы не засорять консоль лишними ошибками и не мешать нашей платке подлючаться к серверам.

    Если есть какие-то вопросы или пожелания, то милости прошу в комментарии.