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

Gunakan Alexa untuk Mengontrol TV Anda!

Komponen dan persediaan

Arduino UNO
Ini Digunakan dengan Dioda Pemancar IR untuk mengirim Perintah TV ke Televisi
× 1
NodeMCU ESP8266 Breakout Board
Komponen ini adalah Modul Wi-Fi yang terhubung ke Aplikasi Amazon Alexa sebagai perangkat "WEMO" . Mengirim pulsa untuk setiap perangkat ke Arduino UNO
× 1
Pemancar/Penerima IR
Komponen ini digunakan secara seri dengan Resistor 100 Ohm untuk mengirim Perintah IR ke TV
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Menggunakan Alexa untuk Mengontrol TV Anda!

Pengantar: Jadi proyek ini membahas cara menggunakan Alexa Anda untuk mengirim perintah dan mengontrol TV Anda dengan berbicara dengannya. Apa pun yang dapat dilakukan Remote TV Anda, Alexa Anda dapat melakukannya. Apa yang akan kita lakukan adalah merekam Sinyal IR jarak jauh dan menggunakan Alexa untuk mengirim ulang sinyal yang sama saat perintah suara. Berikut langkah-langkah yang Anda perlukan untuk mewujudkannya atau tonton video YouTube ini:

Langkah 1:Unduh Pustaka Prasyarat

Unduh pustaka berikut dan masukkan ke pustaka Arduino IDE Anda:

  • ESPAsyncTCP - https://github.com/me-no-dev/ESPAsyncTCP
  • ESPAsyncUDP - https://github.com/me-no-dev/ESPAsyncUDP
  • FauxMoESP - https://bitbucket.org/xoseperez/fauxmoesp> Unduhan> Unduh Repositori

Langkah 2:Memprogram NodeMCU (Modul Wi-Fi)

Buka sketsa ESP8266-Alexa.ino dan unggah ke NodeMCU Anda (unduh info papan dari Board Manager di Arduino IDE). Yang perlu Anda ubah hanyalah Kredensial Wi-Fi dan Nama Perangkat.

Anda dapat menyesuaikan Nama Perangkat di sketsa ESP8266-Alexa.ino dan Sinyal yang keluar di sketsa IR-Alexa-Send.ino:

Langkah 3:Membaca Sinyal IR dari Remote TV 

Unggah sketsa IR_REMOTE_read.ino ke Arduino Anda untuk membaca sinyal jarak jauh yang diterima dan merekam sinyal IR Anda yang diterima untuk referensi nanti seperti yang terlihat dalam tutorial ini:

Langkah 4:Memprogram Arduino untuk Mengirim Sinyal TV IR melalui Alexa

Selanjutnya, buka IR-Alexa-Send.ino di Arduino IDE dan unggah ke Arduino Uno Anda (pastikan Anda mengubah info papan unggah ke UNO).

Sambungkan daya ke kedua modul dan sambungkan kabel di antaranya. Pastikan pemancar IR terhubung ke Terminal 3 UNO. Lihat skema terlampir untuk informasi lebih lanjut:

Langkah 5:Menguji Proyek dengan Alexa

Sekarang masuk ke aplikasi Amazon Alexa Anda di perangkat seluler atau PC Anda, buka Smart Home Anda dan tekan "Tambah Perangkat" untuk menemukan setiap perintah yang Anda atur dalam sketsa ESP8266-Alexa.ino.

Setelah ditemukan, Anda dapat mengujinya menggunakan salah satu struktur perintah berikut:

  • "Alexa, aktifkan NAMA PERANGKAT "
  • "Alexa, putar NAMA PERANGKAT  aktif"
  • "Alexa, putar NAMA PERANGKAT  aktif"
  • "Alexa, aktifkan NAMA PERANGKAT "

Kode

  • ESP8266-Alexa.ino
  • IR-Alexa-Send.ino
  • IR_REMOTE_read.ino
