산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Alexa, 이 램프 켜기:Amazon Echo용 스마트 3D 센서

구성품 및 소모품

Amazon Alexa Amazon Echo
× 1
Walabot 생성기
× 1
Arduino Leonardo
× 1
릴레이(일반)
× 2
LattePanda 2G/32GB(활성화됨)
× 1
LattePanda 7인치 1024 x 600 IPS 디스플레이
× 1
램프
× 2

이 프로젝트 정보

소개

Alexa 또는 스마트 스피커를 소유하고 있고 Smart Home 통합이 있는 경우 제어할 장치의 이름을 기억해야 하는 이 문제가 발생했습니다. 나는 많은 스마트 홈 장치를 가지고 있으며 때때로 각 장치의 이름을 기억하는 것이 까다롭습니다.

때때로 저는 이렇게 말하고 싶습니다.

3가지 중 하나가 발생합니다:

<울>
  • 다른 스마트 기기를 켜서 Alexa를 혼란스럽게 만들었습니다.
  • <울>
  • Alexa에게 욕하기(무슨 말인지 알겠지만 인정)
  • <울>
  • 포기하거나, 좌절감을 느끼며 그녀에게 '알렉사 잊어버려, 내가 직접 할게'라고 말하거나... 마지못해 스위치를 향해 걸어갑니다.
  • 내 아이들은 일반적으로 "Alexa, 모든 조명을 켜십시오"라는 명령을 즐깁니다. 물론 집 전체가 크리스마스 트리처럼 밝혀질 것입니다. 누군가가 한밤중에 그런 짓을 하면 재미가 없습니다!

    방법

    내가 알렉사, 이 램프를 켜라고 말할 수 있다면 어떨까요?

    Alexa가 기기 근처에서 내가 어디에 있는지 감지하도록 합니다. 그리고 그것은 내가 말하는 것을 알고 있습니다. 이것은 좋은 생각이 아닙니까?

    글쎄, 한 가지 가능한 해결책은 내 방에 카메라를 장착하고 움직임 등을 모니터링하는 것입니다. 그러나 그것은 너무 소름 끼치는 일입니다. 집에 카메라가 설치되는 것을 원하지 않고 이미지 인식을 합니다.

    바로 여기에서 Walabot이 등장합니다.

    왈라봇

    왈라봇이란 무엇입니까?

    Walabot은 DIY 전자 프로젝트에 적합한 프로그래밍 가능한 3D 센서입니다. Walabot은 새로운 종류의 3D 이미지 센서입니다. 그것은 무선 주파수(RFID)를 사용하고 주변 세계에 숨겨진 모든 종류의 것들을 드러낼 것입니다. 휴대용이며 프로그래밍 가능하며 SDK(소프트웨어 개발 키트)에는 다양한 이미징 기능이 포함되어 있으며 API를 사용하면 이에 대한 사용자 지정 응용 프로그램을 구축할 수 있습니다.

    RFID를 사용하여 움직임을 추적할 수 있습니다.

    라떼판다

    LattePanda는 Windows 10을 실행할 수 있는 쿼드 코어 Intel Atom x8300 "Cherrytrail" 프로세서가 있는 x86/x64 SBC입니다. 여기에는 Bluetooth 4.0 및 802.11n WiFi가 통합된 2GB 또는 4GB RAM, USB 3.0 1개, USB 2개가 포함됩니다. 2.0, HDMI 출력 및 통합 ATMega32u4 보조 프로세서(Arduino Leonardo에서 볼 수 있는 것처럼)와 함께 제공되는 GPIO가 모두 하나의 손바닥 크기 보드에 있습니다!

    이 설정을 통해 LattePanda는 다양한 시나리오에 이상적입니다. 이 튜토리얼에서는 LattePanda의 통합 마이크로컨트롤러의 장점에 초점을 맞출 것입니다. 이 마이크로 컨트롤러를 Intel Atom 프로세서와 함께 사용하면 walabot과 arduino를 함께 연결할 수 있습니다.

    노드 레드

    Node-Red는 TCP 메시지 구독, Alexa 요청 수신, 데이터베이스 읽기 및 쓰기, MQTT 브로커에 게시 및 HTTP 요청 응답을 포함하여 다양한 IoT 장치를 처리하는 고유한 논리를 빠르고 쉽게 구성할 수 있는 브라우저 기반 도구입니다. . 또한 JavaScript로 작성된 특정 기능을 정의하여 복잡한 논리 연산을 제공하는 동시에 시각적이고 사용하기 쉬운 끌어서 놓기 사용자 인터페이스를 사용하여 다양한 구성 요소와 논리를 함께 연결할 수 있습니다.

    Node-Red는 Node.js를 기반으로 구축된 매우 가벼운 런타임으로 이벤트 기반의 비차단 작동 모델을 최대한 활용합니다.

    Walabot 데이터를 Node-Red에 연결할 수 있다면 특히 홈 오토메이션에서 할 수 있는 많은 일이 열립니다. Alexa와 Arduino를 연결하는 데 사용한 몇 가지 패키지가 있습니다.

    <울>
  • node-red-contrib-alexa-local:NodeRED 흐름에 Alexa 기능을 추가하기 위한 매우 단순한 노드입니다.
  • <울>
  • node-red-node-arduino:Arduino와 통신하는 Node-RED 노드
  • 다음은 Firmata를 설정하는 데 사용할 수 있는 몇 가지 문서입니다. https://nodered.org/docs/hardware/arduino.html

    작동 방식

    하드웨어

    <울>
  • 라떼판다
  • <울>
  • LattePanda용 7인치 1024x600 IPS 디스플레이
  • <울>
  • USB 무선 키보드 및 마우스
  • <울>
  • 왈라봇
  • <울>
  • USB 전원 허브
  • <울>
  • 릴레이
  • <울>
  • 램프
  • 설치

    1단계. Walabot SDK

    SDK 다운로드 및 설치:https://walabot.com/getting-started

    2단계. Walabot에서 Arduino 설정

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

    1. 운영 체제에서 개발자 모드 활성화

    3단계. Arduino 설정

    1. 아두이노를 엽니다. 그리고 "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 설치> npm 시작  

    7단계 . 동일한 Wi-Fi에 있고 Alexa 앱에서 Smart Home Skills를 활성화했는지 확인하십시오. 'Alexa, 장치 검색'이라고 말합니다. Alexa는 램프를 찾을 것입니다. Node-Red 흐름을 보고 수정하려면 http://localhost:8080/red/

    이제 LattePanda의 Arduino 핀에 있는 다른 핀에 연결할 수 있습니다. 또는 MQTT 또는 다른 Node-Red 모듈과 연결하십시오.

    전체 흐름은 다음과 같습니다...

    3단계:

    <울>
  • Walabot 서비스 처리 :walabot 센서에서 데이터를 읽고 tcp 포트 1890으로 데이터를 스트리밍하는 파이썬 프로그램
  • <울>
  • Walabot 개체 데이터 가져오기 및 저장 :포트 1890을 통해 walabot 서비스에서 데이터를 읽고 마지막으로 감지된 개체 위치를 저장합니다.
  • <울>
  • Alexa 명령 처리 :Alexa에서 명령을 받으면 실행되며 마지막으로 알려진 위치를 기준으로 릴레이에 연결할 Arduino 핀을 결정합니다.
  • <울>
  • Walabot 서비스 처리
  • 다음은 Walabot Python 코드입니다. Walabot에서 데이터를 읽고 TCP를 통해 JSON 문자열을 스트리밍합니다.

    __future__에서 import print_function에서 sys 가져오기 플랫폼에서 os 가져오기 시스템에서 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 지우기 if 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() 동안 True:WalabotAPI .Trigger() # 스캔을 시작하고 신호를 기록합니다. target =WalabotAPI.GetSensorTargets() # 식별된 대상 목록을 제공합니다. finds ='{"targets":[' index =0 for i, t in enumerate(targets):if i  
    <울>
  • Walabot 개체 데이터 가져오기 및 저장
  • 포트 1890에서 데이터를 수신하고 json 데이터를 구문 분석하여 그에 따라 전역 변수를 설정합니다.

    다음은 json 배열로 변환하는 코드입니다.

    raw =msg.payload.toString('UTF-8') j =JSON.parse(raw); var msg1 ={ 페이로드:원시 }; var msg2 ={ 페이로드:j }; if (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 }; } 반환 [ msg1, msg2, msg3, msg4, msg5];  
    <울>
  • Alexa 명령 처리
  • Alexa 명령을 처리하기 위해 node-red-contrib-alexa-local. 그런 다음 이 논리에서 사람의 마지막으로 알려진 위치를 기반으로 명령을 라우팅할 항목을 감지합니다.

    이 프로젝트를 통해 Amazon Echo, Walabot, LattePanda, Node-Red, Python에 대해 더 많은 것을 배우고 싶거나 오늘 하루를 보내고 계시다면 'Respect project' 버튼을 클릭하고 저를 팔로우하세요. 이것이 프로젝트를 구축하는 데 도움이 되었다면 메시지를 남기고 피드백을 보내주십시오. 이 프로젝트가 어떻게 도움이 되었는지 듣고 싶습니다.

    이 프로젝트에는 실제 사용자 지정 Alexa Skill이 사용되지 않으며, 기본적으로 Phillips Hue 전구를 제어하는 ​​내장 Amazon Echo 스마트 홈 기능을 사용합니다. Node-Red의 node-red-contrib-alexa-local 노드는 Alexa로 제어하려는 사용자 지정 "전구"를 스푸핑합니다!

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    Alexa용 스마트 3D 센서
    https://github.com/rondagdag/smart3DSensorForAlexa

    제조공정

    1. SmartThings용 모션 센서로서의 컴퓨터 비전
    2. 라즈베리 파이용 DIY 적외선 모션 센서 시스템
    3. Cellular IoT:Smart Garbage Can
    4. Amazon Alexa Chromecast 제어
    5. 스마트 신호등
    6. Raspberry Pi 로봇 빌드:초보자를 위한 최고의 자습서
    7. 스마트 펜:ECE5725의 최종 프로젝트
    8. 스마트 텍스타일을 위한 '킬러 앱'인가요?
    9. 스마트 섬유용 초고감도, 탄력 센서
    10. 스마트 콘택트 렌즈용 초박형 센서