Статьи

Мой IoT Weekend — Часть 1

Какой лучший способ провести  День Супер Пи,  чем с более чем 100 фанатами технологии на Хакатоне … и это только то, как я начал в прошлые выходные. Intel проводит  IoT Roadshow  во многих городах мира, и в эти выходные они были в Сомервилле в  Greentown Labs  для бостонского выпуска. Это был фулл-хаус со многими, в том числе и со мной, нарисованный бесплатной  доской Эдисона  и  Grove-Starter Kit,  предложенными первым 100 участникам в очереди.

Это мое, ВСЕ МОЯ !!!

Я прибыл только в 8 часов утра и был примерно на 50-м месте … линия, которая не начинала двигаться, пока они не открыли пространство в 9 часов. Фотография ниже была сделана около 1 часа дня, когда у всех были доски и столы. был с премией.

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

Полный дом в Greentown Labs

Это мероприятие было хакатоном с денежными призами до 1500 долларов, но я знал, что у меня не будет целых выходных. У меня также не было по-настоящему вдохновляющих идей, и ни одна из немногих тем, которые я слышал, не была настолько убедительной для меня. Для моего первого набега на этот аппаратный хакерский у меня все равно было желание поехать в одиночку, и, к счастью, рядом со мной был дуэт опытных мастеров Arduino, чтобы помочь мне преодолеть несколько неровностей на дороге, с которой я столкнулся.

Настройка платы оказалась намного проще, чем я ожидал, и Intel собрала на своем сайте документации Google довольно хороший набор руководств и ссылок   . Для пользователей Windows оказывается, что есть новый установщик, который на самом деле облегчает прошивку платы, установку драйверов на вашем ноутбуке и т. Д.

Тем не менее, 90 минут, которые потребовались мне для прохождения ручного процесса, дали мне гораздо лучшее понимание того, как все это работает вместе, от перепрошивки платы, до использования PuTTY и SSH для подключения, до настройки Ethernet через USB, до подключение платы к среде разработки XDK  (которая, между прочим, довольно изящна и  успешно развивается с тех пор, как я использовал ее более года назад для демонстрации кроссплатформенной мобильной разработки).

Blinky Lights

XDK поставляется с рядом шаблонных приложений для платы, поэтому я начал с встроенного приложения LED Blink,

Шаблоны XDK

который состоит из следующего фрагмента кода Node.js (да, это JavaScript, Python или C ++, если вы разговариваете с Edison):

Blinky Light Code

Mraa  ссылка может выглядеть немного Arcane: это просто C ++ библиотека с привязками к JavaScript (и Python) , которые позволяют низкие коммуникации на уровне с компонентами платы. Upm  — это еще один интерфейс, построенный на основе mraa, который предоставляет интерфейс более высокого уровня с методами и свойствами, которые более специфичны для типа датчика. Upm — это то, что используется в  большинстве (если не во всех) других примерах на сайте Google Документов Intel ).

Чтобы перейти от кода к исполнению, достаточно просто собрать и загрузить проект на плату, что делает XDK довольно простым с помощью пользовательского интерфейса (ниже).

Развертывание XDK

Конечный результат приложения не совсем фотостоятелен, поэтому я экономлю трафик. Достаточно сказать, хм, лампочка наконец-то загорелась (и выключилась… и включилась… и выключилась).

Использование датчика температуры и ЖК-дисплея

Стартовый набор Grove  включает около дюжины датчиков, поэтому я подумал, что смогу улучшить ситуацию, подключив (аналоговый) датчик температуры и отобразив текущую температуру на ЖК-дисплее ( I2C ).

Не нужно много кода здесь:

производить :

Датчик температуры ж / ЖК

Добавление интернета в мои вещи

Следующим моим шагом было использование одного из свободно доступных веб-API, чтобы получить текущую температуру снаружи, сравнить ее с температурой внутри, а затем отобразить разницу на ЖК-дисплее. Существует множество API и кураторов API ( MasheryProgrammable WebApigee и т. Д.), Но   мне попался  бесплатный WeatherUnderground . Вы делаете простой вызов REST и получаете обратно JSON с информацией о текущих условиях в вашем регионе (указывается через название города, идентификатор или длину в широте). Да, вам нужно подписаться на бесплатную учетную запись, но в наши дни это почти нормально.

Код для вызова GET в Node.js довольно прост, если вы используете  пакет Request … или так я думал! Мои навыки работы с Node, по общему признанию, ржавые, но когда пример «Hello World» не работал, я знал, что это был не я, и на самом деле, казалось, была проблема с сетью, которая затронула некоторых — но не всех — участников. Каждый запрос, полученный от моей доски, перенаправлялся на то, что, казалось бы, представляло собой заставку с запросом сетевых учетных данных, поэтому, хотя мои HTTP-запросы возвращали код успеха, они не обращались к намеченному сервису.

После часа езды туда-сюда с отличными ребятами из Intel на месте, перепрошивкой платы и размахивая мертвыми цыплятами, я решил назвать это днем ​​и надеяться на лучшее соединение дома.