Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Alexa, Включите ЭТУ лампу:интеллектуальный 3D-датчик для Amazon Echo

Компоненты и расходные материалы

Amazon Alexa Amazon Echo
× 1
Создатель Walabot
× 1
Ардуино Леонардо
× 1
Реле (универсальное)
× 2
LattePanda 2G / 32GB (активировано)
× 1
7-дюймовый дисплей LattePanda с разрешением 1024 x 600 IPS
× 1
Лампа
× 2

Об этом проекте

Введение

Если у вас есть Alexa или какой-либо интеллектуальный динамик и у вас есть интеграция с умным домом, вы столкнулись с этой проблемой, когда вам нужно запомнить имя устройства, которым вы хотите управлять. У меня много умных домашних устройств, и иногда сложно запомнить названия каждого из них.

Иногда я говорил:

Либо произойдут 3 вещи:

  • В итоге Алекса запуталась, включив другое смарт-устройство.
  • Проклятие на Алексу (вы понимаете, о чем я говорю, признайте это)
  • Или сдаться, разочароваться и сказать ей:«Забудь об этом, Алекса, я сделаю это сам» ... неохотно идя к выключателю.

Моим детям обычно нравится эта команда:«Алекса, включи ВСЕ свет». И, конечно же, весь дом будет освещен, как новогодняя елка. Совсем не весело, когда кто-то делает это среди ночи!

Как это сделать

Что, если я могу просто сказать:Алекса, включи эту лампу?

Попросите Alexa определить, где я нахожусь в непосредственной близости от устройства. И он знает, о чем я говорю ... разве это не отличная идея?

Ну, одно из возможных решений - установить камеру в моей комнате и отслеживать движения и все такое. Но это было бы СЛИШКОМ Жутко. Мне не нужны камеры в моем доме и я использую распознавание изображений.

Вот где приходит Walabot:

Валабот

Что такое валабот?

Walabot - это программируемый 3D-датчик, который идеально подходит для электронных проектов DIY. Walabot - это новый вид датчика 3D-изображения. Он использует радиочастоту (RFID) и выявляет все, что скрыто в мире вокруг вас. Это портативный, программируемый и наш SDK (комплект для разработки программного обеспечения). Он содержит различные возможности создания образов, а наш API-интерфейс позволит вам создавать для него свои собственные приложения.

Он может отслеживать движения с помощью RFID.

ЛаттеПанда

LattePanda - это x86 / x64 SBC с четырехъядерным процессором Intel Atom x8300 «Cherrytrail», который может работать под Windows 10. Он включает в себя 2 ГБ или 4 ГБ оперативной памяти со встроенным Bluetooth 4.0 и 802.11 n WiFi, 1 x USB 3.0, 2 x USB. 2.0, выход HDMI и встроенный сопроцессор ATMega32u4 - как в Arduino Leonardo - с сопутствующим GPIO - все на одной плате размером с ладонь!

Такая настройка делает LattePanda идеальным для множества сценариев. В этом руководстве мы сосредоточимся на преимуществах встроенного микроконтроллера LattePanda. Когда этот микроконтроллер используется вместе с процессором Intel Atom, вы можете соединить walabot и arduino вместе.

Узел-красный

Node-Red - это инструмент на основе браузера, который позволяет вам быстро и легко построить свою собственную логику обработки различных устройств IoT, включая подписку на сообщения TCP, прослушивание запросов Alexa, чтение и запись в базы данных, публикацию для брокеров MQTT и ответы на запросы HTTP. . Он также позволяет вам определять определенные функции, написанные на JavaScript, для обеспечения сложных логических операций, при этом используя визуальный, простой в использовании пользовательский интерфейс с перетаскиванием и перетаскиванием для связывания различных компонентов и логики вместе.

Node-Red - это среда выполнения с очень легким взвешиванием, построенная на основе Node.js и полностью использующая его неблокирующую модель работы, управляемую событиями.

Если мы сможем подключить данные Walabot к Node-Red, это откроет нам много возможностей, особенно в области домашней автоматизации. Я использовал несколько пакетов для подключения Alexa и Arduino:

  • node-red-contrib-alexa-local:чрезвычайно простой узел для добавления возможностей Alexa в ваш поток NodeRED.
  • node-red-node-arduino:узел Node-RED для связи с Arduino.

Вот некоторая документация, которую вы можете использовать для настройки фирменных данных:https://nodered.org/docs/hardware/arduino.html

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

Аппаратное обеспечение

  • ЛаттеПанда
  • 7-дюймовый IPS-дисплей 1024x600 для LattePanda
  • Беспроводная USB-клавиатура и мышь.
  • Валабот
  • Концентратор с питанием от USB
  • Реле
  • Лампа

Установка

Шаг 1. Walabot SDK

Загрузите SDK и установите его:https://walabot.com/getting-started

Шаг 2. Установите Arduino на Walabot

http://docs.lattepanda.com/content/hardware/accessPinoutsFromVS/

1. Включите режим разработчика в вашей операционной системе

Шаг 3. Настройте Arduino .

1. Откройте Arduino. И выберите «StandardFirmata»

2. Выберите «Arduino Leonardo» .

3. Выберите свой COM-порт

4. Загрузите эскиз

5. Загрузка завершена!

Подключите реле к LattePanda.

Шаг 4 . Установите и загрузите NodeJS и Node-Red

Если вы не знакомы с NodeJS и node-red, вот несколько ссылок:

  • https://nodejs.org/en/
  • http://docs.lattepanda.com/content/projects/NodeRED/
  • https://nodered.org/docs/getting-started/installation

