http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

IoT (Интернет вещей) — дополнение к набору «Йодо»

Опубликовано: 24.08.2018

Электронная версия брошюры из набора « IoT (Интернет вещей) ». Здесь собраны все исходные коды экспериментов, подсказки и хаки по прохождению набора.

Электронная версия буклета

Видеообзор набора «Интернет вещей»

Обновление прошивки

Если прошивка твоей платы ниже 1v91, обнови её. Обновить версию прошивки до самой свежей можно непосредственно в IDE. Для этого перейди в , нажми кнопку Flash Firmware и следуй инструкциям на экране. Более подробную информацию ты найдешь в разделе про обновление прошивки Iskra JS .

Необходимые модули из набора «Йодо»

Для проектов IoT тебе потребуются платы и модули из базового набора «Йодо»:

Если ты уже используешь эти модули и платы в своих крутых проектах, а разбирать их не хочется — закажи недостающие!

Файлы на флеш-карте

На флешке в составе набора уже есть файлы. Они понадобятся тебе для проектов, не изменяй и не удаляй их. Но если всё-таки что-то пошло не так — ты всегда сможешь скачать архив с файлами . Распакуй архив и скопируй файлы на SD-карту. Iskra JS работает только с картами, отформатированными в FAT32.

Настройка точки доступа на смартфоне

Иногда в прямой досягаемости нет Wi-Fi сети, а сделать эксперименты из набора очень хочется. Что же делать в таком случае? Поднять такую сеть самому при помощи смартфона!

Некоторые операторы блокируют возможность раздавать Wi-Fi с телефона. Если у тебя в меню нет нужных пунктов — свяжись со службой поддержки оператора и попроси активировать эту функцию. Обычно операторы восстанавливают эту возможность в течение часа после обращения.

iOS

Настройки общего доступа к сотовой сети твоего телефона находятся в меню . В этом меню можно включить режим точки доступа и задать ей пароль. Именем (SSID) точки доступа будет имя телефона. Рекомендуем не закрывать это меню до тех пор, пока клиент не подключится к точке доступа.

После первого включения режима модема такой пункт скорее всего появится в главном меню настроек телефона.

Android

Особенность телефонов на ОС Android — практически у каждого производителя свой интерфейс. Это значит, что невозможно точно сказать, где в твоем телефоне находится кнопка «Раздать интернет» (или даже как она называется). Обычно её можно найти в настройках под названиями вроде «Режим модема и переносная точка доступа».

Эксперименты

1. Удалённый термометр

Плату Iskra JS в интернет выходить научи. Информацию о температуре в комнате своей в виде графиков на сайте dweet.io наблюдай.

Видеоурок с прохождением эксперимента

Для этого эксперимента подключи к твоей Iskra JS модуль Wi-Fi и датчик температуры.

Схема сборки устройства

Код эксперимента

var SSID = 'имя_твоего_wi-fi' ; var PASSWORD = 'пароль_твоего_wi-fi' ; var NAME = 'твой_уникальный_ключ' ; var temp = require ( '@amperka/thermometer' ) .connect ( A2 ) ; var dweet = require ( '@amperka/dweetio' ) .connect ( NAME ) ; function run ( ) { setInterval ( function ( ) { dweet. send ( { temperature : temp. read ( 'C' ) } ) ; } , 1000 ) ; } var wifi = require ( '@amperka/wifi' ) .setup ( function ( err ) { wifi. connect ( SSID , PASSWORD , function ( err ) { print ( 'Click this link' , dweet. follow ( ) ) ; run ( ) ; } ) ; } ) ;

На нашей вики ты сможешь узнать подробнее о функциях библиотек @amperka/dweetio , @amperka/thermometer и @amperka/wifi .

2. Восьмибитный аудиоплеер

Музыки проигрыватель сделаем себе. На флеш-карте треки хранить будем, зуммером их воспроизводить и кнопкой одной лишь переключать. Потребуется модуль SD-картридер нам.

Видеоурок с прохождением эксперимента

Интересный факт — музыка на твоей флеш-карте хранится в формате RTTTL (англ. «Ring Tone Text Transfer Language» — текстовый язык для использования в рингтонах). Это формат, изобретённый компанией Nokia для использования в сотовых телефонах. Звук в этом формате хранится в виде текста. Процессор (Iskra JS в нашем случае) использует этот текст как своеобразную партитуру для проигрывания мелодии.

Схема сборки устройства

Код эксперимента

var sdCard = require ( '@amperka/card-reader' ) .connect ( P8 ) ; var player = require ( '@amperka/ringtone' ) .create ( A2 ) ; var shuffle = require ( '@amperka/button' ) .connect ( P12 ) ; shuffle. on ( 'click' , function ( ) { player. stop ( ) ; var melody = sdCard. readRandomFile ( '/music' ) ; player. play ( melody ) ; } ) ; shuffle. on ( 'hold' , function ( ) { player. stop ( ) ; } ) ;

