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

LED Terkendali Alexa Melalui Arduino Yún

Komponen dan persediaan

Arduino Yun
× 1
Amazon Alexa Amazon Echo
× 1
LED (generik)
× 1
Kartu Micro SD
× 1

Aplikasi dan layanan online

Layanan Web Amazon AWS IoT
Layanan Web Amazon AWS Lambda
Perangkat Keterampilan Alexa Alexa Amazon

Tentang proyek ini

Motivasi

Sejak saya membuat cermin pintar dengan Alexa onboard, saya telah mencari lebih banyak cara untuk menghubungkan berbagai perangkat keras dan perangkat otomatisasi rumah di seluruh rumah kami. Saat mendengar Alexa Smart Home API baru memungkinkan Anda mengontrol perangkat khusus secara langsung, saya memutuskan untuk mencobanya.

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 semua dalam satu paket praktis.

Tugas yang saya tetapkan untuk diri saya sendiri adalah "halo kata" yang setara dengan keterampilan rumah pintar... Cukup nyalakan dan matikan LED menggunakan suara saya. Karena saya memiliki larik LED 2x3, saya memutuskan untuk menyalakan dan mematikannya untuk poin gaya.

Detail lengkapnya dapat ditemukan di bawah, tetapi beginilah hasilnya!

Ikhtisar Proyek

Proyek ini bertujuan untuk menghubungkan papan Arduino Yn ke keterampilan Alexa Smart Home v3. Ini dilakukan menggunakan Alexa Smart Home Skill (v3), AWS Lambda Function, AWS IoT Thing, dan Arduino Yún yang berlangganan IoT Thing.

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

Saya akan merekomendasikan untuk mengambilnya satu per satu dan mengujinya saat Anda pergi. Tidak ada dalam proyek yang sangat menantang, tetapi ada banyak bagian yang saling berhubungan. Jadi jangan berkecil hati jika Anda sedikit menggaruk-garuk kepala saat mengerjakan ini.

Saya akan menganggap setiap langkah sebagai proyek mini, masing-masing berpotensi memakan waktu 1+ jam.

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

Di sini Anda membuat Smart Home Skill, membuat fungsi Lambda, dan menautkan keduanya. Proses ini tercakup dengan sangat baik dalam tutorial ini. Pastikan untuk mengikuti langkah-langkah LWA agar id klien dan rahasia klien Anda 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 memulai dengan baik.

Perhatikan, tutorial itu menggunakan Python 3.6, tetapi saya menggunakan Python2.7 sebagai gantinya. Anda dapat menyalin handle_discovery sebagian dari fungsi lambda saya, tetapi hanya itu yang akan berfungsi saat ini.

Langkah 2:Buat Hal IoT.

Discovery tidak terlalu bagus jika Anda tidak dapat melakukan apa pun, jadi mari kita berikan sesuatu untuk terhubung dengan membuat AWS IoT Thing.

Ini dapat dilakukan dengan mengikuti langkah-langkah di halaman ini. Kami akan menggunakan "Bayangan Benda" dari apa yang Anda buat, yang merupakan salinan dari keadaan sesuatu, bersama dengan perubahan yang diinginkan. Arduino akan berlangganan feed notifikasi yang mempublikasikan perubahan ("delta") pada Thing Shadow ini. Lihat tautan ini di sini untuk info lebih lanjut tentang Hal Bayangan.

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

Arahkan ke tab Bayangan barang Anda, dan klik edit. Tambahkan properti ke bayangan Anda sehingga terlihat seperti:

{ "dilaporkan":{ "light":"on" } }  

Langkah 3:Hubungkan Lambda Anda ke Benda Anda.

Dengan Benda Anda di tempat, sekarang Anda dapat memperbarui kode Lambda Anda untuk memperbarui bayangan benda. Sekarang Anda dapat menyalin kode lengkap dari fungsi lambda saya, tetapi pastikan untuk menyimpan perubahan terkait Discovery yang Anda buat.