Шаг 5. Загрузите Python3 и установите

Шаг 6 . Вот репозиторий проекта:https://github.com/rondagdag/smart3DSensorForAlexa

Загрузите и распакуйте zip-файл:

 > npm install> npm start  

Шаг 7 . Убедитесь, что вы подключены к тому же Wi-Fi и включили навыки умного дома в своем приложении Alexa. Скажите:«Алекса, откройте для себя устройства». Алекса найдет Лампу. Если вы хотите увидеть потоки Node-Red и изменить их:http:// localhost:8080 / red /

Теперь вы можете подключить его к другому выводу на выводах Arduino в LattePanda. Или подключите его с помощью MQTT или других модулей Node-Red.

Весь поток выглядит так ...

3 шага:

  • Управление службой Walabot :программа на Python, которая считывает данные с датчика walabot и передает данные на TCP-порт 1890
  • Получение и сохранение данных об объектах Walabot :читает данные из службы walabot через порт 1890 и сохраняет последнее известное местоположение обнаруженного объекта.
  • Обработка команд Alexa :запускается при получении команды от Alexa и на основе последнего известного местоположения определяет контакт Arduino для переключения, подключенного к реле.
  • Управление службой Walabot

Вот код Walabot Python. Он считывает данные из Walabot и передает строку JSON через TCP.

  from __future__ import print_functionfrom sys import platform from os import systemfrom imp import load_sourceWalabotAPI =load_source ('WalabotAPI', 'C:\\ Program Files \\ Walabot \\ WalabotSDK \\ python \\ WalabotAPI.py') import socket, sysif __name__ =='__main__':WalabotAPI.Init () # загружаем WalabotSDK в оболочку Python WalabotAPI.SetSettingsFolder () # устанавливаем путь к файлам основных баз данных WalabotAPI.ConnectAny () # устанавливает связь с Walabot. WalabotAPI. SetProfile (WalabotAPI.PROF_SENSOR) # установить профиль сканирования вне возможностей WalabotAPI.SetThreshold (35) WalabotAPI.SetArenaR (50,400,4) WalabotAPI.SetArenaPhi (-45,45,2) WalabotAPI.SetArenaTheta (-20,20,10) WalabotAPI.SetDynamicImageFilter (WalabotAPI.FILTER_TYPE_MTI) # укажите фильтр для использования WalabotAPI.Start () # запускает Walabot для подготовки к сканированию системы ('cls' if platform =='win32' else 'clear') # очищает терминал numOfTargetsToDisplay =1, если len (sys.argv) ==2:TCP_IP ='127.0.0.1' TCP_PORT =int ( sys.argv [1]) s =socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.bind ((TCP_IP, TCP_PORT)) s.listen (1) conn, addr =s.accept () while True:WalabotAPI .Trigger () # инициирует сканирование и записывает сигналы target =WalabotAPI.GetSensorTargets () # предоставляет список идентифицированных целей find ='{"target":[' index =0 для i, t в enumerate (target):if i  
  • Получение и сохранение данных об объектах Walabot

Он получит данные с порта 1890, проанализирует данные json и установит соответствующие глобальные переменные.

Вот код для преобразования в массив json

  raw =msg.payload.toString ('UTF-8') j =JSON.parse (необработанный); var msg1 ={полезная нагрузка:необработанные}; var msg2 ={полезная нагрузка:j}; если (raw.length> 20) {X =msg2.payload.targets [0] .x; Y =msg2.payload.targets [0] .y; Z =msg2.payload.targets [0] .z; global.set ("X", X); global.set ("Y", Y); global.set ("Z", Z); var msg3 ={полезная нагрузка:X}; var msg4 ={полезная нагрузка:Y}; var msg5 ={полезная нагрузка:Z}; } return [сообщение1, сообщение2, сообщение3, сообщение4, сообщение5];  
  • Обработка команд Alexa

Для обработки команд Alexa мы используем узел-красный-contrib-alexa-local. Затем мы определяем с помощью этой логики, какую команду направить на основе последней известной позиции человека.

Если этот проект побудил вас узнать больше об Amazon Echo, Walabot, LattePanda, Node-Red, Python или у вас просто отличный день, просто нажмите кнопку «Уважать проект» и подписывайтесь на меня. если это помогло вам создать проект, оставьте сообщение и поделитесь с нами своим мнением. Я хочу услышать, как этот проект помог вам.

Обратите внимание, что для этого проекта не используется фактический пользовательский навык Alexa Skill, он использует встроенную функцию умного дома Amazon Echo, которая из коробки управляет лампочками Phillips Hue. Узел node-red-contrib-alexa-local в Node-Red просто подделывает любые пользовательские «лампочки», которыми вы хотите управлять с помощью Alexa!

Код

Умный 3D-датчик для Alexa
https://github.com/rondagdag/smart3DSensorForAlexa

Производственный процесс

  1. Компьютерное зрение как датчик движения для SmartThings
  2. Самодельная инфракрасная система датчиков движения для Raspberry Pi
  3. Сотовый Интернет вещей:умный мусорный бак
  4. Amazon Alexa Управление Chromecast
  5. Умный светофор
  6. Сборка роботов Raspberry Pi:лучшее руководство для начинающих
  7. Smart Pen:последний проект для ECE5725
  8. Это «приложение-убийца» для умного текстиля?
  9. Сверхчувствительный и надежный датчик для смарт-текстиля
  10. Ультратонкий сенсор для умных контактных линз