Образцы кода Intel для Интернета вещей: датчик землетрясений

Опубликовано: 03/28/2016, Последнее обновление: 03/28/2016

Введение

Этот датчик землетрясений входит в серию упражнений с образцами кода 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;
  • вызывать службы API Геологической службы США* (USGS*) для доступа к данным о землетрясениях.

Что это такое

В этом проекте, используя плату Intel® Edison, можно создать датчик землетрясений, обладающий следующими возможностями:

  • Определение движения с помощью цифрового акселерометра.
  • Проверка данных о землетрясениях с помощью API Геологической службы США.
  • Отображение информации о землетрясении на ЖК-экране.

Как это работает

Этот датчик землетрясений непрерывно считывает данные с трехосевого цифрового акселерометра, обнаруживая движения, которые могут быть признаками землетрясения.

Если датчик получает данные, соответствующие возможному землетрясению, он использует API Геологической службы США, чтобы проверить, действительно ли произошло землетрясение.

При положительном результате датчик выводит предупреждение на ЖК-экран.

Требования к оборудованию

Комплект Grove* Starter Kit Plus.

  1. Плата Intel® Edison с коммутационной платой Arduino*
  2. Трехосевой цифровой акселерометр Grove*
  3. Цветной ЖК-экран Grove*

Требования к программному обеспечению

  1. Intel® XDK IoT Edition

Инструкции по настройке

Чтобы приступить к работе, скопируйте хранилище 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.

Затем перейдите в папку примера проекта и выберите его.

Нужно подключить плату Intel® Edison к компьютеру, чтобы отправлять на нее код.

Щелкните меню IoT Device в левой нижней части экрана. Если плата Intel® Edison автоматически распознана, выберите ее.

В противном случае выберите 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*

Нужно подключить плату Grove* Shield к коммутационной плате, совместимой с Arduino*, и подключить все устройства Grove* к плате Grove* Shield. Убедитесь, что маленький переключатель VCC на плате Grove* Shield установлен в положение 5V.

  1. Подключите один конец кабеля Grove* к трехосевому цифровому акселерометру Grove*, а другой — к любому порту I2C на плате Grove* Shield.

  2. Подключите один конец кабеля Grove* к цветному ЖК-экрану Grove*, а другой — к любому порту I2C на плате Grove* Shield.

Ручная настройка платы Intel® Edison

При запуске этого кода на плате Intel® Edison вручную необходимо установить зависимые компоненты.

Для получения модулей Node.js*, необходимых для запуска этого примера программы на плате Intel® Edison, выполните следующую команду:

npm install

Настройка примера программы

Чтобы настроить этот пример для определения землетрясений в том месте, где вы находитесь, измените параметр LATITUDE в файле config.json следующим образом:

{
  "LATITUDE": "47.641944",
  "LONGITUDE": "-122.127222"
}

Запуск программы с помощью Intel® XDK IoT Edition

Перед запуском сохраните все файлы.

Щелкните значок Upload, чтобы отправить файлы на плату Intel® Edison.

Щелкните значок Run в нижней части окна Intel® XDK IoT Edition. В этом случае код будет запущен на плате Intel® Edison.

Если вы внесли изменения в код, щелкните Upload and Run. В этом случае на плате Intel® Edison будет запущена последняя версия кода со всеми изменениями.

При запущенной программе на экране появится текст, аналогичный показанному выше.

Запуск программы вручную

Чтобы запустить пример программы на плате Intel® Edison вручную, установите SSH-подключение к этой плате и выполните следующую команду:

node index.js

Определение IP-адреса платы Intel® Edison

Определить IP-адрес подключенной платы Intel® Edison можно с помощью следующей команды:

ip addr show | grep wlan

На экране появится приблизительно следующий текст:

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*.

Дополнительные сведения об оптимизации компиляторов см. в уведомлении об оптимизации.

Информация о продукте и производительности

1

Компиляторы Intel могут не обеспечивать для процессоров других производителей уровень оптимизации, который не является присущим только процессорам Intel. В состав этих оптимизаций входят наборы команд SSE2, SSE3 и SSSE3, а также другие оптимизации. Корпорация Intel не гарантирует доступность, функциональность или эффективность работы любых приложений оптимизации для микропроцессоров других производителей. Содержащиеся в данной продукции оптимизации, предназначены для использования с конкретными микропроцессорами Intel. Некоторые оптимизации, не относящиеся к микроархитектуре Intel, зарезервированы для микропроцессоров Intel. Пожалуйста, см. соответствующее руководство пользователя или справочные руководства для получения дополнительной информации о конкретных наборах команд, к которым относится данное уведомление.

Редакция уведомления № 20110804