Введение
Эта система управления доступом входит в серию упражнений с примерами кода 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*, настраивать облачные решения Интернета вещей, включая решения для анализа данных, машинного обучения и различных рабочих инструментов, чтобы упростить процесс подключения датчиков к облаку и помочь быстрее запустить проект Интернета вещей.
Что это такое
В этом проекте, используя плату Intel® Edison, можно создать систему управления доступом, обладающую следующими возможностями.
- Отслеживание датчика движения, чтобы определить наличие человека в месте, где требуется авторизация.
- Доступ с мобильного телефона через встроенный веб-интерфейс для отключения сигнала тревоги.
- Отслеживание доступа с помощью облачного хранилища данных.
Как это работает
Система управления доступом работает следующим образом.
- Пассивный инфракрасный (ИК) датчик движения следит за наличием движения.
- При появлении пользователя датчик движения срабатывает. После этого пользователь должен ввести нужный код в браузере в течение 30 секунд.
- Если пользователь не введет код за заданное время, срабатывает сигнализация.
- Если пользователь вводит правильный код, то система ждет в течение 30 секунд, а затем позволяет пользователю пройти.
Помимо этого, записываются различные события, в том числе looking
-
for
-
motion
, motion
-
detected
, invalid
-
code
и т. д.
Кроме того, все данные можно сохранять с помощью хранилища IoT Examples и учетной записи Microsoft* Azure*.
Требования к оборудованию
Комплект Grove* Starter Kit Plus.
- Плата Intel® Edison с коммутационной платой Arduino*
- Пассивный ИК-датчик движения Grove*
- Цветной ЖК-экран Grove*
Требования к программному обеспечению
- Intel® XDK IoT Edition
- Учетная запись Microsoft* Azure*
Инструкции по настройке
Чтобы приступить к работе, скопируйте хранилище How-ToIntelIoTCodeSamplesс помощью 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и нажмите кнопку DownloadZIPв правой нижней части экрана. После загрузки ZIP-файла распакуйте его и используйте файлы в папке этого примера.
Добавление программы в Intel® XDK IoT Edition
В Intel® XDK IoT Edition выберите Import Your Node.js Project.
Затем перейдите в папку примера проекта и выберите его.
Нужно подключить плату Intel® Edison к компьютеру, чтобы отправлять на нее код.
Щелкните меню IoTDeviceв левой нижней части экрана. Если плата Intel® Edison автоматически распознана, выберите ее.
В противном случае выберите AddManualConnection. В поле Addressвведите 192.168.2.15
. В поле Portвведите 58888
. Щелкните Connect, чтобы сохранить подключение.
Установка программы вручную на плату Intel® Edison
Можно установить код на плату Intel® Edison вручную.
Скопируйте хранилище How-ToIntelIoTCodeSamplesна плату 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.
- Подключите один конец кабеля Grove* к пассивному ИК-датчику движения Grove*, а другой — к порту D4 на плате Grove* Shield.
- Подключите один конец кабеля Grove* к цветному ЖК-экрану Grove*, а другой — к любому порту I2C на плате Grove* Shield.
Ручная настройка платы Intel® Edison
При запуске этого кода на плате Intel® Edison вручную необходимо установить зависимые компоненты.
Для получения модулей Node.js*, необходимых для запуска этого примера программы на плате Intel® Edison, выполните следующую команду:
npm
install
Настройка сервера Microsoft* Azure*
При желании можно хранить данные, созданные этим образцом программы, во внутренней базе данных, развернутой с помощью Microsoft* Azure*, Node.js* и хранилища данных Redis*.
Сведения о настройке собственного облачного сервера данных см. по адресу
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
Настройка примера программы
Чтобы настроить этот пример для использования хранилища данных Microsoft* Azure*, измените параметры SERVER
и AUTH
_
TOKEN
в файле config
.
json
следующим образом:
{ "SERVER": "http://intel-examples.azurewebsites.net/logger/access-control", "AUTH_TOKEN": "s3cr3t" }
Запуск программы с помощью Intel® XDK IoT Edition
Перед запуском сохраните все файлы.
Щелкните значок Upload, чтобы отправить файлы на плату Intel® Edison.
Щелкните значок Runв нижней части окна Intel® XDK IoT Edition. В этом случае код будет запущен на плате Intel® Edison.
Если вы внесли изменения в код, щелкните UploadandRun. В этом случае на плате Intel® Edison будет запущена последняя версия кода со всеми изменениями.
При запущенной программе на экране появится текст, аналогичный показанному выше.
Запуск программы вручную
Чтобы запустить пример программы на плате Intel® Edison вручную, установите SSH-подключение к этой плате и выполните следующую команду:
node index.js
Отключение сигнализации
Для отключения сигнализации используется одностраничный веб-интерфейс, который загружается непосредственно платой 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
На экране появится приблизительно следующий текст:
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*.
Дополнительные сведения об оптимизации компиляторов см. в уведомлении об оптимизации.