Terkadang pada hari Jumat fiksi dianggap dapat diterima di sini. Hari ini, tentu saja, bukan hari Jumat, tetapi ini bukan fiksi, melainkan tiga novel mini yang ada hubungannya dengan hidup saya.Pembaca yang tergesa-gesa mungkin juga bertanya-tanya hubungan apa yang sebenarnya dapat menghubungkan interkom dan penyedia Internet. Dan itu akan benar, karena saya juga tidak segera sampai pada masalah ini.Tapi tentang segalanya (Arduino, hacks kehidupan dangkal, pertengkaran telepon) dalam rangka.Sim-sim, buka!
Sejujurnya, remote control interkom menurut versi saya hampir tidak berguna, dan saya sepenuhnya menyadari ini bahkan sebelum saya mulai. Karena itu, untuk membenarkan upaya tersebut, saya harus menggunakan semua kekuatan imajinasi untuk menghasilkan beberapa kasus, seperti yang mereka katakan ,.Untuk mulai dengan, saya memutuskan bahwa dengan cara ini saya akan membiarkan para tamu menghangat di teras, jika saya belum berhasil berlari pulang. Atau saya tidak akan terlalu repot untuk mendapatkan kunci di muka - Anda hanya dapat mengatur telepon sehingga memberikan perintah untuk membuka pintu ketika saya sampai di rumah.Bagi orang awam itu terdengar sangat liar, tetapi seperti yang mereka katakan, per aspera ad astra.Dan saya benar-benar ingin entah bagaimana menggunakan beberapa relay dalam kasus ini, yang telah menganggur di pengontrol pusat sejak awal operasinya. Faktanya, situasinya konyol: pada saat itu hanya ada satu blok untuk 4 relay yang hanya membutuhkan dua. Dan saya tidak ingin menunggu satu bulan lagi untuk blok dua-relay, jadi saya mengumpulkan dari apa yang ada di tangan dan segera mulai khawatir tentang redundansi.Namun, untuk interkom. Secara umum, pembukaan otomatis sistem interkom bukanlah hal yang eksklusif. Sebagai contoh, di sini di Geektimes, kawan Kembali pada tahun 2013 (ketika dolar adalah 30), Cluster membuat tidak hanya remote control, tetapi juga mesin penjawab untuk para tamu .Sejauh ini ini adalah hal paling keren yang pernah saya lihat di kelas ini.Namun jauh sebelumnya, pengunjung RadioKota dan banyak forum tematik lainnyabersenang-senang dengan perangkat seperti "pembuka" - membuka interkom segera saat ada panggilan.Saya tidak akan mengulangi salah satu atau yang lain. Yang pertama - karena sulit, dan karena saya sudah memiliki pengontrol yang berfungsi, yang saya rencanakan untuk memberikan kekuatan baru. Yang kedua karena alasan yang lebih jelas: terlalu banyak detail dan terlalu sedikit akal, saya minta maaf jika saya menyinggung penulis.Akal, tentu saja, untukku, dan tidak sama sekali. Artinya, saya pasti tidak suka skema, yang dengan ramah membuka pintu bagi siapa saja yang memanggil nomor apartemen.Oleh karena itu persyaratan dasar untuk pembuka saya:1) Menggunakan pengontrol pusat untuk mengontrol melalui Internet dan radio2) Perlindungan minimal terhadap akses tidak sah3) Gangguan minimal pada interiorMulai
Saya mulai dengan membiasakan diri dengan prinsip pengoperasian interkom, yang saya pinjam di sini :Tabung bekerja sangat sederhana: ketika tabung diletakkan, ia memiliki resistansi 50 Ohm, ketika tabung dilepas, resistannya kira-kira. 400 Ohm, ketika tombol pelepas kunci ditekan, hambatan diukur dalam kilo-ohm ... Ketika tidak ada panggilan, tidak ada tegangan di saluran. Ketika ada panggilan masuk dan handset mengalirkan arus besar dan voltase ternyata kecil 5-7V, ketika handset tidak ada dan resistansi dipanggil hingga tak terbatas dan tegangannya maks. 15V saat handset mati tegangan sekitar 10V. Ketika tombol tegangan ditekan, maksimumnya sekitar. 15V - menekan tombol sama dengan jeda baris.
Dalam kasus Digital, ini sedikit berbeda, karena dokumentasi untuk handset, tetapi saya punya KM-2NO (omong-omong, saya mengucapkan terima kasih kepada Digital untuk menerbitkan skema) menunjukkan:1. Konsumsi arus dalam mode "Talk" 18-22 mA
2. Tegangan sejalan dengan tabung yang dipasang pada rumahan 1.5–2.5 V
3. Tegangan sejalan dengan tabung yang ditinggikan 5.8–6.5 V
Oleh karena itu, saya berkenalan lebih detail dengan diagram sirkuit pipa saya:
Dan saya menemukan bahwa semuanya persis sama dalam hal resistensi, dan kemungkinan besar, sisa logika Digital hampir tidak berbeda dari Kunjungan.Saya menarik perhatian pada kenyataan bahwa modifikasi saya tanpa LED. Tapi ini ternyata benar, karena fakta ini membuatnya sangat mudah untuk mengirimkan informasi panggilan ke pengontrol pusat.Yaitu: panggilan berbunyi, LED "menyala", optocoupler menyala, pada pin pengontrol kami memiliki perubahan level dari tinggi ke rendah.Jadi alih-alih LED, saya memasang optocoupler 4N35 saya, yang hasilnya saya kirim langsung ke Arduino. Menurut skema standar dari Internet yang sama:
Dan karena saya ingin bertahan dengan detail minimum dan sumber daya pengontrol yang tersedia, yang pin digitalnya ternyata paling berharga (Uno tidak punya cukup banyak), daripada resistor pull-up 10K, saya menggunakan resistor pull-up Arduino bawaan.Saat terhubung ke pin digital, tampilannya seperti ini:#define ringPin _
pinMode(ringPin, INPUT_PULLUP);
Saat terhubung ke pin analog:#define ringPin _
pinMode(ringPin, INPUT);
digitalWrite(ringPin, HIGH);
Saya memutuskan untuk menempatkan optron dari mikrokontroler. Saya tidak bisa membenarkannya, tetapi saya pikir ada sedikit risiko positif palsu dari kemungkinan pengambilan. Mungkin saja dia salah, tapi sejauh ini semuanya normal dengan tip mereka tidak.Adapun bumi dalam contoh di atas, Anda perlu memahami: meskipun bumi tampaknya umum dalam diagram, ini tidak begitu - pada kenyataannya, sebenarnya ada isolasi optoelektronik. Nah, untuk itu dia adalah contoh.Singkirkan aku!
Keputusan untuk sepenuhnya menghilangkan sirkuit interkom tidak datang dengan segera, tetapi mau tidak mau. Ngomong-ngomong, saya sangat ingat kasus enam tahun lalu, ketika saya menyaksikan bagaimana momen canggung dengan kunci elektromagnetik terbentuk selama pemasangan ACS.Saya tidak tahu bagaimana itu terjadi, tetapi ternyata kastil itu entah bagaimana berfungsi. Itu "merangkak", maka tidak ada sama sekali, dan installer sendiri sudah mematahkan kepala mereka. Tetapi pada akhirnya disarankan bahwa mereka memiliki hubungan pendek yang tidak terduga di suatu tempat (atau sesuatu seperti) di sirkuit kontrol. Tentu saja, kami memeriksa semuanya, tentu saja, tanpa banyak keberhasilan, karena semuanya diatur dengan jelas sesuai instruksi.Minyak ditambahkan ke api oleh fakta bahwa kunci yang sama persis dalam konfigurasi yang persis sama, tetapi bekerja dengan baik di lantai lain.Berapa lama, secara singkat, mereka memutuskan bahwa masalahnya ada di pintu itu sendiri, di mana kunci terpasang. Menurut pendapat saya, mereka menyarankan bahwa ketika dipasang, mereka masuk ke armature, yang kemudian dibumikan, yang menyebabkan efek yang tak terduga pada kunci (yang, mungkin, memiliki kunci kontrol untuk kasus ini).Secara umum, mereka memilah cukup lama dan membosankan. Dan saya tidak ingin mengulangi hal yang sama di rumah.Oleh karena itu, saya tidak menyimpan kabel dan menghubungkan kontak relai dengan cara paling sederhana:1) Biasanya menutup satu relai - secara seri dengan tombol naik SW1 (karena tombol ini ditutup dalam keadaan normal)2) Biasanya membuka relai lain - secara paralel dengan tombol buka pintu SB1 ( karena tombol ini biasanya terbuka)Relay kontak kontrol, tentu saja, terhubung ke pin digital mikrokontroler yang bebas (hore, masih).Secara total, mudah untuk membayangkan bahwa butuh enam kabel: dua untuk optocoupler dan empat lagi untuk relay.Saya minta maaf atas primitivisme ilustrasi:Dari interkom

