Введение
Этот будильник входит в серию упражнений с образцами кода Intel для Интернета вещей. Здесь используется Intel® IoT Developer Kit, платформа разработки Intel® Edison, облачные платформы, API и другие технологии.
Выполнив это упражнение, разработчики научатся:
- подключать платформу разработки Intel® Edison, предназначенную для создания прототипов и носимых компьютерных устройств и решений Интернета вещей;
- подключаться к интерфейсу ввода-вывода платформы Intel® Edison и хранилищу датчиков с помощью MRAA и UPM из пакета Intel® IoT Developer Kit, представляющего собой полный набор аппаратных и программных компонентов, помогающих разработчикам изучать возможности Интернета вещей и создавать современные проекты;
- запускать этот образец кода в интегрированной среде разработки Intel® XDK IoT Edition, предназначенной для создания приложений, взаимодействующих с датчиками и приводами, и помогающей быстро приступить к разработке программного обеспечения для платы Intel® Edison и Intel® Galileo;
- настраивать сервер веб-приложения для установки времени срабатывания будильника и сохранения данных будильника с помощью Azure Redis Cache* в Microsoft* Azure*, облачные решения Интернета вещей, включая решения для анализа данных, машинного обучения и различных рабочих инструментов, чтобы упростить процесс подключения датчиков к облаку и помочь быстрее запустить проект Интернета вещей;
- вызывать службы API Weather Underground* для получения метеорологических данных.
Что это такое
В этом проекте, используя плату Intel® Edison, можно создать будильник, обладающий следующими возможностями:
- Доступ с мобильного телефона через встроенный веб-интерфейс для настройки времени сигнала.
- Отображение актуальной информации о погоде на ЖК-экране.
- Ежедневное отслеживание длительности времени, необходимого, чтобы проснуться, с помощью облачного хранилища данных.
Как это работает
Этот будильник обладает целым рядом полезных функций. Можно настраивать время сигнала с веб-страницы, которая загружается непосредственно платой Intel® Edison, с помощью мобильного телефона. В заданное время срабатывает звуковой сигнал, а на ЖК-экране выводится сообщение о том, что пора вставать. Для регулировки яркости экрана можно использовать поворотную рукоятку.
Кроме того, этот будильник может ежедневно получать данные о погоде с помощью API Weather Underground* и изменять цвет ЖК-экрана в соответствии с этими данными. Кроме того, все данные можно сохранять с помощью хранилища IoT Examples и учетной записи Microsoft* Azure*.
Требования к оборудованию
Комплект Grove* Starter Kit Plus.
- Плата Intel® Edison с коммутационной платой Arduino*
- Аналоговая поворотная рукоятка Grove*
- Пищалка Grove*.
- Кнопка Grove*
- Цветной ЖК-экран Grove*
Требования к программному обеспечению
- Intel® XDK IoT Edition
- Учетная запись Microsoft* Azure*
- Ключ API Weather Undergroundy*
Инструкции по настройке
Чтобы приступить к работе, скопируйте хранилище How-To Intel IoT Code Samplesс помощью Git* на компьютер следующим образом:
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
Нужно загрузить ZIP-файл? В веб-браузере перейдите по адресу https://github.com/intel-iot-devkit/how-to-code-samplesи нажмите кнопку Download ZIPв правой нижней части экрана. После загрузки ZIP-файла распакуйте его и используйте файлы в папке этого примера.
Добавление программы в Intel® XDK IoT Edition
В Intel® XDK IoT Edition выберите Import Your Node.js Project.
Image may be NSFW.
Clik here to view.
Затем перейдите в папку примера проекта и выберите его.
Image may be NSFW.
Clik here to view.
Нужно подключить плату Intel® Edison к компьютеру, чтобы отправлять на нее код.
Image may be NSFW.
Clik here to view.
Щелкните меню IoT Deviceв левой нижней части экрана. Если плата Intel® Edison автоматически распознана, выберите ее.
Image may be NSFW.
Clik here to view.
В противном случае выберите Add Manual Connection. В поле Addressвведите 192.168.2.15
. В поле Portвведите 58888
. Щелкните Connect, чтобы сохранить подключение.
Установка программы вручную на плату Intel® Edison
Можно установить код на плату Intel® Edison вручную.
Скопируйте хранилище How-To Intel IoT Code Samplesна плату Intel® Edison после установки SSH-подключения к этой плате:
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
Затем перейдите в папку с примером.
Чтобы установить Git* на плату Intel® Edison, если это еще не сделано, установите SSH-подключение к плате и выполните следующую команду:
$ opkg install git
Подключение датчиков Grove*
Image may be NSFW.
Clik here to view.
Нужно подключить плату Grove* Shield к коммутационной плате, совместимой с Arduino*, и подключить все устройства Grove* к плате Grove* Shield. Убедитесь, что маленький переключатель VCC на плате Grove* Shield установлен в положение 5V.
- Подключите один конец кабеля Grove* к аналоговой поворотной рукоятке Grove*, а другой — к порту A0 на плате Grove* Shield.
- Подключите один конец кабеля Grove* к кнопке Grove*, а другой — к порту D4 на плате Grove* Shield.
- Подключите один конец кабеля Grove* к пищалке Grove*, а другой — к порту D5 на плате Grove* Shield.
- Подключите один конец кабеля Grove* к цветному ЖК-экрану Grove*, а другой — к любому порту I2C на плате Grove* Shield.
Ручная настройка платы Intel® Edison
При запуске этого кода на плате Intel® Edison вручную необходимо установить зависимые компоненты.
Для получения модулей Node.js*, необходимых для запуска этого примера программы на плате Intel® Edison, выполните следующую команду:
npm install
Ключ API Weather Underground*
Для получения данных о погоде в реальном времени нужно получить ключ API на веб-сайте Weather Underground*:
http://www.wunderground.com/weather/api
Получение метеорологических данных невозможно без ключа API Weather Underground*. Этот пример программы будет работать и без ключа, но в этом случае не будет данных о погоде.
Передайте ключ API Weather Underground* в пример программы, изменив параметр WEATHER_API_KEY
в файле config.json
следующим образом:
{
WEATHER_API_KEY: "YOURAPIKEY"
}
Настройка сервера Microsoft* Azure*
При желании можно хранить данные, созданные этим образцом программы, во внутренней базе данных, развернутой с помощью Microsoft* Azure*, Node.js* и хранилища данных Redis*.
Сведения о настройке собственного облачного сервера данных см. по адресу
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
Настройка примера программы
Чтобы настроить этот пример для получения данных о погоде в реальном времени, получите ключ с веб-сайта Weather Underground*, как описано выше, и измените параметры WEATHER_API_KEY
и LOCATION
в файле config.json
следующим образом:
{"WEATHER_API_KEY": "YOURAPIKEY","LOCATION": "San_Francisco"
}
Чтобы настроить этот пример для использования хранилища данных Microsoft* Azure*, измените параметры SERVER
и AUTH_TOKEN
в файле config.json
следующим образом:
{"SERVER": "http://intel-examples.azurewebsites.net/logger/alarm-clock","AUTH_TOKEN": "s3cr3t"
}
Чтобы настроить этот пример для использования одновременно и метеорологических данных, и хранилища данных Microsoft* Azure*, измените параметры WEATHER_API_KEY
, LOCATION
, SERVER
и AUTH_TOKEN
в файле config.json
следующим образом:
{"WEATHER_API_KEY": "YOURAPIKEY","LOCATION": "San_Francisco""SERVER": "http://intel-examples.azurewebsites.net/logger/alarm-clock","AUTH_TOKEN": "s3cr3t"
}
Запуск программы с помощью Intel® XDK IoT Edition
Перед запуском сохраните все файлы.
Image may be NSFW.
Clik here to view.
Щелкните значок Upload, чтобы отправить файлы на плату Intel® Edison.
Image may be NSFW.
Clik here to view.
Щелкните значок Runв нижней части окна Intel® XDK IoT Edition. В этом случае код будет запущен на плате Intel® Edison.
Image may be NSFW.
Clik here to view.
Если вы внесли изменения в код, щелкните Upload and Run. В этом случае на плате Intel® Edison будет запущена последняя версия кода со всеми изменениями.
Image may be NSFW.
Clik here to view.
При запущенной программе на экране появится текст, аналогичный показанному выше.
Запуск программы вручную
Чтобы запустить пример программы на плате Intel® Edison вручную, установите SSH-подключение к этой плате и выполните следующую команду:
node index.js
Настройка сигнала будильника
Image may be NSFW.
Clik here to view.
Для настройки сигнала используется одностраничный веб-интерфейс, который загружается непосредственно платой Intel® Edison при запущенной программе.
Порт веб-сервера — 3000
, поэтому при подключении платы Intel® Edison к Wi-Fi* с IP-адресом 192.168.1.13
для подключения к веб-серверу из этой же сети нужно использовать адрес http://192.168.1.13:3000
.
Определение IP-адреса платы Intel® Edison
Определить IP-адрес подключенной платы Intel® Edison можно с помощью следующей команды:
ip addr show | grep wlan
Определить IP-адрес подключенной платы Intel® Edison можно с помощью следующей команды:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
inet 192.168.1.13/24 brd 192.168.1.255 scope global wlan0
IP-адрес показан после слова inet
. В приведенном выше примере используется IP-адрес 192.168.1.13
.
Полный список образцов кода Intel для Интернета вещей см. на сайте Intel® Developer Zone.
Дополнительные сведения об этом образце кода см. в GitHub*.
Дополнительные сведения об оптимизации компиляторов см. в уведомлении об оптимизации.