I've been surprised how easy it is today to program hardware containing Wi-Fi module and start receiving data from a chosen sensor (those perceiving motion, light or sound, etc.). Without a line in C++, all in JavaScript solely.
Together with Sergey, we'll elaborate more on how any frontend engineer can easily jumpstart his journey within the Internet of Things.
2. О чем мы сегодня поговорим
2
● Поделимся своим опытом в области IoT
● Расскажем о своем проекте Restroom Revolution
● Немного покодим
● Расскажем о перспективах JavaScript в IoT
● Ответим на ваши вопросы и разыграем пару маек
9. Как создать прототип устройства
1. Купить какие-то железки
2. Скопировать откуда-то примеры
3. А еще:
● Настроить среду разработки
● Изучить основы С/С++
● Узнать о работе микроконтроллера
● Узнать, что такое Push-Pull/Analog pin/тактирование шины
● Узнать, что такое прерывания
● Узнать, что за интерфейс SPI/I2C/UART
● Узнать, что дебага нет
● Узнать, что такое инверсия приоритетов
● ...
4. PROFIT!!!
9
13. Топ проектов, совмещающих
скриптовые языки и прикладное ПО
13
Duktape Espruino JerryScript eLua
Run on MCU
Full support ES5.1,
Partially ES6/ES7
Run on MCU
Full support ES5.1,
Partially ES6
Run on MCU
Full support ES5.1,
+IoT.js = Max
Node.js compatibility
Run on MCU
Lua 5.1,
Async Model
Best C/C++ API
14. Топ проектов, совмещающих
скриптовые языки и прикладное ПО
14
Duktape Espruino JerryScript eLua
Run on MCU
Full support ES5.1,
Partially ES6/ES7
Run on MCU
Full support ES5.1,
Partially ES6
Run on MCU
Full support ES5.1,
+IoT.js = Max
Node.js compatibility
Run on MCU
Lua 5.1,
Async Model
Best C/C++ API
41. 41
Live Coding
1. Подключим библиотеку «IRReceiver»
и научимся принимать коды нажатий кнопок пульта
2. Подключим библиотеку «RGBLed»
и помигаем светодиодом в ответ на определенные нажатия
кнопок пульта
54. Что выбрать?
Хотим компактное устройство с WiFi
54
Raspberry Pi 3b
(Zero W)
Arduino
+ Wi-Fi Shield
ESP8266
Witty Cloud
Linux + Node.js
Питание
~ 20$
Не все типы подходят,
Большой размер
~ 40$
Малый размер,
Малое потребление,
~ 5$
60. Перспективы: JavaScript IoT
60
● Низкий порог входа – большее число доступных программистов
● Overhead производительности за счёт интерпретатора
незначительный для задач управления
● Оперативность и продуктивность – на рынок за выходные :)
● Возможность загружать код динамически по сети - upgrade
прошивки OTA из коробки
● Безопасность – JS в своей песочнице
62. Задавайте любые вопросы :)
62
Роман Романовский
rromanovsky@klika-tech.com
Репозиторий проекта:
https://github.com/rromanovsky/r
estroom-revolution
Версия кода с презентации
находится на ветке
united-dev-conf-2017
Ссылка на эту презентацию:
http://goo.gl/jDN7Id
Сергей Рак
sergrak@klika-tech.com