Anda juga harus memastikan peran AWS IAM Anda yang terkait dengan fungsi Lambda 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 ini selesai, navigasikan ke halaman konfigurasi fungsi Lambda. Di bawah tab uji fungsi Anda, tambahkan arahan yang disebut "TurnOff" dengan JSON khusus v3 berikut. Anda dapat menambahkan tes kedua yang disebut "TurnOn" juga 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 tes TurnOn dan TurnOff, Anda akan melihat Thing Shadow melaporkan status yang diinginkan yang konsisten dengan tindakan. Jika Anda melihat hasil ini, semuanya baik-baik saja.

Langkah 4:Siapkan Arduino Yún Anda.

Saatnya mengatur perangkat keras Arduino Yn. 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 benar sampai saya terhubung dengan ethernet. Setelah dikonfigurasi, wifi bekerja dengan baik.

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

Anda juga harus berhasil ssh ke Arduino Anda. Sebaiknya jalankan "df -h" juga dan cari volume yang menunjukkan kartu SD Anda telah ditambahkan.

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

Langkah 6:Hubungkan Yn Anda ke AWS IoT.

Dengan Arduino yang aktif dan berjalan, mari kita bicara dengan IoT Thing. Ini dilakukan dengan menginstal AWS Arduino IoT SDK, dan menjalankan sketsa contoh untuk memantau delta Thing Shadow.

Saya sarankan memulai dengan tutorial ini yang melakukan pekerjaan yang sangat baik memandu Anda melalui proses instalasi SDK. Catatan untuk pengguna Windows, jika Anda menggunakan cygwin cukup ikuti petunjuk Mac/Linux (saya tidak mengalami masalah dengan ketergantungan "harapan"). Secara khusus, menjalankan skrip ikuti dari sistem host Anda membuat hidup lebih mudah:

./AWSIoTArduinoYunInstallAll.sh

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

Buka sketsa ini, dan edit aws_iot_config.h file yang berisi titik akhir dan sertifikat / nama kunci Anda yang relevan.

Menjalankan sketsa ini akan menunjukkan kepada Anda output serial yang menunjukkan status koneksi berhasil. Jika Anda mengubah bayangan benda Anda di dasbor IoT, Anda akan mendapatkan notifikasi di Serial logger.

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

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

Sekarang yang tersisa sebenarnya adalah menangani perubahan pada Thing Shadow Anda di Arduino. Anda seharusnya dapat dengan mudah menyalin isi sketsa saya.

Sketsa saya pada dasarnya hanyalah contoh sketsa ThingShadow, kecuali itu terlihat khusus untuk perubahan pada kunci "cahaya". Ketika ini diterima, ia mengatur semua pin di ledArray ke HIGH atau LOW berdasarkan apakah lampu "on" atau "off".

LedArray ini menyertakan pin 13 onboard, jadi tanpa LED tambahan yang terpasang, Anda akan melihat LED YUN onboard menyala dan mati berdasarkan perintah suara Anda. Jika Anda menginginkan kubus LED yang lebih bagus seperti yang saya gunakan, periksa proyek ini yang akan memberi tahu Anda cara memasangnya. Kemudian tambahkan saja nomor pin positif ke ledArray di sketsa saya.

Anda akan tahu bahwa Anda telah menyelesaikan langkah ini ketika Anda dapat meminta perangkat Alexa Anda untuk menghidupkan dan mematikan perangkat pintar khusus Anda.

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

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

Langkah 9:Rayakan!

Jika Anda berhasil sejauh ini, bagus sekali! Arduino dapat melakukan apa saja 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 tiram Anda!

Kode

Kode Lambda dan Arduino untuk Proyek
File .ino dan .h digunakan untuk Arduino Sketch, dan lambda_function digunakan di AWS Lambda Cloud

Proses manufaktur

  1. Amazon Alexa Mengontrol Chromecast
  2. Robot Raspberry Pi dikendalikan melalui Bluetooth
  3. MayorTom:Alexa Voice Controlled ARDrone 2.0
  4. Lampu Meja Interaktif Terkendali Gerakan
  5. Arduino + LED + Keyboard MIDI + MuseScore =Tutor Piano
  6. LED Terkendali Alexa Melalui Raspberry Pi
  7. Mobil RC Terkendali Joystick
  8. Lengan Robot Terkendali Nunchuk (dengan Arduino)
  9. Robot yang Dikendalikan Bicara
  10. Robot Arm Dikendalikan Melalui Ethernet