Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Alexa, Nyalakan Lampu INI:Sensor 3D Cerdas untuk Amazon Echo

Komponen dan persediaan

Amazon Alexa Amazon Echo
× 1
Pembuat Walabot
× 1
Arduino Leonardo
× 1
Relai (umum)
× 2
LattePanda 2G/32GB (Diaktifkan)
× 1
LattePanda 7-inci 1024 x 600 Layar IPS
× 1
Lampu
× 2

Tentang proyek ini

Pendahuluan

Jika Anda memiliki Alexa atau speaker pintar apa pun dan memiliki integrasi Smart Home, Anda pernah mengalami masalah ini di mana Anda harus mengingat nama perangkat yang akan dikontrol. Saya memiliki banyak perangkat rumah pintar dan terkadang mengingat nama masing-masing perangkat itu rumit.

Terkadang saya akan mengatakan:

3 hal akan terjadi:

  • Akhirnya membingungkan Alexa, menyalakan perangkat pintar yang berbeda.
  • Mengutuk Alexa (Anda tahu apa yang saya bicarakan, akui saja)
  • Atau menyerah, frustrasi dan berkata kepadanya:'Lupakan Alexa, aku akan melakukannya sendiri'... dengan enggan berjalan menuju saklar.

Anak-anak saya biasanya menyukai perintah ini:"Alexa, nyalakan SEMUA lampu". Dan tentu saja, seluruh rumah akan menyala seperti Pohon Natal. Tidak menyenangkan ketika seseorang melakukan itu di tengah malam!

Bagaimana melakukannya

Bagaimana jika saya hanya bisa mengatakan:Alexa, nyalakan lampu ini?

Minta Alexa mendeteksi di mana saya berada di dekat perangkat. Dan ia tahu apa yang saya bicarakan... bukankah ini ide yang bagus?

Nah, salah satu solusi yang mungkin adalah memasang kamera ke kamar saya dan memantau pergerakan dan semacamnya. Tapi itu akan TERLALU MENYENANGKAN. Saya tidak ingin kamera di dalam rumah saya dan melakukan pengenalan gambar.

Di situlah Walabot berperan:

Walabot

Apa itu Walabot?

Walabot adalah sensor 3d yang dapat diprogram yang sempurna untuk proyek elektronik DIY. Walabot adalah jenis baru dari sensor pencitraan 3D. Ini menggunakan frekuensi radio (RFID) dan akan mengungkapkan segala macam hal yang tersembunyi di dunia sekitar Anda. Ini adalah perangkat genggam, dapat diprogram dan SDK kami (perangkat pengembangan perangkat lunak) Ini berisi berbagai kemampuan pencitraan &API kami akan memungkinkan Anda untuk membangun aplikasi kustom Anda sendiri untuk itu.

Itu dapat melacak pergerakan menggunakan RFID.

LattePanda

LattePanda adalah SBC x86/x64 dengan prosesor "Cherrytrail" Intel Atom x8300 quad-core yang dapat menjalankan Windows 10. Ini mencakup RAM 2GB atau 4GB dengan Bluetooth 4.0 dan 802.11 n WiFi terintegrasi, 1 x USB 3.0, 2 x USB 2.0, HDMI out, dan co-prosesor ATMega32u4 terintegrasi - seperti yang akan Anda temukan di Arduino Leonardo - dengan GPIO yang menyertainya - semuanya dalam satu papan seukuran telapak tangan!

Pengaturan ini membuat LattePanda ideal untuk sejumlah skenario. Dalam tutorial ini akan fokus pada keunggulan mikrokontroler terintegrasi LattePanda. Ketika mikrokontroler ini digunakan bersama dengan prosesor Intel Atom, Anda dapat menghubungkan walabot dan arduino secara bersamaan.

Node-Merah

Node-Red adalah alat berbasis browser untuk memungkinkan Anda dengan cepat dan mudah membangun logika Anda sendiri dalam menangani berbagai perangkat IoT, termasuk berlangganan pesan TCP, mendengarkan permintaan Alexa, membaca dan menulis ke Database, menerbitkan ke broker MQTT dan menanggapi permintaan HTTP . Ini juga memungkinkan Anda untuk mendefinisikan fungsi tertentu yang ditulis dalam JavaScript untuk menyediakan operasi logika yang kompleks, sambil menggunakan antarmuka pengguna yang visual, mudah digunakan, tarik dan lepas untuk menghubungkan komponen dan logika yang berbeda bersama-sama.

Node-Red adalah run time berbobot sangat ringan yang dibangun di atas Node.js, memanfaatkan sepenuhnya model operasi non-pemblokiran yang digerakkan oleh peristiwa.

Jika kita dapat memasukkan data Walabot ke Node-Red, itu membuka banyak hal yang dapat kita lakukan terutama di Otomatisasi Rumah. Ada beberapa paket yang saya gunakan untuk menghubungkan Alexa dan Arduino:

  • node-red-contrib-alexa-local:node sederhana untuk menambahkan kemampuan Alexa ke aliran NodeRED Anda.
  • node-red-node-arduino:Node-RED untuk berbicara dengan Arduino

Berikut adalah beberapa dokumentasi yang dapat Anda gunakan untuk menyiapkan firmata:https://nodered.org/docs/hardware/arduino.html

Cara kerjanya

Perangkat Keras

  • LattePanda
  • Layar IPS 1024x600 7 inci untuk LattePanda
  • Keyboard dan mouse nirkabel USB
  • Walabot
  • Hub Didukung USB
  • Relay
  • Lampu

Pemasangan

Langkah 1. SDK Walabot

Unduh SDK dan instal:https://walabot.com/getting-started

Langkah 2. Siapkan Arduino di Walabot

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

