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

Kendalikan Lampu LED dengan Alexa melalui Arduino Yun – Tutorial Rumah Pintar

Komponen dan Perlengkapan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Motivasi

Sejak saya membangun cermin pintar dengan Alexa, saya terus mencari cara untuk menghubungkan berbagai perangkat keras dan otomatisasi rumah di seluruh rumah kita. Ketika saya mendengar bahwa API Rumah Pintar Alexa baru memungkinkan Anda mengontrol perangkat kustom secara langsung, saya mencoba.

Pohon Natal yang dikendalikan Echo ini menggunakan versi API yang lebih lama, tetapi berfungsi sebagai titik awal yang bagus dan mengarahkan saya ke Arduino Yún yang ditargetkan IoT. Ini memberi Anda sistem Linux dan mikrokontroler dalam satu paket yang praktis.

Tugas yang saya tetapkan untuk diri saya adalah setara dengan "hello word" dari keterampilan rumah pintar... Cukup nyalakan dan matikan LED menggunakan suara saya. Namun karena saya memiliki array LED 2x3 yang ada, saya memutuskan untuk menyalakan dan mematikannya demi gaya.

Detail lengkap dapat ditemukan di bawah ini, tetapi inilah hasilnya!

Ringkasan Proyek

Proyek ini bertujuan untuk menghubungkan papan Arduino Yún ke keterampilan Rumah Pintar Alexa v3. Ini dilakukan menggunakan Keterampilan Rumah Pintar Alexa (v3), Fungsi AWS Lambda, AWS IoT Thing, dan Arduino Yún yang berlangganan ke IoT Thing.

Dalam diagram di bawah ini, Anda dapat melihat semua bagian utama proyek yang terlibat dalam menyalakan lampu.

Saya merekomendasikan mengambil satu bagian pada satu waktu dan mengujinya sambil bekerja. Tidak ada yang sangat sulit dalam proyek ini, tetapi ada banyak bagian yang saling terhubung. Jadi jangan terkejut jika Anda sedikit bingung saat menyelesaikannya.

Saya akan memikirkan setiap langkah sebagai proyek mini, yang potensialmente memakan waktu 1+ jam masing-masing.

Langkah 1: Buat Keterampilan Rumah Pintar dan Lambda yang Terhubung.

Di sini Anda membuat Keterampilan Rumah Pintar, membuat fungsi Lambda, dan menghubungkan keduanya. Proses ini sangat baik diuraikan dalam tutorial ini. Pastikan untuk mengikuti langkah LWA untuk mendapatkan client id dan client secret yang digunakan dalam Konfigurasi Keterampilan.

Pada tahap ini, jika Anda dapat masuk ke dasbor Alexa dan menemukan perangkat rumah pintar baru Anda (pada titik ini hanya respons fungsi Lambda), Anda telah memulai dengan baik.

Catatan, tutorial ini menggunakan Python 3.6, tetapi saya menggunakan Python2.7 sebagai gantinya. Anda dapat menyalin bagian handle_discovery dari fungsi lambda saya, tetapi itu saja yang akan bekerja pada titik ini.

Langkah 2: Buat AWS IoT Thing.

Penemuan tidak berguna banyak jika Anda tidak dapat melakukan apa-apa, jadi mari kita berikan sesuatu untuk terhubung dengan membuat AWS IoT Thing.

Ini dapat dilakukan dengan mengikuti langkah-langkah pada halaman ini. Kami akan menggunakan "Thing Shadow" dari apa yang Anda buat, yang merupakan salinan status suatu thing, beserta perubahan yang diinginkan. Arduino akan berlangganan ke saluran notifikasi yang menerbitkan perubahan ("delta") ke Thing Shadow ini. Lihat tautan ini untuk informasi lebih lanjut tentang Thing Shadows.

Setelah Anda membuat Thing Anda, navigasikan ke tab keamanan di dasbor web Thing IoT dan unduh kunci publik, kunci pribadi, dan sertifikat. Setelah selesai, klik "Aktifkan" yang akan memberi Anda Kunci Otoritas Sertifikat Root. Simpan juga ini. Ini akan digunakan oleh Arduino Anda untuk mengautentikasi ke IoT shadow.