На нашей вики ты сможешь узнать подробнее о функциях библиотек @amperka/card-reader ,@amperka/ringtone и @amperka/button .

3. Браузерный Dendy

Роботом управлять будем в игре браузерной. С флеш-карты её загрузим, и мастерством гоночным овладеем!

Для этого эксперимента мы будем использовать модули Wi-Fi и SD-картридера. Iskra JS будет выполнять роль сервера, при подключении к которому в браузере появляется страница race.html. Внутри этой страницы и расположена игра.

Видеоурок с прохождением эксперимента

Схема сборки устройства

Код эксперимента

var SSID = 'имя_твоего_wi-fi' ; var PASSWORD = 'пароль_твоего_wi-fi' ; var sdCard = require ( '@amperka/card-reader' ) .connect ( P8 ) ; var server = require ( '@amperka/server' ) .create ( ) ; server. on ( '/' , function ( req , res ) { var content = sdCard. readFile ( 'race.html' ) ; res. send ( content ) ; } ) ; var wifi = require ( '@amperka/wifi' ) .setup ( function ( err ) { wifi. connect ( SSID , PASSWORD , function ( err ) { wifi. getIP ( function ( err , ip ) { server. listen ( ) ; print ( 'Game is ready! http://' + ip + '/' ) ; } ) ; } ) ; } ) ;

4. Умный дом

Дом свой разумом надели. Мини-реле освой для этого, которое напряжением высоким управлять может.

ВНИМАНИЕ! РАБОТА С ВЫСОКИМ НАПРЯЖЕНИЕМ ОПАСНА ДЛЯ ЗДОРОВЬЯ И ЖИЗНИ.

Если тебе ни разу не приходилось работать с напряжением 220 вольт, оставь зелёные клеммы неподключёнными. Вместо этого используй светодиод на реле. Если горит — реле включено. Если нет — выключено.

var sdCard = require ( '@amperka/card-reader' ) .connect ( P8 ) ; var relay = require ( '@amperka/relay' ) .connect ( P12 ) ; var server = require ( '@amperka/server' ) .create ( ) ; var SSID = 'имя_твоего wi-fi' ; var PASSWORD = 'пароль_wi-fi' ; server. on ( '/' , function ( req , res ) { var content = sdCard. readFile ( 'light.html' ) ; res. send ( content ) ; } ) ; server. on ( '/turnOn' , function ( ) { relay. turnOn ( ) ; } ) ; server. on ( '/turnOff' , function ( ) { relay. turnOff ( ) ; } ) ; var wifi = require ( '@amperka/wifi' ) .setup ( function ( err ) { wifi. connect ( SSID , PASSWORD , function ( err ) { wifi. getIP ( function ( err , ip ) { server. listen ( ) ; print ( 'Relay control is ready! http://' + ip + '/' ) ; } ) ; } ) ; } ) ;

На нашей вики ты сможешь узнать подробнее о функциях библиотеки @amperka/relay .

5. Интерактивный дом

На содержимое веб-страницы силами природы и волей своей в реальном времени влиять будем. Прибор для этого с датчиками освещения и температуры соберем. А для волей контроля потенциометр добавим.

var sdCard = require ( '@amperka/card-reader' ) .connect ( P8 ) ; var light = require ( '@amperka/light-sensor' ) .connect ( A1 ) ; var pot = require ( '@amperka/pot' ) .connect ( A2 ) ; var temp = require ( '@amperka/thermometer' ) .connect ( A4 ) ; var SSID = 'имя_твоего_wi-fi' ; var PASSWORD = 'пароль_wi-fi' ; var server = require ( 'ws' ) .createServer ( function ( req , res ) { var content = sdCard. readFile ( 'home.html' ) ; res. end ( content ) ; } ) ; function prepareData ( ) { var data = { speed : Math .floor ( pot. read ( ) * 41 ) - 20 , light : Math .floor ( light. read ( 'lx' ) / 640 ) , temperature : Math .floor ( temp. read ( 'C' ) ) } ; return JSON. stringify ( data ) ; } server. on ( 'websocket' , function ( ws ) { setInterval ( function ( ) { ws. send ( prepareData ( ) ) ; } , 200 ) ; } ) ; var wifi = require ( '@amperka/wifi' ) .setup ( function ( err ) { wifi. connect ( SSID , PASSWORD , function ( err ) { wifi. getIP ( function ( err , ip ) { print ( 'I \' m ready! http://' + ip + '/' ) ; server. listen ( 80 ) ; } ) ; } ) ; } ) ;

На нашей вики ты сможешь узнать подробнее о функциях библиотек @amperka/relay , @amperka/light-sensor и @amperka/pot .

6. Напоминальник

Важные события жизни своей в почте оставляй. Кота покормил? В почту себе напоминание пришли, чтобы в тонусе падавана держать. Использовать для этого сервисы IFTTT и Webhooks будем, а о событии сообщать простым кнопки нажатием.

