Quantcast
Channel: Блоги Intel® Developer Zone
Viewing all articles
Browse latest Browse all 106

Подключение камеры Intel® RealSense™ 3D к Intel® Edison — JavaScript

$
0
0

Введение

Корпорация Intel®выпускает немало технических новинок. Одним из новшеств является технология Intel® RealSense™ с камерами Intel® RealSense™ 3D и пакетом SDK. С помощью этой технологии можно создавать приложения для распознавания жестов, анализа лиц, отделения фона, распознавания речи, синтеза речи и т. д. SDK поддерживает программные платформы CSharp, Java, JavaScript, Processing и Unity. Разработчики могут приступить к созданию приложений на хорошо знакомых им платформах.

Еще одна интересная новинка Intel® — платформа Intel® Edison. Разработчики решений для Интернета вещей могут создавать прототипы, собирающие информацию с датчиков и передающие управление другим устройствам. В платформу Intel® Edison встроены технологии Wi-Fi и Bluetooth Low-energy* (LE) для подключения к Интернету, что позволяет действительно встраивать возможности работы с Интернетом практически в любые вещи.

Питер Ма написал великолепную статью об использовании технологии Intel® RealSense™ с платформой разработки Intel® Edison. В этой статье приводятся два примера таких решений. В одном решении камера Intel® RealSense™ 3D получает входные данные, а для вывода используется плата Intel® Edison. Пакет SDK включает светодиодный индикатор на плате. Во втором примере входным устройством является плата Intel® Edison, а выходным — камера Intel® RealSense™ 3D; модуль синтеза речи зачитывает вслух данные датчиков, полученные с платы.

Опираясь на этот проект, я решил создать нечто похожее на JavaScript. В этой статье мы будем использовать технологию Intel® RealSense™ и платформу JavaScript для отправки данных о жестах рук на сервер. Сервер будет отправлять данные для включения звукового сигнала и светодиода на плате Intel® Edison.

Оборудование

  • Плата Intel® Edison с коммутационной платой Arduino*
  • Seeed Grove* — Starter Kit Plus — Intel® IoT Edition
  • Процессор Intel® Core™ 4-го поколения (или более позднего)
  • 8 ГБ свободного места на жестком диске
  • Порт USB 3.0
  • Камера Intel® RealSense™ 3D F200 (встроенная в систему или периферийная)
  • Сервер с Node.js

ПО

Шаг 1. Настройка Intel® RealSense™ 

Настройка Intel® RealSense™ очень проста. Сначала подключите камеру Intel® RealSense™ 3D F200 к порту USB 3.0. Установите драйвер камеры и пакет Intel® RealSense™ SDK: https://software.intel.com/ru-ru/intel-realsense-sdk/download 

После установки SDK перейдите в папку установки и откройте пример JavaScript в RSSDK\framework\JavaScript\FF_HandsViewer\FF_HandsViewer.html в браузере, чтобы запустить необходимые проверки.

Щелкните ссылку в браузере, чтобы установить модуль выполнения веб-приложений Intel® RealSense™ SDK, затем перезапустите браузер и попробуйте снова открыть этот файл. После этого попробуйте поднять руку перед камерой. Если все сработает правильно, в браузере будут показаны данные расположения руки.

https://software.intel.com/sites/default/files/managed/10/86/Screenshot%20%2871%29.png

Обратите внимание на текст в нижней части экрана (Gesture:{"timeStamp": ,"handId": ,"state": ,"frameNumber": ,"name":"spreadfinger"}), мы отправим "name":"spreadfingers" на сервер.

  • Скопируйте папку RSSDK\framework\JavaScript\FF_HandsViewer в другое место.
  • Скопируйте файл realsense.js, находящийся в папке RSSDK\framework\common\JavaScript, и поместите его в папку FF_HandsViewer.
  • Создайте файлы edisonconnect.jsдля получения данных жестов и отправки их на сервер (не забудьте изменить IP-адрес сервера). 
  • Отредактируйте файл sample.js, чтобы перехватывать данные жестов и передавать их в edisonconnect.js.
  • Отредактируйте файл FF_HandsViewer.html, чтобы изменить путь к файлу realsense.js, подключить socket.io и сценарий edisonconnect.js.  

Теперь мы готовы к отправке данных о жестах на сервер. Следующий шаг — настройка сервера и Intel® Edison. 

 

Шаг 2. Настройка сервера 

Я исхожу из того, что вы уже настроили сервер на базе Debian Linux (я использую Ubuntu) и node.js на этом компьютере.  

  • Установите удаленное подключение к серверу и войдите на него с помощью SSH.
  • Обновление сервера
  • Установка Nodejs
  • Установка npm
  • Установка socket.io express
  • Создание файлов server.js and index.html 
  • Правка файла server.jsпомощью vim
  • Запишите приведенный ниже сценарий.  
  • Если после запуска сценариев появится надпись listening at port 1337, то все в порядке

Шаг 3. Настройка Intel® Edison 

Развертывание Intel® Edison не вызовет затруднений; предоставляется очень удобная документация. Документацию см. здесь:

Теперь пора загрузить код в Intel® Edison. Этот код служит для подключения к серверу и для прослушивания вещания сервера. При получении данных о жестах на плате Intel® Edison будут включены и отключены определенные контакты.

  • Сначала откроем Intel® XDK IoT Edition и создадим новый проект на основе шаблона. Используем шаблон Digital
  • Отредактируйте файл package.jsonи добавьте зависимости socket.io-client
  • Отредактируйте файл main.jsдля подключения к серверу и проверки наличия данных о жестах с именем spreadfingers. После этого переключаем цифровые контакты 2 и 8 в состояние 1 (включено), а при получении других данных о жестах переключаем их в состояние 0 (выключено). * Смените IP-адрес сервера. Если нужно использовать другие контакты, измените mraa.Gpio(selectedpins). Отредактируйте файл main.jsдля подключения к серверу и проверки наличия данных о жестах с именем spreadfingers. После этого переключаем цифровые контакты 2 и 8 в состояние 1 (включено), а при получении других данных о жестах переключаем их в состояние 0 (выключено). * Смените IP-адрес сервера. Если нужно использовать другие контакты, измените mraa.Gpio(selectedpins)
  • Наконец, установите, соберите и запустите проект. Убедитесь в подключении устройства Intel® Edison.  

Теперь убедимся, что сервер запущен, а компьютер с Intel® Realsense™ и Intel® Edison подключены к Интернету.

Это можно увидеть здесь.

Заключение 

Это очень простой проект, в котором мы изменили образец сценария Intel® RealSense™ JavaScript для отправки полученных данных о жестах на сервер Node.js. Сервер будет вещать данные о жестах на любые прослушивающие клиенты. Плата Intel® Edison с socket.io-client будет прослушивать вещание сервера, а при получении данных о жестах с именем spreadfingersпереключит заданные цифровые контакты. Аналогичным образом можно создать проект с использованием данных лица, данных объемных предметов и распознаванием речи с помощью JavaScript. 

Выбор за вами!


Аулиа Факих (Aulia Faqih) — специалист c квалификацией Intel® Software Innovator.

Intel® RealSense Innovator, работает в индонезийском городе Йогякарта и читает лекции в UIN Sunan Kalijaga. Аулиа обожает ставить различные эксперименты с Galileo/Edison, веб-решениями и гаджетами.

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


Viewing all articles
Browse latest Browse all 106

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>