Itulah berapa biaya relay SONOFF WiFi (dari ITEAD), yang merupakan jantung dari perangkat ini.
“Saya tidak mengalami kegagalan. Saya baru saja menemukan 10 ribu cara yang tidak berhasil ”- Thomas Alva Edison.
Ini sulit dipercaya, belum di masa lalu yang jauh, orang-orang di sekolah menulis dengan bulu. Hari ini setiap orang memiliki bata ajaib dengan gambar di saku mereka, yang memungkinkan Anda untuk mengakses informasi dari seluruh dunia. Kirim pesan instan ke siapa pun di planet ini. Kami memiliki kontrol suara, pengenalan wajah, dan, seperti yang dikatakan orang, merupakan ancaman bagi semua umat manusia di bagian kecerdasan buatan. Baru-baru ini, teknologi ini tampak seperti fiksi yang tak terbayangkan. Namun, hari ini saya akan menunjukkan kepada Anda bagaimana, memiliki keterampilan pemrograman dasar, benar-benar semua orang dapat menggunakan kontrol suara. Jadi mari kita mulai!
PERHATIAN !!! Bekerja dengan tegangan tinggi. Berhati-hatilah dengan apa yang Anda lakukan! Penulis artikel ini tidak bertanggung jawab atas tindakan yang Anda ambil dan kerusakan materi atau fisik apa pun yang mungkin timbul akibat penggunaan informasi dari artikel ini! Jika Anda tidak yakin akan sesuatu, mintalah orang yang lebih berpengalaman untuk membantu Anda.Skema utama perangkat.
Karena ponsel hanya dapat dihubungkan ke satu titik akses WiFi pada satu waktu, kami akan bekerja melalui router. Secara umum, ini nyaman ketika semua perangkat pintar Anda berada di jaringan yang sama, dan Anda dapat dengan mudah mengelolanya tanpa harus selalu terhubung kembali ke masing-masing perangkat tersebut. Kerugiannya adalah semua perangkat Anda bergantung pada kesehatan satu router.
1 - kita perlu memprogram ulang relay WiFi Sonoff
Untuk melakukan ini, Anda harus membongkar relai dan menyolder kontak ke sana untuk berkedip. Secara default, ini dikonfigurasi untuk bekerja melalui server Cina. Secara pribadi, tidak terlalu jelas bagi saya mengapa lampu di toilet perlu dinyalakan melalui server dari Kerajaan Tengah.
Sekarang kita dapat menghubungkan modul cp2102 dari Silicon Labs untuk flashing Sonoff. Saya masih menggunakannya untuk bekerja dengan Arduino mini.
PERINGATAN !!! Saat memprogram ulang, jangan sambungkan relai WiFi ke jaringan 220/110 volt!
Pemrograman ulang relai sangat sederhana. Ini adalah modul esp8266 biasa. Saya mengambil sketsa standar dari server jalur akses dari Arduino IDE dan mengubahnya sedikit.
#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #include <WiFiClient.h> // name and password from WiFi network const char* ssid = "Your access point (router) name"; const char* password = "router password"; IPAddress ip(192,168,1,112); // enter static ip IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); // 80 WiFiServer server(80); void setup() { Serial.begin(115200); delay(100); //preparing GPIO pinMode(12, OUTPUT); digitalWrite(12, 1); pinMode(13, OUTPUT); digitalWrite(13, 1); // connecting to WiFi Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); WiFi.config(ip, gateway, subnet); // waiting for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // run server server.begin(); Serial.println("Server started"); // show ip Serial.println(WiFi.localIP()); } void loop() { // connection check WiFiClient client = server.available(); if (!client) { return; } // Waiting for data Serial.println("new client"); while (!client.available()) { delay(1); } // Reading the first line of the query String req = client.readStringUntil('\r'); Serial.println(req); client.flush(); // works with GPIO if (req.indexOf("/12/0") != -1) digitalWrite(12, 0); else if (req.indexOf("/12/1") != -1){ digitalWrite(12, 1); Serial.println("TEST OK"); String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nTest OK. Uptime: "; // UpTime int Sec = (millis() / 1000UL) % 60; int Min = ((millis() / 1000UL) / 60UL) % 60; int Hours = ((millis() / 1000UL) / 3600UL) % 24; int Day = ((millis() / 1000UL) / 3600UL / 24UL); s += Day; s += "d "; s += Hours; s += ":"; s += Min; s += ":"; s += Sec; s += "</html>\n"; client.print(s); client.stop(); return; } else // If an invalid query write error { Serial.println("invalid request"); String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nInvalid request"; s += "</html>\n"; client.print(s); client.stop(); return; } client.flush(); // Response formation String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO set OK"; s += "</html>\n"; // Send the response to the client client.print(s); delay(1); Serial.println("Client disonnected"); }
Anda harus menentukan nama titik akses Anda (router / router), kata sandi dan alamat IP statis untuk bola lampu. Kontrol relai terletak di pin 12. Pastikan untuk mengatur ukuran blitz ke 1 MB di IDE.
Tekan dan tahan tombol pada papan Sonoff. Masukkan konverter USB cp2102 ke komputer (sambil menahan tombol). Setelah 2-3 detik, lepaskan tombol. Sekarang relay dalam mode pemrograman. Unduh file sketsa dari Arduino IDE. Klik pada Konfirmasi / Kompilasi. Setelah Anda memprogram ulang, reboot modul.
2 - sekarang mari kita buat aplikasi seluler untuk mengontrol relai ini melalui Wi-Fi. (Android)
Saya hanya akan memberikan cuplikan kode utama. Kemudian Anda dapat menggunakannya untuk implementasi di aplikasi Anda. Google menyediakan antarmuka yang sangat sederhana dan nyaman untuk pengenalan suara. Berikut adalah kode yang memungkinkan Anda untuk mengubah suara Anda menjadi teks dan menyimpannya dalam baris biasa.
Kemudian Anda dapat membandingkannya dengan perintah yang ingin Anda terapkan.
Ini adalah kode untuk bekerja dengan Wi-Fi. Mengirim pesan ke server.
public class LightOn extends AsyncTask<Void,Void,Void> { private static final String LOG_TAG = "MyLog"; @Override protected Void doInBackground(Void... params) { URL url; HttpURLConnection urlConnection = null; try { url = new URL("http://192.168.1.112/12/1");
Ini sangat sederhana. “1” hidupkan bola lampu, “0” matikan bola lampu. Anda dapat menambahkan cek yang Anda inginkan, menerima respons dari server, dll. tp Saya membuat dua program untuk diri saya sendiri. Yang pertama adalah widget kontrol suara, yang terletak di desktop dan selalu siap sedia. Yang kedua adalah aplikasi sederhana untuk menyalakan / mematikan bola lampu dengan satu sentuhan tombol.
Saya kira Anda sudah bosan membaca semua jenis teks, jadi saya sarankan Anda melihat video tentang bagaimana itu.
Seperti yang dikatakan Albert Einstein: "Kemungkinan Anda hanya dibatasi oleh imajinasi Anda."
Semoga hari Anda menyenangkan dan hanya perangkat pintar!