Navigasikan ke tab Shadow dari thing Anda, dan klik edit. Tambahkan properti ke shadow Anda sehingga terlihat seperti:

{ "reported": { "light": "on" } } 

Langkah 3: Hubungkan Lambda Anda ke Thing Anda.

Dengan Thing yang sudah ada, sekarang Anda dapat memperbarui kode Lambda Anda untuk memperbarui thing shadow. Sekarang Anda dapat menyalin kode lengkap dari fungsi lambda saya, tetapi pastikan untuk menjaga semua perubahan terkait Penemuan yang Anda buat.

Anda juga harus memastikan peran AWS IAM yang terkait dengan fungsi Lambda Anda memiliki izin "AWSIoTFullAccess". Anda dapat melihat peran Anda di bagian bawah dasbor web Konfigurasi Lambda. Izin ini memungkinkan Anda terhubung ke AWS IoT Thing.

Setelah selesai, navigasikan ke halaman konfigurasi fungsi Lambda. Di bawah tab uji dari fungsi Anda, tambahkan direktif bernama "TurnOff" dengan JSON v3 spesifik berikut. Anda juga dapat menambahkan uji kedua bernama "TurnOn" di mana Anda hanya mengubah nama header menjadi "TurnOn".

{ "directive": { "header": { "namespace": "Alexa.PowerController", "name": "TurnOff", "payloadVersion": "3", "messageId": "1bd5d003-31b9-476f-ad03-71d471922820", "correlationToken": "1234" }, "endpoint": { "scope": { "type": "BearerToken", "token": "some-access-token" }, "endpointId": "appliance-001", "cookie": {} }, "payload": {} } } 

Saat Anda menjalankan uji TurnOn dan TurnOff, Anda seharusnya melihat Thing Shadow melaporkan keadaan yang diinginkan yang konsisten dengan tindakan. Jika Anda melihat hasil ini, semuanya baik-baik saja.

Langkah 4: Siapkan Arduino Yún Anda.

Waktu untuk menyiapkan perangkat keras Arduino Yún. Saya menemukan panduan ini lebih berguna daripada panduan Arduino. Beberapa catatan - jika Anda pengguna Windows, saat memformat SD pastikan untuk menggunakan FAT32 (exFAT tidak didukung). Saya juga tidak dapat melihat halaman "upgrade" dengan baik sampai saya terhubung dengan ethernet. Setelah dikonfigurasi, wifi berfungsi dengan baik.

Anda telah menyelesaikan langkah ini ketika Anda telah melihat opsi ini dan mengikuti langkah-langkahnya:

Anda juga harus dapat berhasil ssh ke Arduino Anda. Saya merekomendasikan menjalankan "df -h" juga dan mencari volume yang menunjukkan bahwa kartu SD Anda telah ditambahkan.

Membuka Arduino IDE dan memverifikasi bahwa Anda dapat menjalankan contoh Blink juga akan baik pada tahap ini.

Langkah 6: Hubungkan Yún Anda ke AWS IoT.

Dengan Arduino yang berjalan, mari kita membuatnya berkomunikasi dengan IoT Thing. Ini dilakukan dengan menginstal AWS Arduino IoT SDK, dan menjalankan contoh skets untuk memantau delta Thing Shadow.

Saya merekomendasikan memulai dengan tutorial ini yang melakukan pekerjaan yang bagus memandu Anda melalui proses instalasi SDK. Catatan untuk pengguna Windows, jika Anda menggunakan cygwin ikuti instruksi Mac/Linux (saya tidak ada masalah dengan ketergantungan "expect"). Khususnya, menjalankan skrip berikut dari sistem host Anda membuat hidup jauh lebih mudah:

./AWSIoTArduinoYunInstallAll.sh <Board IP> <UserName> <Board Password>

