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

Kendalikan TV Anda dengan Alexa: Setup Arduino & ESP8266

Komponen dan Perlengkapan

Berikut adalah komponen yang diperlukan untuk proyek kendali TV dengan Alexa ini:

Alat dan Mesin yang Diperlukan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Menggunakan Alexa untuk Mengontrol TV Anda!

Intro: Jadi proyek ini membahas cara menggunakan Alexa Anda untuk mengirim perintah dan mengontrol TV Anda dengan bicara padanya. Apa pun yang dapat dilakukan remote TV Anda, Alexa dapat lakukan. Apa yang akan kita lakukan adalah merekam sinyal IR remote dan menggunakan Alexa untuk mengirim ulang sinyal yang sama saat diberi perintah suara. Berikut langkah-langkah yang Anda butuhkan untuk mewujudkan ini atau tonton video YouTube ini:

Langkah 1: Unduh Perpustakaan Prasyarat

Unduh perpustakaan berikut dan letakkan di perpustakaan Arduino IDE Anda:

Langkah 2: Memprogram NodeMCU (Modul Wi-Fi)

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

Anda dapat menyesuaikan Nama Perangkat dalam sketsa ESP8266-Alexa.ino dan Sinyal yang keluar dalam 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 remote dan mencatat sinyal IR yang diterima untuk referensi nanti seperti yang terlihat dalam tutorial ini:

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

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

Pasang daya ke kedua modul dan kabel penghubung di antaranya. Pastikan pengirim IR dihubungkan ke Terminal 3 UNO. Lihat skematik yang dilampirkan untuk informasi lebih lanjut:

Langkah 5: Menguji Proyek dengan Alexa

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

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

Kode

ESP8266-Alexa.inoC/C++

Ini harus ditulis ke chip NodeMCU untuk Mengemulasi Perangkat "WEMO" melalui Arduino IDE

#include <Arduino.h> #include <ESP8266WiFi.h> #include "fauxmoESP.h" // ----------------------------------------------------------------------------- // Wifi Credentials // ----------------------------------------------------------------------------- #define WIFI_SSID "linksys" #define WIFI_PASS "" #define SERIAL_BAUDRATE 115200 fauxmoESP fauxmo; // ----------------------------------------------------------------------------- // Wifi // ----------------------------------------------------------------------------- void wifiSetup() { // Set WIFI module to STA mode WiFi.mode(WIFI_STA); // Connect Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASS); // Wait while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(100); } Serial.println(); // Connected! Serial.printf("[WIFI] STATION Mode, SSID: %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str()); } // ----------------------------------------------------------------------------- // Initilize Pins // ----------------------------------------------------------------------------- #define RELAY_PIN1 13 #define RELAY_PIN2 2 #define RELAY_PIN3 14 #define RELAY_PIN4 15 void setup() { //initialize relay pins pinMode(RELAY_PIN1, OUTPUT); digitalWrite(RELAY_PIN1, LOW); pinMode(RELAY_PIN2, OUTPUT); digitalWrite(RELAY_PIN2, LOW); pinMode(RELAY_PIN3, OUTPUT); digitalWrite(RELAY_PIN3, LOW); pinMode(RELAY_PIN4, OUTPUT); digitalWrite(RELAY_PIN4, LOW); // Init serial port and clean garbage Serial.begin(SERIAL_BAUDRATE); Serial.println(); Serial.println(); Serial.println("FauxMo demo sketch"); Serial.println("After connection, ask Alexa/Echo to 'turn pixels on' or 'off' or 'turn relay on' or 'off'"); // Wifi wifiSetup(); // ----------------------------------------------------------------------------- // Alexa Device Names // ----------------------------------------------------------------------------- // Fauxmo fauxmo.addDevice("TV"); fauxmo.addDevice("GregsNetflix"); fauxmo.addDevice("Sleep"); fauxmo.addDevice("Office"); fauxmo.onMessage(callback); } // ----------------------------------------------------------------------------- // Alexa Operation Calls // ----------------------------------------------------------------------------- void callback(uint8_t device_id, const char * device_name, bool state) { Serial.printf("[MAIN] %s state: %s\n", device_name, state ? "ON" : "OFF"); if ( (strcmp(device_name, "TV") == 0) ) { // adjust the relay immediately! if (state) { digitalWrite(RELAY_PIN1, HIGH); } else { digitalWrite(RELAY_PIN1, HIGH); } } if ( (strcmp(device_name, "GregsNetflix") == 0) ) { // adjust the relay immediately! if (state) { digitalWrite(RELAY_PIN2, HIGH); } else { digitalWrite(RELAY_PIN2, LOW); } } if ( (strcmp(device_name, "Sleep") == 0) ) { // adjust the relay immediately! if (state) { digitalWrite(RELAY_PIN3, HIGH); } else { digitalWrite(RELAY_PIN3, LOW); } } if ( (strcmp(device_name, "Office") == 0) ) { // adjust the relay immediately! if (state) { digitalWrite(RELAY_PIN4, HIGH); } else { digitalWrite(RELAY_PIN4, LOW); } } } void loop() { fauxmo.handle(); delay(500); digitalWrite(RELAY_PIN1, LOW); digitalWrite(RELAY_PIN2, LOW); digitalWrite(RELAY_PIN3, LOW); 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 Dioda Transmisi IR

