Daftar Isi:
- Perlengkapan
- Langkah 1: Atur Router Anda (opsional, Tapi Disarankan)
- Langkah 2: Kode
- Langkah 3: Perangkat Keras (beta)
- Langkah 4: Outlook/Referensi
Video: [15mnt] Indikator Weasley Clock / Who Is Home - Berdasarkan TR-064 (beta): 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
PEMBARUAN: Lihat langkah 3.
Cerita panjang (TL; DR di bawah): Beberapa waktu lalu saya menulis skrip bash kecil di komputer saya yang akan memindai jaringan untuk perangkat terdaftar dan membandingkan nama host mereka dengan daftar dengan nama terkait. Setiap kali perangkat akan masuk atau keluar jaringan, saya akan mendapatkan pemberitahuan. Seperti ini, saya punya ide siapa yang ada di rumah (tidak hanya menyenangkan mengetahui siapa yang ada di rumah untuk bertanya apakah mereka ingin bergabung dengan makan atau semacamnya, tetapi juga berpotensi membantu Anda menghindari situasi canggung). Masalahnya adalah, bahwa metode ini tidak terlalu dapat diandalkan. Sayangnya beberapa perangkat tidak membalas ping (misalnya ponsel cerdas) dan tampaknya beralih ke mode hemat daya sehingga tidak dapat dideteksi secara andal dengan perintah seperti nmap. Saya mencoba mengatasi ini dengan meminta setidaknya 10 negatif sebelum akhirnya mengumumkan bahwa perangkat meninggalkan jaringan. Secara keseluruhan itu berhasil, tetapi lambat, tidak dapat diandalkan, dan tidak terlalu baik. Saya juga ingin dapat memeriksa siapa yang ada di rumah, tanpa membuka komputer saya. Jadi saya memiliki ESP8266 yang tergeletak di sekitar - dan ingin bermain dengan mereka. Tapi saya tidak ingin membangun stasiun cuaca berbasis ESP 10.120.124.812 atau semacamnya (mengapa Anda ingin memantau cuaca dengan termometer ±2°C jelek Anda ketika Anda hanya dapat mengunjungi beberapa situs web?). Jadi rencana itu dibuat. Sayangnya ternyata ESP tampaknya tidak dilengkapi untuk melakukan ping dengan benar (yang awalnya buruk, ingat?) apalagi melakukan pemindaian jaringan penuh. Saya mempertimbangkan untuk menulis beberapa perpustakaan untuk itu - tetapi karena C++ saya sangat terbatas, ini adalah proyek ESP pertama saya dan saya bukan seorang jenius dengan hal-hal jaringan, saya membatalkan ide itu. Setelah melakukan riset, saya menemukan, bahwa saya router (merek Fritz!Box) sebenarnya memiliki API! YA!!!! Protokolnya disebut TR-064. Nama yang menginspirasi, kan? Melakukan penelitian tentang masalah ini, saya menemukan dokumentasi online (agak jelek). Butuh beberapa waktu untuk menyelesaikannya. Saya mungkin memposting lebih banyak instruksi langsung di hari-hari berikutnya (dan cara berkomunikasi dengan/menguji API ini menggunakan addon browser). Setelah saya memahami API, saya mulai menggunakannya dari ESP saya. Singkat cerita: Saya menjalankan solusi duck-tape-and-wd40 dan melakukan apa yang saya inginkan (meminta API untuk perangkat yang terhubung, membandingkannya dengan daftar alamat MAC dan mengganti LED yang sesuai). Tetapi saya menginginkan yang lebih kuat dan solusi fleksibel dan API ini memiliki lebih banyak untuk ditawarkan (Anda dapat mengubah pengaturan (menghidupkan/mematikan wifi, mengubah kata sandi, membuka/menutup wifi tamu, mengubah kekuatan sinyal), restart router, menanyakan kecepatan koneksi, …) - jadi saya memutuskan untuk membuat perpustakaan TR-064 universal!TL;DR;Perangkat yang menunjukkan melalui LED yang saat ini ada di rumah. Berfungsi dengan baik, belum memiliki perumahan yang bagus (hei - perhatikan beta dalam judul?). Menggunakan protokol SOAP untuk berkomunikasi dengan router. Menulis perpustakaan Arduino untuk mewujudkannya. Pengetahuan yang diperlukan• Pengetahuan dasar Arduino/ESP• Jika Anda mengumpulkan contoh Blink dengan ESP Anda, Anda akan baik-baik saja!• Jika tidak, Anda dapat mengikuti dua langkah pertama dari instruksi ini• Solder mungkin berguna, jika Anda ingin meninggalkan tahap papan tempat memotong roti• Beberapa desain 3D dan/atau pengerjaan kayu mungkin berguna untuk tautan proyek housingGithub [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] untuk referensi cepat.
Perlengkapan
- ESP8266 atau ESP32 pada Development-Board atau dengan programmer lain (2~6€)
- Kabel USB sesuai dengan programmer
- Adaptor daya (mis. USB atau baterai ~2€)
- Beberapa LED dan resistor (~1€)
- (Selubung)
=> Sekitar 4-6€ untuk desain minimal. Itu berarti bagi saya, saya dapat dengan mudah menggantung beberapa di sekitar rumah. Jika Anda malas, Anda juga dapat menggunakan papan pengembangan dengan LED yang disertakan (lihat langkah 4 untuk detail lebih lanjut).
Langkah 1: Atur Router Anda (opsional, Tapi Disarankan)
Protokol ini dirancang sebagai protokol umum untuk router, tetapi saya hanya tahu bahwa (sebagian besar) router Fritz!Box (sangat umum setidaknya di Eropa) menggunakannya. Tidak tahu tentang merek lain. Jadi saya akan berasumsi, bahwa Anda menggunakan Fritz!Box. Jika Anda dapat membuat ini berfungsi (atau gagal melakukannya) di router lain, saya akan dengan senang hati menambahkannya ke instruksi ini (bahkan mungkin memulai daftar kompatibilitas singkat?).
Langkah ini tidak perlu, Anda juga bisa menggunakan akun admin Anda, tetapi itu tidak disarankan karena alasan yang jelas (mungkin disadap atau diekstraksi dari ESP Anda, Anda mungkin secara tidak sengaja mengubah hal-hal yang tidak Anda inginkan, …) - jadi saya menyarankan Anda untuk melakukannya.
Bagaimanapun, ini dia:
- Masuk ke Fritz!Box Anda dengan mengetikkan fritz.box di url-bar browser favorit Anda.
- Temukan halaman untuk membuat pengguna FRITZ!Box baru (Anda harus memilikinya di bagian Sistem, jika Anda tidak dapat menemukannya, coba perbarui perangkat Anda).
- Buat akun baru seperti yang Anda lihat di gambar (menggunakan nama pengguna/kata sandi yang berbeda!).
- Keluar.
Langkah 2: Kode
-
Anda bisa mendapatkan perpustakaan dari Github.
- Dalam contoh Anda akan menemukan file bernama home-indicator.ino, yang merupakan kode untuk proyek ini. Tempatkan folder contoh di folder rumah proyek arduino IDE Anda dan folder lainnya ke dalam folder perpustakaan di folder rumah proyek yang sama.
- (Re) Mulai Anda IDE.
- Buka home-indicator.ino di IDE dan masukkan pengaturan Anda. Seharusnya cukup jelas apa yang terjadi di mana. Jika Anda memiliki pertanyaan, beri tahu saya!
- Sekarang Anda dapat mengkompilasinya dan mentransfernya ke ESP Anda!
Langkah 3: Perangkat Keras (beta)
Ya… Ini adalah langkahnya, di mana saya masih harus bekerja lagi. Tapi saya kira ada cukup bahan di web untuk mencari tahu:) Pengaturan seperti pada gambar hanyalah dioda dengan resistor ~100Ohm yang dihubungkan ke GPIO{5, 4, 0, 2}, yang merupakan D1, D2, D3, D4 (dalam urutan itu) pin papan MCU ESP8266 saya dan kabel oranye kecil yang membawa katoda ke GND (bertanda G di papan saya). Jika Anda malas, Anda dapat melakukan apa yang Anda lihat pada gambar kedua. Cukup gunakan papan pengembangan dengan LED yang disertakan (seperti "ESP-202", lihat gambar - sekitar 3,50-5,00€ termasuk pengiriman). Anda kemudian dapat menghubungkannya ke daya USB atau menggunakan baterai yang disertakan, menggambar antarmuka di selembar kertas dan menempelkannya ke dinding. Selesai. Untuk papan khusus ini, portnya adalah:
int userPins[numUser] = {5, 4, 2, 14, 16};
dari atas ke bawah.
Langkah 4: Outlook/Referensi
Inilah yang masih saya rencanakan: 1. Membuat housing yang bagus (jelas) 2. Menambahkan GUI yang bagus untuk mengelola pengguna/LED/MAC/perangkat yang dikenal 3. Meningkatkan perpustakaan (lihat Github untuk itu) 4. Perbaiki: terkadang LED bereaksi lamban (dibutuhkan sedikit sampai mereka mati, setelah perangkat ditinggalkan) tanpa alasan yang jelas 5. Kaitkan benda itu di lorong dan mungkin beberapa lagi di sekitar rumahIngin mendapat masukan dari kalian! Dan seperti biasa, saya sangat senang melihat orang lain membuat apa yang Anda pikirkan, jadi luangkan waktu sebentar untuk berkomentar dan memposting gambar!:):) Beberapa referensi lagiSaya akan menautkan beberapa hal di sini, yang mungkin bisa membantu Anda: • Referensi TR-064 • Beberapa pria bermain-main dengan shell dan TR-064 (bagus untuk memahami API) • Wikipedia Harry Potter: Entri Jam Weasley • Beberapa orang membuat Jam Weasly yang indah, tetapi rumit*_*Ini didasarkan pada aplikasi untuk ponsel Anda yang mengambil lokasi Anda. Jika Anda berada di area tertentu yang telah ditentukan sebelumnya, lampu yang sesuai pada jam akan menyala. Bagi saya itu terlalu rumit dan harus banyak tempat di mana itu bisa rusak/gagal: • Aplikasi harus terus diperbarui • Setiap orang harus menggunakan aplikasi ini • Dan baik-baik saja dengan dampaknya pada privasi • Aplikasi hanya berfungsi dengan internet koneksi • Anda harus menggunakan server perantara untuk menghubungkan komunikasi (kecuali jika Anda ingin mengatur Anda terutama sebagai server dan membuka jaringan rumah Anda untuk lalu lintas luar - yay, perangkat IOT lain yang tidak aman langsung terhubung ke internet!) • The layanan perantara mungkin akan offline suatu hari nanti/mengubah API-nya, • …Anda memerlukan lebih banyak perangkat lunak. Lebih banyak perangkat lunak berarti lebih banyak tempat untuk melakukan kesalahan;) Tetapi, mereka melakukan pekerjaan yang luar biasa dan jika Anda ingin melakukan sesuatu seperti itu, kunjungi situs mereka, itu benar-benar hebat!
Direkomendasikan:
Jam Lokasi 'Weasley' Dengan 4 Jarum: 11 Langkah (dengan Gambar)
Jam Lokasi 'Weasley' Dengan 4 Tangan: Jadi, dengan Raspberry Pi yang telah lama digunakan, saya ingin menemukan proyek bagus yang memungkinkan saya memanfaatkannya sebaik mungkin. Saya menemukan Jam Lokasi Weasley Anda Sendiri yang Dapat Diinstruksikan ini oleh ppeters0502 dan berpikir bahwa
Raspberry Pi Box of Cooling FAN Dengan Indikator Suhu CPU: 10 Langkah (dengan Gambar)
Raspberry Pi Kotak Kipas Pendingin Dengan Indikator Suhu CPU: Saya telah memperkenalkan sirkuit indikator suhu CPU raspberry pi (Selanjutnya sebagai RPI) di proyek sebelumnya. Rangkaian ini hanya menunjukkan RPI 4 tingkat suhu CPU yang berbeda sebagai berikut.- LED hijau menyala ketika Suhu CPU dalam 30~
The OreServer - Server Minecraft Khusus Raspberry Pi Dengan Indikator Pemutar LED: 9 Langkah (dengan Gambar)
OreServer - Server Minecraft Khusus Raspberry Pi Dengan Indikator Pemutar LED: PEMBARUAN Juli 2020 - Sebelum Anda memulai proyek ini, perlu diketahui bahwa BANYAK perubahan dan pembaruan telah dilakukan pada berbagai alat perangkat lunak yang saya gunakan untuk membuat ini lebih dari dua bertahun-tahun lalu. Akibatnya, banyak langkah tidak lagi berfungsi seperti yang tertulis
Indikator WiFi Work From Home: 5 Langkah (dengan Gambar)
Indikator WiFi Work From Home: Bagi mereka yang cukup beruntung untuk dapat bekerja dari rumah, kami mungkin menemukan bahwa ada beberapa tantangan besar dalam hal batasan dengan orang lain di rumah. Untuk membantu ini, saya membuat ini benar-benar bangunan sederhana yang memungkinkan Anda
Motor Air Otomatis Dengan Indikator Level: 6 Langkah (dengan Gambar)
Motor Air Otomatis Dengan Indikator Level: Hai Semua, selamat datang di Instruksi lainnya. Dalam Proyek ini kita akan belajar cara membuat Pengontrol Level Tangki Air Otomatis Penuh dengan fitur Indikator ketinggian air menggunakan Arduino Nano. Arduino adalah otak dari proyek ini. Ia akan menerima masukan dari