Tutorial tersebut diakhiri dengan menambahkan AWS-IoT-SDK ke Arduino IDE. Sekarang ketika Anda membuka Arduino IDE, Anda harus menemukan contoh ShadowThing di bawah File->Contoh->AWS-IoT-Arduino-Yun-Library.

Buka skets ini, dan edit file aws_iot_config.h untuk berisi endpoint yang relevan dan nama sertifikat / kunci.

Menjalankan skets ini seharusnya menunjukkan output serial yang menunjukkan status koneksi berhasil. Jika Anda mengubah thing shadow di dasbor IoT, Anda seharusnya mendapatkan notifikasi di logger Serial.

Jika Anda mengalami masalah pada tahap ini, pastikan sertifikat Anda ada di jalur yang benar, dan verifikasi bahwa Anda telah menyalin teks Root-CA ke file dengan benar.

Langkah 7: Hubungkan Yún Anda ke AWS IoT.

Sekarang yang tersisa adalah sebenarnya menangani perubahan ke Thing Shadow Anda pada Arduino. Anda seharusnya dapat cukup menyalin isi skets saya.

Skets saya pada dasarnya hanya contoh ThingShadow, kecuali itu secara spesifik mencari perubahan pada kunci "light". Ketika diterima, itu mengatur semua pin di ledArray ke HIGH atau LOW berdasarkan apakah light "on" atau "off".

ledArray ini termasuk pin onboard 13, jadi tanpa LED tambahan yang dicolokkan Anda akan melihat LED onboard YUN nyala dan mati berdasarkan perintah suara Anda. Jika Anda ingin kubus LED yang lebih canggih seperti yang saya gunakan, lihat proyek ini yang akan memberi tahu Anda cara merangkainya. Lalu cukup tambahkan nomor pin positif ke ledArray di skets saya.

Anda akan tahu Anda selesai dengan langkah ini ketika Anda dapat meminta perangkat Alexa Anda untuk menyalakan dan mematikan smart thing kustom Anda.

Jika ini tidak bekerja seperti yang diharapkan, saya akan menyarankan mencoba dengan fungsi Lambda TestOn dan TestOff di dasbor web. Ini memberi Anda lebih banyak informasi tentang apa yang mungkin salah.

Posting komentar dengan masalah apa pun yang Anda temui yang tidak tercakup dan saya akan menjawabnya secepat mungkin!

Langkah 9: Rayakan!

Jika Anda sampai sejauh ini, selamat! Arduino dapat melakukan hampir apa pun yang Anda inginkan, dan sekarang Anda tahu cara memulainya dengan perintah suara sederhana melalui Alexa. Rayakan pencapaian Anda dengan menyalakan dan mematikan lampu berkali-kali. Dunia IoT adalah kerangga Anda!

Kode

Kode Lambda dan Arduino untuk Proyek

.ino dan .h file digunakan untuk Skets Arduino, dan lambda_function digunakan di AWS Lambda Cloud

Proses manufaktur

  1. Kontrol Chromecast Anda dengan Amazon Alexa Menggunakan Raspberry Pi dan Python
  2. Membuat Robot Raspberry Pi yang Dikontrol Bluetooth dengan Umpan Balik Suara
  3. Demo ARDrone 2.0 Dikontrol Alexa: Drone Diaktifkan Suara dengan Raspberry Pi & Hologram Nova
  4. Lampu Meja RGB Kendali Gerak – Pencahayaan Interaktif Tanpa Tangan
  5. Ubah Keyboard MIDI Anda menjadi Piano Tutor Pintar dengan Arduino, LED, dan MuseScore
  6. Kendalikan LED dengan Alexa melalui Raspberry Pi – Panduan Langkah demi Langkah yang Mudah
  7. Ubah Mobil RC Lama menjadi Kendaraan Terkontrol Joystick dengan Arduino
  8. Kit Lengan Robot 6-DoF Berbasis Arduino dengan Pengendali Nunchuk
  9. Membangun Robot Kendali Suara dengan Arduino Nano
  10. Robot Arm Berbasis Ethernet: Kontrol Jarak Jauh yang Sederhana