var SSID = 'имя_твоего wi-fi' ; var PASSWORD = 'пароль_wi-fi' ; var trigger = require ( '@amperka/button' ) .connect ( P12 ) ; var maker = require ( '@amperka/ifttt-webhooks' ) .create ( { token : 'токен_сервиса_webhooks' , action : 'feed' } ) ; var wifi = require ( '@amperka/wifi' ) .setup ( function ( err ) { wifi. connect ( SSID , PASSWORD , function ( err ) { print ( 'Ok, hold button.' ) ; } ) ; } ) ; var data = { value1 : 'I did it!' } ; trigger. on ( 'hold' , function ( ) { maker. send ( data , function ( response ) { print (response ) ; } ) ; } ) ;

Подробнее о функциях библиотеки @amperka/ifttt-webhooks ты можешь узнать из нашей статьи на вики .

7. Telegram bot

Mессенджером Telegram овладеем. Iskra JS ему обучим и сложные интерактивные системы строить с ним будем. А для начала научимся света включением из чата управлять.

var SSID = 'имя_твоего wi-fi' ; var PASSWORD = 'пароль_wi-fi' ; var bot = require ( '@amperka/telegram' ) .create ( { token : 'здесь_будет_твой_токен' , polling : { timeout : 10 } } ) ; var light = require ( '@amperka/led' ) .connect ( P3 ) ; bot. on ( '/start' , function ( msg ) { var keyboard = bot. keyboard ( [ [ '/TurnOff' , '/TurnOn' ] , ] , { resize : true } ) ; bot. sendMessage ( msg. from .id , 'Light control' , { markup : keyboard } ) ; } ) ; bot. on ( '/TurnOff' , function ( msg ) { light. turnOff ( ) ; bot. sendMessage ( msg. from .id , 'Light is off' ) ; } ) ; bot. on ( '/TurnOn' , function ( msg ) { light. turnOn ( ) ; bot. sendMessage ( msg. from .id , 'Light is on' ) ; } ) ; var wifi = require ( '@amperka/wifi' ) .setup ( function ( err ) { wifi. connect ( SSID , PASSWORD , function ( err ) { print ( 'I \' m ready!' ) ; bot. connect ( ) ; } ) ; } ) ;

Подробнее о функциях библиотеки @amperka/telegram ты можешь узнать из нашей статьи на вики.

Идеи проектов

Прошел набор «IoT»? Молодец! Вот тебе идеи для приборов, которые пригодятся тебе в быту. Применяй знания, полученные из набора, комбинируй различные модули, придумывай и твори с Амперкой!

Используя Troyka-модули барометра и цифрового датчика температуры и влажности , можно создать свою собственную метеостанцию. При помощи пары беспроводной передатчик — беспроводной приёмник на частоте 433 МГц ты сможешь собрать свою метеостанцию в герметичном корпусе и, придумав для неё питание на Power Shield , создать автономное устройство. Оно не будет бояться воды и будет точно сообщать тебе данные о погоде за окном. А модуль в своей комнате ты сможешь оснастить LCD-экраном , чтобы на показания датчиков было приятно смотреть. И, разумеется, ты сможешь получать все эти данные с помощью созданного тобой Telegram-бота!

При помощи датчиков влажности почвы ты сможешь всегда быть уверенным, что твои редкие растения не засохнут от недостатка воды. А даты поливов ты сможешь регистрировать с помощью сервиса Webhooks!

Датчик горючих и угарного газов MQ-9 даст тебе уверенность в безопасности твоего жилья. В случае, если он обнаружит в воздухе присутствие опасных газов, он сможет прислать сообщение тебе прямо в Telegram!

Цветная адресуемая светодиодная лента WS2811 позволит тебе создать освещение в комнате, цвет которого ты сможешь контролировать со смартфона, или даже сделать его реагирующим на музыку, которая играет в твоей комнате.

Датчик шума и ультразвуковой дальномер позволят тебе построить систему сигнализации в твоей комнате — ты всегда будешь знать, если в ней появятся непрошеные гости. А модуль MP3-плеера в комбинации с модулем аудиовыхода сможет твоим голосом вежливо попросить их покинуть твою территорию.

Если ты захочешь еще сильнее защитить свою комнату от незваных гостей — ты сможешь воспользоваться сканером RFID/NFC , выполненном все в том же формате Troyka-модуля. При помощи этого датчика можно сконструировать не только замок на дверь в комнату, но и запереть секретный ящик шкафа и даже реализовать включение компьютера по приближению к датчику NFC-карты или смартфона!

GPRS Shield , совместимый с Iskra JS, позволит тебе создавать ещё более автономные приборы — ведь теперь они будут выходить в сеть не с помощью Wi-Fi роутера, а напрямую с помощью сотовой сети. Не забудь приобрести SIM-карту с безлимитным трафиком!

Карта
rss