Oleh Arduino
Relay di sini ditampilkan secara skematis secara eksklusif. Karena, saya ulangi, saya menggunakan modul relay siap pakai dengan isian penuh - optocoupler, transistor, dioda, dan sebagainya. Saya sangat menyarankan untuk tidak menghubungkan relay kosong ke Arduino.... dan jangan panggil aku lagi!
Sudah pada tahap ini, saya dapat dengan mudah membuka doorphone melalui Internet atau jaringan area lokal dari komputer atau smartphone sesuai dengan prinsip berikut:1) Pada saat doorphone berdering, controller masuk ke mode perizinan untuk membuka pintu selama 40 detik. Waktu dipilih berdasarkan dokumentasi untuk doorphone Digital, di mana ditunjukkan bahwa durasi sinyal panggilan tepat 40 detik.Yaitu untuk waktu yang lebih lama, tidak ada gunanya tetap terbuka secara kondisional.2) Setelah menerima perintah terbuka melalui Internet (HTTP POST), pengontrol secara berurutan mengalihkan relai. Pertama, ia membuka relai tabung, yang mensimulasikan kenaikannya. Kemudian, setelah jeda singkat, relai tombol pembuka ditutup, dengan demikian mensimulasikan penekanannya. Setelah - "melepaskan" tombol dan "menutup" telepon.Bangku tes sangat primitif:
Adalah mungkin untuk menghentikan ini jika saya, sebagai pemilik KTsDV-12-2 yang bangga , tidak menyadari betapa merepotkannya - untuk berjalan di sekitar kendali jarak jauh atau telepon setiap kali ketika Anda perlu menghidupkan / mematikan sesuatu.Dan, khususnya, jika saya baru saja menyelesaikan stasiun cuaca desktop dengan layar sentuh dan, sepertinya, potensi belum sepenuhnya berkembang.
Singkatnya, saya dengan cepat (sebenarnya tidak) menambahkan ke stasiun cuaca pemancar 433 MHz paling umum dan vulgar dengan modulasi amplitudo, yang banyak dijual di Aliexpress dengan harga yang tidak masuk akal.Akibatnya, stasiun cuaca telah menjadi titik kontrol lain untuk interkom, dan oleh karena itu, jika bel berbunyi dan Anda duduk di sebelahnya, maka tidak ada gunanya memutus handset, karena langsung dari layar Anda dapat:1) Buka kunci2) Angkat handset dan perlahan-lahan (sesuai dengan dokumentasi, percakapan berlangsung 1,5 menit versus 40 detik panggilan), buka interkom, jawab dan putuskan apakah akan dibuka atau tidak3) Jawab panggilan (controller mengambil dan segera "Tutup telepon")Untuk ini, tentu saja, saya harus sedikit memodifikasi kode dan antarmuka stasiun cuaca, tetapi di sepanjang jalan saya menemukan di mana ada kesalahan yang mengganggu dalam tampilan grafik (ternyata, saya punya DNA, tetapi ini adalah cerita yang berbeda).Antarmuka baru, omong-omong, sekarang tidak terlihat seperti HAL sama sekali. Sekarang, semuanya sangat berwarna dan lucu sehingga Anda hanya perlu tertawa. Dan Anda tahu, paham: Saya tidak minum smoothies, hipsters tidak menggigit saya, tidak ada lamberseks dalam keluarga, dan materi menarik saya tidak seperti sebelumnya dalam hidup saya:
Layar ini menggantikan data iklim ketika interkom berdering: pada saat ini, pengontrol pusat mengeluarkan perintah radio, yang ditanggapi oleh tampilan cuaca.Ini mungkin sedikit tidak masuk akal di sini, tetapi bel di pusat utamanya memberi tahu Anda tentang panggilan interkom. Menekannya (tidak logis di sini) mematikan suara interkom dengan cara yang paling biadab - dengan meniru proses menaikkan dan menurunkan handset.Kastil di sebelah kiri adalah bukaan kastil. Handset di sebelah kanan - mengambil handset untuk mensimulasikan awal percakapan.Layar berubah menjadi yang utama setelah 40 detik dari awal panggilan, dan tidak langsung dengan menekan tombol ikon. Ini memungkinkan Anda untuk menekan beberapa kali jika controller tiba-tiba tidak "mendengar" perintah, yang tidak biasa diberikan jenis saluran radio yang digunakan.Algoritma
Seperti yang saya sebutkan, pada awalnya saya sederhana dan hanya menginginkan satu hal: untuk membuka interkom sesuai perintah dari telepon, dan pada saat panggilan.Tetapi setelah bermain beberapa hari, saya menyadari bahwa berdiri di depan interkom dan menusuk layar adalah tugas yang agak membosankan, dan itu jauh lebih menarik untuk memungkinkan pembukaan "tertunda" ketika Anda baru saja mendekati pintu masuk. Kemudian tinggal memanggil nomor apartemen di panel doorphone dan voila, pintunya terbuka.Akhirnya, saya berpikir bahwa dalam situasi ini, mungkin masuk akal untuk membuat larangan pembukaan - secara umum.Tapi kemudian dia menyatukan dirinya, lalu melepaskan dirinya sendiri, mengambil alat yang lebih berguna, yang populer disebut pisau cukur Occam, dan dengan cepat menyingkirkan entitas tambahan. Yaitu: karena saya sedang melakukan remote control, itu bukan untuk mematikannya. Karena itu - shutdown tidak diperlukan sama sekali.Kedua, menurut pemikiran sadar (dan tidak seperti biasanya), ternyata tidak ada perbedaan khusus antara pembukaan oleh perintah langsung pada saat panggilan atau dengan perintah yang diberikan.Akhirnya, kembali ke ergonomi kontrol, saya ingin mengatakan bahwa semakin banyak mode - semakin sedikit orang biasa akan menggunakannya. Ya di sana, saya bosan, tetapi ketika saya membayangkan bahwa saya memiliki tiga mode untuk kesempatan yang berbeda, saya menyadari bahwa saya masih akan menggunakan satu.Oleh karena itu, mode adalah satu dan perintahnya adalah satu, dan ada dua prosesor:1) Jika interkom berdering, pengontrol memungkinkan pembukaan dalam waktu 40 detik sejak dimulainya panggilan2) Jika perintah pembuka diterima terlebih dahulu, pengontrol memungkinkan pembukaan dan menunggu panggilan dalam N menit dari saat perintah diterima (ini adalah untuk mempersiapkan interkom untuk membuka dalam perjalanan ke rumah) Adadua sumber perintah pembukaan:1) HTTP POST- permintaan melalui jaringan lokal atau Internet (misalnya: myserver.com/?sim-sim-openup ), yaitu Anda dapat membuka setidaknya dari Kuala Lumpur2) Perintah radio dari panel atau tombol rumah (dalam implementasi saya, melalui perpustakaan RC-Switch )Dan karena seluruh struktur terhubung ke handset tanpa mempengaruhi fungsinya, interkom dapat terus digunakan dengan cara biasa (bell-handset-hi-hi-button), mis. domestik, tidak mampu menghargai manfaat kemajuan teknologi, dan tidak diharuskan untuk mempelajari detailnya.Bonus mendadak
Bahkan jika Anda tidak menggunakan fungsi pembuka pintu, sekarang ternyata pengontrol secara teratur memberi tahu bahwa seseorang sedang menggaruk pintu masuk melalui interkom. Bagi saya, sebagai orang yang ingin tahu, informasi ini bukan tanpa minat - dan sekarang saya menerimanya secara teratur.Lebih penting lagi, fungsi ini terus berfungsi bahkan jika Anda mematikan handset doorphone dengan saklarnya. Secara potensial, ini berarti bahwa sekarang ada lebih sedikit kesempatan untuk membiarkan interkom dinonaktifkan, jika Anda tiba-tiba perlu untuk sementara waktu mengecualikan kemungkinan panggilannya.Sayangnya, sirkuit interkom sedemikian rupa sehingga ketika dimatikan, menjadi tidak mungkin untuk mengontrol kunci dari jarak jauh (tampaknya unit pusat menganggap bahwa dalam kasus ini handset "digantung", terlepas dari posisi aktualnya).Dan lansekap
Karena saya berusaha untuk gangguan minimal di interior, saya harus membuat keputusan bagaimana menghubungkan ke pengontrol pusat, dengan dasar bahwa pengontrol dan doorphone berada di sisi pintu yang berbeda, dan pengontrol memiliki listrik, tetapi doorphone tidak.
Pada akhirnya, saya memutuskan bahwa akan lebih baik untuk meregangkan kabel di belakang kusen pintu dan menutup fragmennya dengan panel dekoratif yang dicetak pada printer 3D daripada menempati outlet lain dengan catu daya, tidak jelas bagaimana cara menarik kawatnya ke handset doorphone dan memblokir saluran radio antara handset dan controller.
Dan saya pikir dalam kondisi saya ini adalah pilihan terbaik. Ya, dan estafet masuk ke bisnis, tetapi dengan saluran radio - lagi akan tetap dalam cadangan.Remapping Nextion
Berbicara tentang tampilan cuaca desktop (stasiun cuaca, jika Anda mau), saya menyebutkan bahwa selama proses finishing saya berhasil merusak komponen utama - layar sentuh Nextion itu sendiri.Kerusakan tidak mempengaruhi pengoperasian mikrokontroler on-board dan tampilan data, tetapi panel sentuh hampir gagal. Namun, secara eksperimental, saya mengetahui bahwa meskipun Anda tidak terlalu menekan papan Nextion di tempat tertentu, dengan cara ini Anda dapat mengembalikan sensitivitas bagian kiri (sekitar) setengah layar.Trik ini berfungsi tidak stabil dan tidak selalu, tetapi cukup sering sehingga saya bisa tahan dengan itu, berpikir tentang memesan layar baru.Tentu saja, ini membuatku bahagia dan sedih. Di satu sisi, adalah mungkin untuk mencapai operabilitas parsial. Di sisi lain, saya ingin bermain sedikit lebih banyak dengan grafik. Dan kemudian saya tiba-tiba menyadari betapa jebakannya saya: untuk suatu alasan saya terobsesi menggunakan seluruh area layar, ketika saya bisa dengan bebas memindahkan tombol "tidak berfungsi" ke area kerja.Saya mengerti bahwa bagi banyak orang ini benar-benar keputusan yang biasa. Tapi saya ingin berbagi kebahagiaan yang tidak bersalah dengan mereka yang, seperti saya, suka pergi ke ekstrem.Jadi, saya mengetahuinya, sedikit mengubah ukuran tombol, menggambar sirkuit kontrol virtual baru di kepala saya dan voila! Kami memiliki fungsi yang hampir sepenuhnya pulih dari tampilan yang terbunuh sebagian.Itu adalah
:
Namun, di sepanjang jalan, saya harus membunuh seorang perfeksionis dalam diri saya sendiri dan mengulangi layar kendali layar ponsel asli menjadi yang berfungsi minimal:
Hidup
Ketika dukungan teknis bukan bir
Tampaknya pada semua pasang surut ini akan mungkin untuk menyelesaikan, jika tidak untuk satu detail: Tiba-tiba saya menemukan bahwa interkom (dan di belakangnya sisa otomatisasi) berhenti dikontrol ketika mengakses dari jaringan eksternal.Artinya, semua perintah bekerja dengan sempurna ketika terhubung ke Internet melalui jaringan rumah dan ke alamat eksternal (dan tidak sesuai dengan tipe internal 192.xxx.xxx.xxx), tetapi mereka sama-sama dengan sempurna menolak untuk dieksekusi dari jaringan operator lain (saya mencoba dua).Anda harus segera memahami bahwa perintah dikirimkan melalui permintaan HTTP ke port eksternal khusus router, dan dari sana perintah tersebut sudah dialihkan ke IP dan port internal yang diperlukan.Dan skema ini telah bekerja tanpa masalah sekecil apa pun sejak diluncurkan pada 2013 hingga sesuatu yang rusak pada saat ini. Dan saya masih yakin itu bukan salah saya. Tapi saya tidak tahu cara memeriksanya.Sebenarnya, pada awalnya saya ingin bersumpah dengan Beeline, karena pada awalnya saya berpikir bahwa masalahnya ada di Internet seluler. Tetapi kemudian saya menyatukan diri, menemukan penyedia lain, mencobanya dan menemukan bahwa melalui masalah yang sama.Lalu aku menelepon Onlaym dan, sebisaku, menjelaskan inti dari klaim itu. Dan sebagai tanggapan, mereka menjelaskan kepada saya secara populer bahwa::
TCP/25 – -;
TCP/135-139, TCP/445 UDP/135-139 – , MS Windows;
TCP/23, TCP/161, UDP/69 UDP/161– .
, , .
Saya, pada gilirannya, bersikeras bahwa port saya a) tidak termasuk dalam kisaran ini, b) tidak berfungsi, seperti yang diharapkan dan c) saya tidak mengubah apa pun.Bagaimana dengan dinding kacang polong.Nah, apa yang harus saya lakukan, maka saya dengan sopan menjelaskan bahwa walaupun saya mengerti bahwa 450 rubel saya yang malang sebulan tidak akan melakukan cuaca untuk mereka, saya akan pergi dari omong kosong seperti itu untuk mencari omong kosong yang sama, tetapi setidaknya itu berhasil.Sebagai tanggapan, mereka bergumam lagi bahwa mereka memberi saya IP, dan kemudian semua masalah saya. Yah milikku, aku memutuskan, lalu milikku. Dan dengan keputusan yang berkemauan keras, saya pertama kali memeriksa operabilitas sistem pada port lain (bergeser ke unit) - itu berhasil. Dan kemudian dia membuat konfigurasi fleksibel nomor port di Tasker, di mana, pada kenyataannya, kemudi otomatis.Sebenarnya, untuk apa yang saya jelaskan tentang penderitaan saya: Saya secara objektif benar-benar ingin memahami siapa yang salah dalam situasi seperti itu. Karena saya merasa seperti orang tolol - saya me-reboot router dan memeriksa pengaturan (apalagi, atas inisiatif saya sendiri, dan bukan atas permintaan "spesialis"), dan mereka tetap mengirim saya ke neraka, mengisyaratkan tangan saya yang bengkok.Layar mati
Kesimpulannya, yang saya gunakan untuk pembangunan abad ini:1) KTSDV-12-2 - 1 pc.2) Handset doorphone Digital KM-2NO - 1 pc.3) Optocoupler 4N35 - 1 pc.4) Kabel flat 10 core (digunakan enam, tetapi meletakkan semuanya - untuk berjaga-jaga) - 3 m.5) Konektor ke kabel - 2 pcs. ayah dan ibu6) Tampilan cuaca buatan rumah dengan layar sentuh Nextion - 1 pc.7) 433 MHz pemancar ( dari kit seperti ini ) untuk memodifikasi tampilan cuaca - 1 pc.8) 1 kΩ resistor untuk optocoupler - 1 pc.Pilihan:Antarmuka yang diperbarui untuk NextionKode uji (sebelum diintegrasikan dengan KTSDV-12-2 dan buket lengkap fungsi layanan, hanya untuk memahami alur pemikiran)#include <RCSwitch.h> // http://code.google.com/p/rc-switch/
#define ringTimeOut 40000
#define openTimeOut 300000
#define handsetPin A3
#define openPin A4
#define ringPin 7
#define ringCode 360500
#define doorBell 3395840
#define openCode 255899
#define openDelay 1500
#define handsetDelay 2500
#define txPin 8
unsigned long ringTime, openTime;
boolean ring = false;
boolean ringRepeat = false;
boolean allowOpen = false;
RCSwitch mySwitch = RCSwitch();
void openDoor() {
digitalWrite(handsetPin, LOW);
delay(handsetDelay);
digitalWrite(openPin, LOW);
delay(openDelay);
digitalWrite(openPin, HIGH);
digitalWrite(handsetPin, HIGH);
ring = false;
allowOpen = false;
}
void setup() {
Serial.begin(9600);
mySwitch.enableTransmit(txPin);
mySwitch.enableReceive(0);
pinMode(handsetPin, OUTPUT);
pinMode(openPin, OUTPUT);
pinMode(ringPin, INPUT_PULLUP );
digitalWrite(handsetPin, HIGH);
digitalWrite(openPin, HIGH);
Serial.println("Ready");
}
void loop() {
if (digitalRead(ringPin) == LOW && ring == false) {
ring = true;
ringTime = millis();
mySwitch.send(ringCode, 24);
Serial.println("Sent ringCode");
if (ringRepeat == true) {
mySwitch.send(doorBell, 24);
Serial.println("DoorBell repeat");
}
Serial.println("Ring-ring!");
}
if ((millis() - ringTime) > ringTimeOut && ring == true) {
ring = false;
Serial.println("Ring reset");
}
if (ring == true && allowOpen == true) {
openDoor();
Serial.println("Door opened via net");
}
if (ring == false && allowOpen == true) {
if ((millis() - openTime) > openTimeOut) {
allowOpen = false;
}
}
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value != 0) {
Serial.println(mySwitch.getReceivedValue());
switch (mySwitch.getReceivedValue()) {
case openCode:
if (ring == true) {
mySwitch.disableReceive();
openDoor();
Serial.println("Door opened via radio");
mySwitch.enableReceive(0);
}
break;
}
mySwitch.resetAvailable();
}
}
}
Saya mengambil gambar untuk antarmuka di situs web Pixabay yang indah .