#include <IRremote.h> IRsend irsend; #define a 4 #define b 5 #define c 6 #define d 7 void 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"); delay(500); } if (digitalRead(b) == HIGH) { irsend.sendNEC(0x57E354AB, 32); //Enter Key delay(2000); irsend.sendNEC(0x57E39867, 32); //Up Key delay(1000); irsend.sendNEC(0x57E39867, 32); //Up Key delay(1000); irsend.sendNEC(0x57E39867, 32); //Up Key delay(1000); irsend.sendNEC(0x57E3B44B, 32); //Right Key delay(1000); irsend.sendNEC(0x57E354AB, 32); //Enter delay(2000); irsend.sendNEC(0x57E354AB, 32); //Enter Serial.println("The Office"); delay(500); } if (digitalRead(c) == HIGH) { irsend.sendNEC(0x57E38679, 32); //Options Button delay(1500); irsend.sendNEC(0x57E3CC33, 32); //Down key delay(700); irsend.sendNEC(0x57E3CC33, 32); //Down key delay(700); irsend.sendNEC(0x57E3CC33, 32); //Down key delay(700); irsend.sendNEC(0x57E3CC33, 32); //Down key delay(700); irsend.sendNEC(0x57E3B44B, 32); //Right Key delay(700); irsend.sendNEC(0x57E3B44B, 32); //Right Key delay(900); irsend.sendNEC(0x57E38679, 32); //Options Button Serial.println("Sleep Timer"); delay(500); } if (digitalRead(d) == HIGH) { irsend.sendNEC(0x57E34AB5, 32); //Netflix Code Serial.println("Greg's Netflix"); delay(500); } } 
IR_REMOTE_read.inoC/C++

Gunakan Kode ini pada Arduino Anda untuk membaca Klik Remote yang datang dari Remote Anda ke Penerima IR.

//2017.06.22 #include <IRremote.h> #include <LiquidCrystal.h> /* HOW TO WIRE UP LCD SCREEN LEFT TO RIGHT PIN WITH PINS ON TOP SIDE * * GND - VCC - POT MIDDLE - 12 - GND - 11 - NONE - NONE - NONE - NONE - 5 - 4 - 9 - 2 - VCC - GND * * POT MUST HAVE 5V AND GND ON IT AND CAN ROTATE THE KNOB TO CHANGE LCD CONTRAST */ LiquidCrystal lcd(12, 11, 5, 4, 9, 2); //9 instead of 3 (NEED FOR TRANSMITTER) int receiverpin = 10; IRrecv irrecv(receiverpin); decode_results results; void setup() { lcd.begin(16, 2); pinMode(receiverpin, INPUT); Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); lcd.clear(); lcd.print(results.value, HEX); delay(150); } } 

Skematik

Ini adalah Skematik Akhir Menghubungkan Arduino ke NodeMCU (Modul Wi-Fi)

Kendalikan TV Anda dengan Alexa: Setup Arduino & ESP8266

Proses manufaktur

  1. Pil Kelahiran: Sejarah, Manfaat, Risiko, dan Produksi
  2. Transisi Sistem Kontrol Industri ke Jaringan Nirkabel
  3. Mengapa Komposit Termo Set adalah Pilihan Ideal untuk Manufaktur Modern
  4. Memperbaiki atau Mengganti Layar Sentuh Industri Anda: Panduan Keputusan Ahli
  5. Kontrol Kipas Angin Langit-langit Anda dengan Alexa: Panduan Langkah demi Langkah
  6. Kuasai Perbaikan Mobil Anda: Tips DIY untuk Keandalan dan Hemat
  7. Melindungi Sistem Kontrol Industri: Strategi dan Praktik Terbaik yang Terdapat Bukti
  8. Pro Guide: Drilling Metal with Your Machine – Expert Tips
  9. Delapan Langkah Terbukti untuk Mendiagnosis dan Memperbaiki Sistem Kontrol Proses Anda
  10. Nyalakan PC Anda Secara Jarak Jauh dengan PLCnext melalui Wake-on-LAN