ESP8266-Alexa.inoC/C++
Ini ditulis ke Chip NodeMCU untuk Meniru Perangkat "WEMO" melalui Arduino IDE
#include #include #include "fauxmoESP.h"// ----- -------------------------------------------------- ----------------------// Kredensial Wifi// ---------------------- -------------------------------------------------- -----#menentukan WIFI_SSID "linksys"#menentukan WIFI_PASS ""#menentukan SERIAL_BAUDRATE 115200fauxmoESP fauxmo;// -------------------------- -------------------------------------------------- -// Wifi// -------------------------------------------- ---------------------------------void wifiSetup() { // Setel modul WIFI ke mode STA WiFi.mode( WIFI_STA); // Hubungkan Serial.printf("[WIFI] Menghubungkan ke %s ", WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASS); // Tunggu sementara (WiFi.status() !=WL_CONNECTED) { Serial.print("."); penundaan(100); } Serial.println(); // Terhubung! Serial.printf("[WIFI] STATION Mode, SSID:%s, alamat IP:%s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str()); }// ----------------------------------------------- ------------------------------// Inisialisasi Pin// -------------- -------------------------------------------------- -------------#define RELAY_PIN1 13#define RELAY_PIN2 2#define RELAY_PIN3 14#define RELAY_PIN4 15void setup() { //inisialisasi pin relay pinMode(RELAY_PIN1, OUTPUT); digitalWrite(RELAY_PIN1, RENDAH); pinMode(RELAY_PIN2, OUTPUT); digitalWrite(RELAY_PIN2, RENDAH); pinMode(RELAY_PIN3, OUTPUT); digitalWrite(RELAY_PIN3, RENDAH); pinMode(RELAY_PIN4, OUTPUT); digitalWrite(RELAY_PIN4, RENDAH); // Init serial port dan bersihkan sampah Serial.begin(SERIAL_BAUDRATE); Serial.println(); Serial.println(); Serial.println("Sketsa demo FauxMo"); Serial.println("Setelah koneksi, minta Alexa/Echo untuk 'menghidupkan piksel' atau 'mematikan' atau 'menghidupkan relai' atau 'mematikan'"); // Wifi wifiSetup();// ----------------------------------------- ------------------------------------// Nama Perangkat Alexa// ------- -------------------------------------------------- -------------------- // Fauxmo fauxmo.addDevice("TV"); fauxmo.addDevice("GregsNetflix"); fauxmo.addDevice("Tidur"); fauxmo.addDevice("Kantor"); fauxmo.onMessage(panggilan balik);}// ---------------------------------------- -------------------------------------// Panggilan Operasi Alexa// ------ -------------------------------------------------- ---------------------void callback(uint8_t device_id, const char * device_name, bool state) { Serial.printf("[MAIN] %s state:%s \n", nama_perangkat, status ? "ON" :"OFF"); if ( (strcmp(nama_perangkat, "TV") ==0) ) { // segera sesuaikan relai! if (status) { digitalWrite(RELAY_PIN1, TINGGI); } else { digitalWrite(RELAY_PIN1, TINGGI); } } if ( (strcmp(device_name, "GregsNetflix") ==0) ) { // segera sesuaikan relai! if (status) { digitalWrite(RELAY_PIN2, TINGGI); } else { digitalWrite(RELAY_PIN2, RENDAH); } } if ( (strcmp(nama_perangkat, "Tidur") ==0) ) { // segera sesuaikan relai! if (status) { digitalWrite(RELAY_PIN3, TINGGI); } else { digitalWrite(RELAY_PIN3, RENDAH); } } if ( (strcmp(nama_perangkat, "Kantor") ==0) ) { // segera sesuaikan relai! if (status) { digitalWrite(RELAY_PIN4, TINGGI); } else { digitalWrite(RELAY_PIN4, RENDAH); } }}void loop() { fauxmo.handle(); penundaan (500); digitalWrite(RELAY_PIN1, RENDAH); digitalWrite(RELAY_PIN2, RENDAH); digitalWrite(RELAY_PIN3, RENDAH); digitalWrite(RELAY_PIN4, LOW);}
IR-Alexa-Send.inoC/C++
Ini diunggah ke Arduino UNO untuk membaca sinyal dari NodeMCU dan mengirimkan Sinyal IR yang sesuai melalui IR Transmitting Diode
#include IRsend irsend;#define a 4#define b 5#define c 6# define d 7void setup() { Serial.begin(9600); pinMode(a, INPUT); pinMode(b, INPUT); pinMode(c, INPUT); pinMode(d, INPUT);}void loop() { if (digitalRead(a) ==HIGH) { irsend.sendNEC(0x57E3E817, 32); //Power Code Serial.println("TV"); penundaan (500); } if (digitalRead(b) ==HIGH) { irsend.sendNEC(0x57E354AB, 32); //Masukkan penundaan kunci(2000); irsend.sendNEC(0x57E39867, 32); //Penundaan Kunci Naik(1000); irsend.sendNEC(0x57E39867, 32); //Penundaan Kunci Naik(1000); irsend.sendNEC(0x57E39867, 32); //Penundaan Kunci Naik(1000); irsend.sendNEC(0x57E3B44B, 32); // Penundaan Tombol Kanan(1000); irsend.sendNEC(0x57E354AB, 32); //Masukkan penundaan(2000); irsend.sendNEC(0x57E354AB, 32); //Masukkan Serial.println("Kantor"); penundaan (500); } if (digitalRead(c) ==HIGH) { irsend.sendNEC(0x57E38679, 32); //Opsi Penundaan tombol(1500); irsend.sendNEC(0x57E3CC33, 32); //Tunda tombol bawah(700); irsend.sendNEC(0x57E3CC33, 32); //Tunda tombol bawah(700); irsend.sendNEC(0x57E3CC33, 32); //Tunda tombol bawah(700); irsend.sendNEC(0x57E3CC33, 32); //Tunda tombol bawah(700); irsend.sendNEC(0x57E3B44B, 32); // Penundaan Tombol Kanan(700); irsend.sendNEC(0x57E3B44B, 32); // Penundaan Tombol Kanan (900); irsend.sendNEC(0x57E38679, 32); //Tombol Opsi Serial.println("Pengatur Waktu Tidur"); penundaan (500); } if (digitalRead(d) ==HIGH) { irsend.sendNEC(0x57E34AB5, 32); //Netflix Kode Serial.println("Netflix Greg"); penundaan (500); }}
IR_REMOTE_read.inoC/C++
Gunakan Kode ini pada Arduino Anda untuk membaca Clicker Hits yang datang dari Remote Anda ke Penerima IR.
//2017.06.22#include #include /* CARA MENYATAKAN LAYAR LCD PIN KIRI KE KANAN DENGAN PIN DI SISI ATAS * * GND - VCC - POT TENGAH - 12 - GND - 11 - NONE - NONE - NONE - NONE - 5 - 4 - 9 - 2 - VCC - GND * * POT HARUS MEMILIKI 5V DAN GND PADANYA DAN DAPAT MEMUTAR KNOB UNTUK MENGUBAH KONTRAS LCD */ LiquidCrystal lcd(12, 11, 5, 4, 9, 2); //9 bukannya 3 (PERLU UNTUK TRANSMITTER)int receiverpin =10;IRrecv irrecv(receiverpin);hasil decode_results;void setup() { lcd.begin(16, 2); pinMode(pin penerima, INPUT); Serial.begin(9600); irrecv.enableIRIn();}void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); lcd.clear(); lcd.print(hasil.nilai, HEX); penundaan(150); }}

Skema

Ini adalah Skema Akhir Menghubungkan Arduino dengan NodeMCU (Modul Wi-Fi)

Proses manufaktur

  1. Pil KB
  2. Memindahkan Sistem Kontrol Industri Anda Ke Nirkabel
  3. Alasan Menggunakan Komposit Termoset dalam Produk Anda
  4. Perbaiki atau Ganti Kontrol Layar Sentuh Anda yang Rusak?
  5. Aktifkan Kontrol Alexa ke Kipas Angin Anda
  6. Mengendalikan Perbaikan Kendaraan Anda Sendiri
  7. Mengamankan Sistem Kontrol Industri Anda
  8. Cara menggunakan Mesin Bor Anda untuk mengebor logam
  9. 8 Langkah untuk Men-debug Sistem Kontrol Proses Anda
  10. Gunakan PLCdi sebelah WakeOnLan (WoL) PC Anda