AC nya. Bagian II

Pada bagian ini, saya akan memberi tahu Anda opsi untuk integrasi AC "sederhana" (dan, secara umum, hampir semua perangkat yang dikendalikan melalui IR) menggunakan WiFi <=> IR gateway.

Untuk membuatnya lebih menarik, saya memilih gateway yang populer (omong-omong, Yandex menggunakannya untuk Alice-nya). Anda dapat membeli satu di Ali, harganya sekitar 1200 rubel (Yandex lebih mahal).

Perangkat ini cukup kompak (mudah pas di telapak tangan Anda), dari organ yang terlihat ada satu LED biru kecil yang tidak mencolok dan tombol untuk memasangkan. Segala sesuatu yang lain tersembunyi di balik kasing transparan inframerah hitam. Anda dapat menggunakan port USB yang tersedia (catu daya, komputer, dll.) Sebagai sumber listrik. Gateway terhubung dengan kabel microUSB (disediakan atau dengan cara apa pun).

Kekhasan perangkat ini adalah bahwa ia dibangun di atas "terkenal di kalangan sempit" esp8266, yang berarti bahwa ia dapat "dijinakkan" dengan cukup mudah.

Opsi "untuk yang terkecil"


Sebelum mengganti perangkat, saya mencoba menggunakannya dalam mode normal: Saya menginstal aplikasi TuyaSmart di telepon (ada versi untuk Android dan iPhone), dan kemudian semuanya sederhana:

  • mendaftar di aplikasi,
  • kita akan pergi melalui wizard kecil untuk menghubungkan perangkat baru (untuk ini, gateway harus terhubung ke daya dan masuk ke mode "berpasangan" menggunakan satu tombol di atasnya,
  • setelah gateway muncul di aplikasi, kami membuat "panel kontrol" baru - penyihir kecil lain di mana Anda memilih jenis perangkat (dalam kasus saya - Penyejuk udara), kemudian pabrikan dipilih (tidak ada Electrolux dalam aplikasi, tetapi berfungsi dengan baik ketika memilih Midea). Segera kami datang dengan "nama" konsol baru (saya memilih "Mr. White").

Itu saja. Setelah itu, remote control berikut muncul di ponsel:

Dengannya, Anda dapat mengontrol fungsi dasar dasar:

  • hidup / mati
  • pengaturan suhu
  • pemilihan mode operasi ("Otomatis", "Pendinginan", "Pemanasan", "Kipas"),
  • pemilihan kecepatan kipas ("Otomatis", "Rendah", "Sedang", "Tinggi").

Secara umum, sudah mungkin digunakan untuk remote control, tetapi di mana "rumah pintar" dan integrasi?

Karena ini adalah cara yang sederhana, ini buruk dengan rumah pintar, tetapi dengan integrasi itu agak lebih baik.

Pada awalnya tidak ada "fly in the salep" - tidak ada integrasi dengan Apple HomeKit, jadi Siri belum tersedia, tetapi dengan platform pesaing lainnya semuanya jauh lebih menyenangkan:

  • Untuk Amazon Alexa - ada keterampilan Tuya Smart. Sudah cukup untuk mengaktifkannya dan menunjukkan di dalamnya akun Anda, yang Anda masukkan saat pendaftaran dalam aplikasi - Anda dapat mengontrol suara AC.
  • Demikian pula, Anda dapat menghubungkan Tuya Smart ke Google Assistant.

Dalam kedua kasus, bahasa Rusia tidak didukung, tetapi suara dikendalikan dengan mudah dan sederhana. Saya menemukan perintah berikut:
- Alexa, nyalakan Tuan Putih
- Hei, Google, atur Mr. White ke 24 derajat
- Alexa, matikan Mr.White

Biarkan saya mengingatkan Anda bahwa saya telah menerapkan kontrol suara menggunakan Amazon Echo Dot dan Google Home Mini - kedua perangkat bekerja dengan tim yang identik.

By the way, perintah suara mana yang dapat Anda kontrol mode operasi dan laju aliran udara - saya tidak menemukan. Jika seseorang memberi tahu saya, saya akan berterima kasih.

Dan kemudian integrasi "semi-otomatis" dengan UD dibuat: ketika suhu di ruangan naik di atas ambang batas - pengontrol UD mengirimkan pesan yang meminta untuk menghidupkan AC, dan saya, dari jarak jauh, menggunakan aplikasi TuyaSmart, menyalakan AC dalam mode yang diperlukan.

Solusinya adalah "begitu-begitu", tentu saja, tetapi setidaknya entah bagaimana Anda dapat menggunakannya.

Tapi ini bukan cara kami - kami melanjutkan:

Jedi Way


Otopsi dan persiapan


Ada opsi untuk mem-flash perangkat tanpa membukanya, metode ini dijelaskan di sini .

Metode ini bagi saya tampaknya tidak perlu rumit (begitu banyak gerakan, ketika firmware hanya membutuhkan 4 kabel untuk solder), dan itu menarik untuk melihat ke dalam.

Sayangnya, dalam prosesnya saya terbawa suasana dan lupa untuk mengambil foto, jadi saya akan menunjukkan foto orang lain:


Lebih banyak foto dapat dilihat di sini .

Foto tersebut dengan jelas menunjukkan bahwa modul TYWE3S digunakan ( lembar data yang sangat sederhana di Google).

Sekarang Anda perlu mem-flash modul. Firmware asli ditimpa dan tidak dapat dipulihkan.

Firmware dilakukan dengan sangat sederhana: kami mengambil lingkungan Arduino (atau Atom, atau yang lainnya - pilih sesuai selera Anda). Unduh sketsa dengan firmware Tasmota ke lingkungan pengembangan . Kemudian kita terhubung pada modul TYWE3S RX, TX, GND, VCC dari serial-usb mana pun (jangan campur - Anda perlu daya 3,3V dan level sinyal yang sesuai, jika ada 5V, Anda harus memesan gateway baru). Sebelum menerapkan daya, jangan lupa untuk menutup (dengan cara yang mudah) GPIO0 modul ke ground, sehingga menempatkan modul ke mode firmware. Firmware.

Tidak diperlukan untuk mengkonfigurasi firmware - semuanya dapat dibiarkan dalam kode "sebagaimana adanya", kita hanya perlu "menjinakkan" modul.

Jika semuanya dilakukan dengan benar (setelah melepas kabel untuk firmware, tentu saja), nyalakan gateway. Di ponsel atau komputer Anda, aktifkan pencarian untuk jaringan WiFi - jaringan baru akan muncul dengan nama sonoff-xxxx (di mana xxxx adalah angka), yang diambil oleh perangkat kami.

Kami terhubung ke jaringan ini dan pergi ke alamat: 192.168.4.1 - ini adalah antarmuka web gateway kami.

Pertama, dalam pengaturan gateway, tentukan jaringan WiFi rumah dan kata sandi untuknya (perangkat akan reboot dan terhubung ke jaringan rumah). Selanjutnya, semua tindakan lebih mudah dilakukan di dalamnya. Secara alami, Anda perlu mencari tahu dengan cara apa alamat gateway yang diterima di jaringan rumah.

Kami pergi ke halaman dengan rilis firmware Tasmota . Unduh dua file - sonoff-minimal.bin dan sonoff-ir.bin

Sekarang, menggunakan antarmuka web gateway, kami memperbarui firmware dalam dua tahap - pertama kami menjahit versi "minimum", dan langkah kedua adalah sonoff-ir.

Setelah semua tindakan sederhana ini, kita sudah memiliki modul di tangan kita dengan versi firmware saat ini, tetap hanya untuk mengkonfigurasinya sebagai berikut:



Sebenarnya, ini adalah konfigurasi minimum yang diperlukan - dalam contoh yang dijelaskan kami akan berinteraksi dengan modul menggunakan permintaan GET (walaupun dimungkinkan juga melalui MQTT).

Anda dapat memeriksa pengoperasian modul, dan pada saat yang sama menemukan sesuatu yang berguna di konsolnya (tautannya tersedia dari halaman utama antarmuka web). Buka konsol dan lihat bagaimana modul "hidup".

Sekarang Anda dapat mulai mempelajari antarmuka kontrol pendingin udara. Untuk melakukan ini, ambil remote control standar dari AC dan tekan tombol daya. Jika semuanya baik-baik, maka garis seperti:

19:24:09 MQT: tele/IRbridge/RESULT = {"IrReceived":{"Protocol":"COOLIX","Bits":24,"Data":"0xB29F70","DataLSB":"0x4DF90E","Repeat":0,"IRHVAC":{"Vendor":"COOLIX","Model":-1,"Power":"on","Mode":"cool","Celsius":"on","Temp":22,"FanSpeed":"min","SwingV":"off","SwingH":"off","Quiet":"off","Turbo":"off","Econo":"off","Light":"on","Filter":"off","Clean":"on","Beep":"off","Sleep":-1}}} 

Modul menerima dan "menguraikan" perintah IR dari remote control. Yaitu segera dihapus dari konsol protokol mana (dalam kasus saya ini COOLIX) yang digunakan oleh unit pendingin udara biasa dan parameter apa yang dikodekan dalam paket.

Hebat, sekarang Anda sudah bisa mengendalikan AC. Untuk melakukan ini secara bermakna, lebih baik membiasakan diri dengan deskripsi perintah ini.

Untuk verifikasi, kami akan mengirim, misalnya, perintah berikut melalui konsol gateway (Saya akan memberikan semua perintah untuk AC saya, Anda mungkin memiliki protokol kontrol yang berbeda):

 IRhvac{"Protocol":"COOLIX","Power":"On","Mode":"Cool","FanSpeed":"min","Temp":22} 

Ajaibnya, AC menyala segera dan dalam mode yang diperlukan. Keajaiban

Matikan AC dengan perintah berikut:

 IRhvac{"Protocol":"COOLIX","Power":"Off"} 

Secara umum, modul disiapkan dan diuji.

Pergi ke integrasi!

AC + Domoticz = persahabatan selamanya!


Saya menggunakan Domoticz sebagai sistem otomatisasi utama, jadi kami akan menjadi "teman" dengan sistem khusus ini.

Rencana kerjanya adalah sebagai berikut:

  1. Buat beberapa perangkat virtual: saklar, dua penyeleksi (untuk memilih mode dan laju aliran udara) dan termostat.
  2. Tambahkan beberapa skrip yang, dengan tindakan dengan perangkat virtual, akan mengirim perintah ke gateway.
  3. Verifikasi bahwa semuanya dikelola sebagaimana mestinya.

Perangkat virtual


Saat membuat perangkat, Anda harus menentukan nama mereka. Saya membawa milik saya, Anda dapat memilih yang lain, hanya ingat untuk memperbaiki skrip untuk mereka nanti.

Buat saklar biasa (ketik "Switch") dengan nama "HVAC". Sakelar ini akan digunakan untuk menghidupkan / mematikan satu tombol.

Untuk memilih mode pengoperasian AC, tambahkan sakelar virtual "Mode HVAC" (ketik "Sakelar Pemilih") dengan karakteristik berikut:


Harap dicatat bahwa di sini saya hanya membuat dua mode - "pemanasan" dan "pendinginan". Meskipun AC masih memiliki mode "Auto" dan "Fan", mereka tidak berguna bagi saya - yang pertama bekerja aneh dan tidak nyaman untuk rumah tangga, dan yang kedua tidak pernah dibutuhkan sama sekali. Jika Anda menggunakan mode ini, Anda bisa menambahkannya ke pemilih.

Demikian pula, buat pemilih "HVAC-FanSpeed":


Sekarang tinggal membuat termostat HVAC-Temp saja (tipe perangkatnya adalah Thermostat Setpoint).

Skrip


Saya entah bagaimana lebih dekat dengan skrip Domoticz di Lua (Perangkat), jadi saya melakukan apa yang lebih nyaman bagi saya.

Untuk jelasnya - alamat IP gateway IR di jaringan rumah saya adalah 10.40.20.254 dan alamat ini muncul di salah satu skrip, Anda harus memperbaikinya pada alamat gateway Anda.

Buat tiga skrip berikut.

HVACauto:

 commandArray = {} for deviceName,deviceValue in pairs(devicechanged) do if (deviceName=='HVAC-Temp') then if (tonumber(deviceValue) < tonumber(otherdevices_temperature[''])) then commandArray['HVAC-Mode'] = 'Set Level: 10' --"Cool" else commandArray['HVAC-Mode'] = 'Set Level: 20' --"Heat" end commandArray['HVAC'] = "On" end end return commandArray 

Skrip ini membandingkan suhu pengaturan AC dan suhu dari sensor "Ruang" untuk memilih mode yang benar - "pendinginan" atau "pemanasan".

Daya HVAC:

 commandArray = {} for deviceName,deviceValue in pairs(devicechanged) do if (deviceName == 'HVAC') then if deviceValue == "Off" then print('  ') commandArray['HVAC-Mode'] = 'Set Level: 0' --"Off" else if (tonumber(otherdevices['HVAC-Temp']) < tonumber(otherdevices_temperature[''])) then commandArray['HVAC-Mode'] = 'Set Level: 10' --"Cool" else commandArray['HVAC-Mode'] = 'Set Level: 20' --"Heat" end end end end return commandArray 

Skrip ini memantau status sakelar AC "umum" dan memilih mode operasi yang diinginkan saat menghidupkan atau mematikan AC.

Dan skrip utama HVAC terakhir:

 commandArray = {} local cmnd for deviceName,deviceValue in pairs(devicechanged) do if (deviceName=='HVAC-Mode' or deviceName=='HVAC-FanSpeed' or deviceName=='HVAC-Temp') then if (otherdevices['HVAC-Mode']=='Off') then cmnd = 'http://10.40.20.254/cm?cmnd=IRhvac{"Protocol":"COOLIX","Power":"Off"}' else cmnd = 'http://10.40.20.254/cm?cmnd=IRhvac{"Protocol":"COOLIX","Power":"On","Mode":"'..otherdevices['HVAC-Mode']..'","FanSpeed":"'..otherdevices['HVAC-FanSpeed']..'","Temp":'..otherdevices['HVAC-Temp']..'}' end print(cmnd) os.execute("wget '"..cmnd.."'") end end return commandArray 

Tapi skrip ini yang paling penting. Ini menghasilkan perintah yang benar dengan parameter yang diperlukan dan mengimplementasikan permintaan GET ke gateway. Jangan lupa untuk memperbaiki alamat IP gateway Anda di dalamnya.

Sebenarnya, itu saja. Anda dapat mengganti antarmuka Domoticz ke tab yang sesuai dan "tekan tombol" untuk mengontrol AC. Jika semuanya dilakukan dengan benar, sistem pendingin udara akan dikontrol sesuai kebutuhan.


Fitur


Opsi ini melalui gateway IR memiliki satu kelemahan - kurangnya umpan balik. Yaitu jika seseorang menggunakan remote control standar, maka status di Domoticz tidak akan berubah dan akan menampilkan informasi yang tidak lagi relevan.

Secara umum, ini tidak terlalu mengganggu (terutama jika Anda tidak menggunakan remote control IR, tetapi hanya menggunakan kemampuan UD).

Anda dapat, tentu saja, memantau dengan gateway IR yang perintah dikirim melalui IR (gateway mengirimkan informasi ini melalui MQTT) dan memprogram lebih sedikit sehingga bahkan ketika menggunakan remote control standar, status dan parameter saat ini diatur dalam sistem DD.

Tetapi sementara saya tidak punya waktu untuk ini, dan saya juga tidak memiliki kebutuhan khusus (lebih mudah untuk "melihat" ke dalam sistem pengawasan video dan melihat apakah AC dihidupkan).

Lalu?


Secara alami, kita tidak berhenti di situ.

Minimal, implementasi manajemen saat ini sudah jauh lebih fungsional daripada opsi "untuk yang terkecil".

Setelah "meneruskan" AC di Domoticz, saya juga mengendalikan Siri:

Setelah kesempatan muncul untuk mengontrol sistem UD (dan terutama, suara melalui Siri), kebutuhan untuk menggunakan remote IR standar menghilang.

Dalam waktu dekat, kami akan menulis skrip "musim dingin" yang, jika tidak ada pemilik dan pada suhu "luar" setidaknya -10, gunakan sumber daya AC untuk menghangatkan rumah (lebih hemat energi dalam mode ini daripada lantai yang dipanaskan dengan listrik, tetapi kurang nyaman), dan ketika pemilik kembali, mereka kembali beralih ke pemanas di bawah lantai.

Tentu saja, akan ada skrip "musim panas" yang secara otomatis akan mengaktifkan mode pendinginan dan mempertahankan suhu yang ditetapkan rumah.

Secara alami, semua kasus penggunaan yang mungkin hanya dibatasi oleh imajinasi. Jangan menahan;)

Bagian III?


Saat ini, modul WiFi yang diumumkan untuk mengendalikan AC belum muncul.

Jika ada waktu (malam musim dingin yang panjang), saya akan mengambil pendekatan lain untuk modul antarmuka pendingin udara dan masih mencoba untuk "menangkap" perintah pendingin udara internal.

Jadi ... tetap disini!

Source: https://habr.com/ru/post/id473680/


All Articles