1. Aktifkan mode pengembang di sistem operasi Anda

Langkah 3. Siapkan Arduino

1. Buka Arduinonya. Dan pilih “StandardFirmata”

2. Pilih “Arduino Leonardo”

3. Pilih port COM Anda

4. Unggah sketsa

5. Unggah Selesai!

Hubungkan relai ke LattePanda.

Langkah 4 . Instal dan unduh NodeJS dan Node-Red

Jika Anda tidak terbiasa dengan NodeJS dan node-red, berikut beberapa tautannya:

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

Langkah 5. Unduh Python3 dan instal

Langkah 6 . Berikut repositori untuk proyek:https://github.com/rondagdag/smart3DSensorForAlexa

Unduh dan Ekstrak file zip:

> npm install> npm start  

Langkah 7 . Pastikan Anda menggunakan wifi yang sama dan aktifkan Smart Home Skills di Aplikasi Alexa Anda. Katakan:'Alexa, temukan perangkat'. Alexa akan menemukan Lampu. Jika Anda ingin melihat aliran Node-Red dan memodifikasinya:http://localhost:8080/red/

Anda sekarang dapat menghubungkannya ke pin yang berbeda pada Pin Arduino di LattePanda. Atau hubungkan dengan MQTT atau modul Node-Red lainnya.

Keseluruhan alurnya terlihat seperti ini...

3 Langkah:

  • Menangani Layanan Walabot :program python yang membaca data dari sensor walabot dan mengalirkan data ke port tcp 1890
  • Dapatkan dan simpan data objek Walabot :membaca data dari layanan walabot melalui port 1890 dan menyimpan lokasi objek terakhir yang terdeteksi
  • Menangani Perintah Alexa :berjalan saat perintah diterima dari Alexa, dan berdasarkan lokasi terakhir yang diketahui, tentukan pin Arduino untuk sakelar yang terhubung ke relai.
  • Menangani Layanan Walabot

Berikut kode Walabot Python. Ia membaca data dari Walabot dan mengalirkan string JSON melalui TCP.

from __future__ import print_functionfrom sys import platformfrom 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() # memuat WalabotSDK ke pembungkus Python WalabotAPI.SetSettingsFolder() # mengatur jalur ke file database penting WalabotAPI.ConnectAny() # menjalin komunikasi dengan Walabot WalabotAPI. SetProfile(WalabotAPI.PROF_SENSOR) # atur profil pemindaian dari kemungkinan WalabotAPI.SetThreshold(35) WalabotAPI.SetArenaR(50,400,4) WalabotAPI.SetArenaPhi(-45,45,2) WalabotAPI.SetArenaTheta(-20,20,10) WalabotAPI.SetDynamicImageFilter(WalabotAPI.FILTER_TYPE_MTI) # tentukan filter untuk menggunakan WalabotAPI.Start() # memulai Walabot dalam persiapan untuk sistem pemindaian ('cls' if platform =='win32' else 'clear') # hapus terminal numOfTargetsToDisplay =1 jika 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() # memulai pemindaian dan merekam sinyal target =WalabotAPI.GetSensorTargets() # menyediakan daftar target yang teridentifikasi finds ='{"targets":[' index =0 for i, t in enumerate(targets):if i  
  • Dapatkan dan simpan data objek Walabot

Ini akan menerima data dari port 1890, parsing data json untuk mengatur variabel global yang sesuai.

Ini kode untuk mengonversi ke array json

raw =msg.payload.toString('UTF-8') j =JSON.parse(raw); var msg1 ={ muatan:mentah }; var msg2 ={ muatan: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 ={ muatan:X }; var msg4 ={ muatan:Y }; var msg5 ={ muatan:Z }; } mengembalikan [ msg1, msg2, msg3, msg4, msg5];  
  • Menangani Perintah Alexa

Untuk menangani perintah Alexa, kami menggunakan node-red-contrib-alexa-local. Kemudian kami akan mendeteksi pada logika ini yang mana untuk mengarahkan perintah berdasarkan dari posisi terakhir orang yang diketahui.

Jika proyek ini membuat Anda tertarik untuk mempelajari lebih lanjut tentang Amazon Echo, Walabot, LattePanda, Node-Red, Python, atau Anda sedang mengalami hari yang menyenangkan, cukup klik tombol 'Hormati proyek' dan ikuti saya. jika ini membantu Anda membangun proyek, tinggalkan pesan dan beri kami umpan balik. Saya ingin mendengar bagaimana proyek ini membantu Anda.

Perhatikan bahwa tidak ada Keterampilan Alexa khusus yang sebenarnya digunakan untuk proyek ini, ia menggunakan fungsionalitas rumah pintar Amazon Echo bawaan yang di luar kotak mengontrol bohlam Phillips Hue. Node node-red-contrib-alexa-local di Node-Red hanya memalsukan "Bulbs" kustom yang ingin Anda kontrol dengan Alexa!

Kode

Sensor 3D Cerdas untuk Alexa
https://github.com/rondagdag/smart3DSensorForAlexa

Proses manufaktur

  1. Computer Vision sebagai Sensor Gerak untuk SmartThings
  2. Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi
  3. IoT Seluler:Tempat Sampah Cerdas
  4. Amazon Alexa Mengontrol Chromecast
  5. Lampu Lalu Lintas Cerdas
  6. Membuat robot Raspberry Pi:Tutorial Terbaik untuk pemula
  7. Smart Pen:Proyek Akhir untuk ECE5725
  8. Apakah ini 'aplikasi pembunuh' untuk tekstil pintar?
  9. Sensor Ultra-Sensitif dan Tangguh untuk Tekstil Cerdas
  10. Sensor Ultra Tipis untuk Lensa Kontak Cerdas