![Cara Mengontrol Outlet Menggunakan Raspberry Pi: 6 Langkah Cara Mengontrol Outlet Menggunakan Raspberry Pi: 6 Langkah](https://i.howwhatproduce.com/images/011/image-31492-j.webp)
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
![Cara Mengontrol Outlet Menggunakan Raspberry Pi Cara Mengontrol Outlet Menggunakan Raspberry Pi](https://i.howwhatproduce.com/images/011/image-31492-1-j.webp)
![Cara Mengontrol Outlet Menggunakan Raspberry Pi Cara Mengontrol Outlet Menggunakan Raspberry Pi](https://i.howwhatproduce.com/images/011/image-31492-2-j.webp)
![Cara Mengontrol Outlet Menggunakan Raspberry Pi Cara Mengontrol Outlet Menggunakan Raspberry Pi](https://i.howwhatproduce.com/images/011/image-31492-3-j.webp)
Dalam Instruksi ini, saya akan menunjukkan kepada Anda cara membuat antarmuka web untuk mengontrol outlet di rumah Anda menggunakan Raspberry Pi. Saya memilih untuk menulis proyek ini ketika saya melihat kontes Sensor, dan karena proyek ini melibatkan penggunaan sensor untuk membaca kode dari remote yang disediakan dengan outlet yang Anda beli, saya pikir proyek ini akan sangat cocok.
Saya akan bekerja untuk menjaga ini setinggi mungkin dan memberikan kode untuk membuat ini semua berfungsi. Untuk kalian semua kode monyet di luar sana, jangan ragu untuk menggali kode, dan teliti saya di komentar! Saya selalu mencari untuk meningkatkan. Ada sedikit hal yang terjadi dalam hal ini, jadi jika Anda memiliki pertanyaan tentang langkah apa pun, silakan tinggalkan komentar sehingga saya dapat memperbarui Instructable dengan detail yang diperlukan.
Proyek ini menggunakan outlet yang dikontrol frekuensi radio pada 433MHz yang digabungkan dengan pemancar RF yang terhubung ke raspberry pi Anda. Outletnya dilengkapi dengan remote yang bisa menghidupkan/mematikan stopkontak, tapi itu tidak menyenangkan! Kami malah akan menggunakan server web yang berjalan pada raspberry pi yang memungkinkan siapa saja yang terhubung ke jaringan untuk menghidupkan atau mematikan outlet tertentu. Front-end web untuk proyek ini sangat ideal karena perangkat apa pun yang terhubung ke web di jaringan Anda dapat digunakan sebagai remote Anda.
Ini adalah proyek yang saya impikan untuk diselesaikan selama bertahun-tahun, dan meskipun masih ada ruang untuk penambahan, proyek yang dijelaskan sebagai berikut adalah sistem fungsional.
Perlengkapan
- Raspberry Pi (Saya menggunakan RPi 3 Model B+)
- Pemancar dan Penerima 433MHz (saya menggunakan yang ini)
- Outlet 433MHz (saya menggunakan ini)
- Jumper Wanita-ke-Wanita (Saya membeli banyak ini)
- Komputer atau perangkat genggam yang mampu mengakses internet
Langkah 1: Siapkan Raspberry Pi Anda
![Siapkan Pi Raspberry Anda Siapkan Pi Raspberry Anda](https://i.howwhatproduce.com/images/011/image-31492-4-j.webp)
Mulailah dengan menginstal versi terbaru Raspbian di Raspberry Pi baru Anda. Jika Anda berencana untuk menggunakan Pi yang sudah ada (yang benar-benar dapat Anda lakukan), yang Anda perlukan hanyalah memastikan Anda memiliki Python 3 di Pi Anda, karena itulah semua kode sumber yang saya berikan. Untuk melakukan ini, Tipe
python3
ke dalam baris perintah. Jika Anda memiliki Python 3, Anda akan melihat terminal python terbuka. Keluar dari terminal dengan menutup atau mengetik
keluar()
Setelah Anda mengkonfirmasi ini, Anda perlu menginstal labu ke Pi Anda. Flask memungkinkan kita untuk membuat server web kita. Dari baris perintah Pi, ketik
sudo pip3 instal labu
Jika Anda tidak menginstal pip di Pi Anda, Anda harus mengetik
sudo apt-get install python3-pip
Saya lebih suka mengembangkan di Raspberry Pi saya dari kenyamanan komputer desktop saya. Jika Anda juga lebih suka opsi ini, Anda perlu menginstal semacam lingkungan ke SSH ke dalam Pi. Putty akan berfungsi, tetapi saya lebih suka memiliki GUI (antarmuka pengguna grafis), yang membuatnya tampak seperti Anda langsung menggunakan Pi. Untuk opsi GUI, Anda akan ingin menginstal VNC Viewer ke komputer yang Anda rencanakan untuk dikerjakan. Ada juga pengaturan yang perlu Anda sesuaikan pada Pi Anda. Petunjuk untuk mengubah pengaturan dapat ditemukan di sini.
Langkah 2: Menghubungkan Perangkat Keras Anda
![Menghubungkan Perangkat Keras Anda Menghubungkan Perangkat Keras Anda](https://i.howwhatproduce.com/images/011/image-31492-5-j.webp)
Pada titik ini, inilah saatnya untuk membuat semua koneksi fisik yang perlu Anda lakukan sebagai persiapan untuk menyiapkan kode sumber untuk proyek ini. Anda akan menghubungkan pin pemancar dan penerima ke pin GPIO Pi Anda. Anda akan ingin mereferensikan diagram pinout pin GPIO secara religius. Untuk melakukannya, buka terminal di Pi Anda dan ketik
pinout
Berikut ini adalah koneksi yang saya buat. Anda mungkin memiliki konfigurasi yang berbeda jika Anda membeli perangkat keras pemancar/penerima yang berbeda dari yang saya sebutkan di pendahuluan. Jika Anda memutuskan untuk memilih nomor pin yang berbeda dari yang saya tunjukkan di bawah, jangan takut! Saat Anda mengunduh kode sumber, cukup ubah nomor pin sesuai kebutuhan dalam file RxTx.py.
Penerima (chip besar):
- GND - Pin ground yang ditunjuk
- DATA - Pin 11
- DER - Tidak terhubung
- +5V - Pin +5V apa pun yang ditunjuk
- ------
- +5V - Pin +5V apa pun yang ditunjuk
- GND - Pin ground yang ditunjuk
- GND - Tidak terhubung
- ANT - Tidak terhubung
Catatan: Anda dapat menyambungkan antena sesuai kebutuhan, tetapi ternyata saya tidak perlu melakukannya. Chip kecil ini ternyata sangat sensitif dan dengan setia mendeteksi sinyal hingga setidaknya 50 kaki dari tempatnya duduk dan melalui setidaknya dua dinding.
Pemancar:
- P - Pin 3.3V
- DA - Pin 7
- G - Pin ground yang ditunjuk
- AN - tidak terhubung
Catatan: Sekali lagi, Anda dapat menghubungkan antena ke pemancar sesuai kebutuhan, tetapi ternyata saya tidak perlu melakukannya. Jangkauannya lebih dari cukup (50+ft).
Langkah 3: Menambahkan Kode
Ini adalah bagian di mana saya menghabiskan sebagian besar waktu saya ketika saya mengembangkan proyek ini. Saya mencoba berkomentar sebanyak mungkin, tetapi saya mungkin meninggalkan celah yang mungkin memerlukan penjelasan jika ada di antara Anda yang meluangkan waktu untuk mencoba memahaminya. Jika ini terjadi pada Anda, silakan tinggalkan komentar!
Bahasa yang terlibat di sini adalah:
- Python
- CSS
- Javascript
- HTML
- JQuery/Ajax
Python digunakan di server flask dan di
RxTx.py
file, yang menangani pengiriman dan penerimaan kode. CSS digunakan dalam menghasilkan gaya halaman web. Siapa yang menginginkan situs web yang membosankan!? Javascript digunakan di salah satu penanganan acara (menekan tombol, dll.). HTML adalah blok bangunan inti dari halaman web. Akhirnya, JQuery/Ajax digunakan untuk berkomunikasi antara halaman web dan backend Python.
Jika semua bahasa ini terdengar menakutkan, jangan khawatir! Saya hanya tahu Python masuk ke proyek ini, yang kebetulan merupakan bahasa yang melibatkan paling sedikit pengkodean, lihat saja… Cukuplah untuk mengatakan, luangkan waktu Anda menyisir kode jika itu yang Anda pilih untuk dilakukan. Jika Anda tidak mau, Anda tidak perlu melakukannya!
Berikut ini adalah struktur direktori yang saya pilih untuk digunakan dengan halaman web ini. Folder zip yang dilampirkan pada langkah ini berisi semua kode sumber dalam struktur berikut.
Sakelar Outlet-> comm-- DataRW.py-- keys.py-- RxTx.py-> halaman web-- static----- favicon.ico----- style.css-- templates----- index.html----- schedule.html-- app.py-- data.file
Anda dapat meletakkan folder Outlet Switch di mana saja di Pi Anda. Saat Anda siap menjalankan server web, buka terminal di Pi Anda, dan
CD
(ubah direktori) ke direktori halaman web. Kemudian ketik
python3 app.py
ke dalam terminal. Jika tidak ada kesalahan, Anda harus melakukannya dengan baik!
P. S. Harap bersabar jika Anda mengalami bug. Saya mencoba meremas semuanya sebelum mengunggah.
Langkah 4: Cobalah
![Cobalah! Cobalah!](https://i.howwhatproduce.com/images/011/image-31492-6-j.webp)
Sekarang setelah Anda menjalankan kode, Anda bisa merasakan antarmuka web di ujung jari Anda. Kontrol sistem ini sangat sederhana:
- Anda dapat menambahkan outlet sebanyak yang Anda inginkan menggunakan antarmuka web.
- Penghapusan semudah mengklik edit, memilih outlet yang ingin Anda hapus, dan mengklik hapus.
Video YouTube di atas menunjukkan bagaimana cara menambahkan outlet baru ke daftar Anda. Untuk meringkas apa yang ditampilkan:
- Pertama masukkan judul outlet di kolom Judul
- Klik atau sentuh di luar bidang Judul untuk mengizinkan program memeriksa bahwa judul belum ada. Anda tidak dapat memiliki gelar dengan nama yang sama
- Setelah divalidasi, tombol ON Code dan OFF Code diaktifkan.
- Tekan dan tahan tombol ON pada remote yang Anda sediakan dan dengan cepat klik tombol ON Code pada antarmuka. Tahan tombol pada remote hingga kode biner Anda mengisi bidang yang berdekatan.
- Ulangi langkah sebelumnya untuk OFF Code.
- Klik OK, dan sekarang Anda siap untuk berpindah outlet ini!
Seperti disebutkan dalam pendahuluan, proyek ini tidak 100% selesai untuk penggunaan saya sendiri. Komponen terbesar yang belum saya selesaikan dan terapkan adalah kemampuan penjadwalan. Saya berencana untuk mengizinkan pengguna membuat jadwal yang memungkinkan outlet dinyalakan dan dimatikan pada waktu yang ditentukan secara otomatis.
Langkah 5: Debugging dan File RxTx.py
![Debug dan File RxTx.py Debug dan File RxTx.py](https://i.howwhatproduce.com/images/011/image-31492-7-j.webp)
![Debugging dan File RxTx.py Debugging dan File RxTx.py](https://i.howwhatproduce.com/images/011/image-31492-8-j.webp)
![Debug dan File RxTx.py Debug dan File RxTx.py](https://i.howwhatproduce.com/images/011/image-31492-9-j.webp)
![Debugging dan File RxTx.py Debugging dan File RxTx.py](https://i.howwhatproduce.com/images/011/image-31492-10-j.webp)
Satu-satunya batasan sistem yang diketahui adalah bahwa ada kemungkinan ketidakcocokan di antara outlet vendor yang berbeda. Pesan kode hidup dan mati adalah 25 bit untuk sistem saya, dan jika suatu sistem memiliki panjang pesan yang berbeda, itu tidak langsung kompatibel dengan proyek ini. Jika Anda benar-benar mengikuti instruksi dan Anda masih mengalami masalah dalam menjalankannya, berikut ini adalah cara terbaik untuk men-debug masalah.
-
Pastikan Anda telah menginstal matplotlib di Pi Anda. Anda dapat melakukan ini dengan mengetikkan yang berikut ke terminal Pi:
-
python3
-
impor matplotlib
- Jika Anda menerima kesalahan, maka Anda perlu menginstal matplotlib.
-
Keluar dari shell python menggunakan
keluar()
-
-
Untuk menginstal matplotlib, ketik
sudo pip3 instal matplotlib
- ke terminal
- Unduh file test.py terlampir, dan letakkan di samping file RxTx.py di Pi
- Buka terminal python dan ubah direktori ke folder comm.
-
Jenis
python3 test.py
- Saat tertulis "**Started Recording**," tekan dan tahan tombol ON atau OFF pada remote hingga perekaman berakhir.
- Program akan memuat gambar matplotlib yang terlihat seperti di atas. Perbesar hingga Anda melihat sinyal berulang seperti yang ditunjukkan pada foto di atas.
- Hitung total logika 1 dan logika 0 untuk setiap pesan, di mana sebuah pesan adalah satu iterasi dari sinyal berulang yang terlihat di atas. Jika totalnya 25, file RxTx.py kemungkinan besar tidak salah. Jika Anda menemukan sesuatu selain 25, pastikan untuk berkomentar di bawah, dan saya akan memperlengkapi kembali file RxTx.py agar lebih terbuka (atau jangan ragu untuk mencobanya).
Bagaimana jika saya tidak melihat sinyal berulang?
Jika Anda tidak melihat sinyal berulang, salah satu dari dua hal ini salah. Pertama, periksa apakah semua koneksi kabel jumper Anda dibuat dengan benar. Jika semuanya terlihat baik, Anda mungkin memiliki penerima yang buruk. Apakah Anda membeli yang saya sarankan? Ketika saya membeli chip receiver pertama saya, sangat bising. Sangat berisik sehingga saya tidak bisa mendapatkan sinyal yang jelas. Saya kemudian mengembalikan chip itu dan mengambil yang saya tautkan, dan itu tidak bisa bekerja lebih baik.
Langkah 6: Nikmati
Anda tahu memiliki kemampuan untuk menghidupkan/mematikan outlet dari ponsel, tablet, komputer, atau perangkat lain yang mendukung web! Beri tahu saya pendapat Anda di komentar!
Direkomendasikan:
DIY Cara Mengontrol Sudut Motor Servo Menggunakan Komponen Urutan Visuino: 10 Langkah
![DIY Cara Mengontrol Sudut Motor Servo Menggunakan Komponen Urutan Visuino: 10 Langkah DIY Cara Mengontrol Sudut Motor Servo Menggunakan Komponen Urutan Visuino: 10 Langkah](https://i.howwhatproduce.com/images/002/image-4200-j.webp)
DIY Cara Mengontrol Sudut Motor Servo Menggunakan Komponen Urutan Visuino: Dalam tutorial ini kita akan menggunakan Motor Servo dan Arduino UNO, dan Visuino untuk mengontrol Sudut motor servo menggunakan komponen urutan. Komponen urutan sangat cocok untuk situasi di mana kita ingin memicu beberapa peristiwa secara berurutan dalam kasus kami tingkat motor servo
Cara Mengontrol GoPro Hero 4 Menggunakan RC Transmitter: 4 Langkah (Dengan Gambar)
![Cara Mengontrol GoPro Hero 4 Menggunakan RC Transmitter: 4 Langkah (Dengan Gambar) Cara Mengontrol GoPro Hero 4 Menggunakan RC Transmitter: 4 Langkah (Dengan Gambar)](https://i.howwhatproduce.com/images/001/image-1770-23-j.webp)
Cara Mengontrol GoPro Hero 4 Menggunakan RC Transmitter: Tujuan dari proyek ini adalah untuk dapat mengontrol GoPro Hero 4 dari jarak jauh melalui RC Transmitter. Metode ini akan menggunakan Wifi & HTTP API untuk mengontrol perangkat & terinspirasi dari PROTOTYPE: TERKECIL DAN TERMURAH
Cara Mengontrol Perangkat Menggunakan Raspberry Pi dan Relay - DASAR-DASAR: 6 Langkah
![Cara Mengontrol Perangkat Menggunakan Raspberry Pi dan Relay - DASAR-DASAR: 6 Langkah Cara Mengontrol Perangkat Menggunakan Raspberry Pi dan Relay - DASAR-DASAR: 6 Langkah](https://i.howwhatproduce.com/images/006/image-15548-j.webp)
Cara Mengontrol Perangkat Menggunakan Raspberry Pi dan Relay - DASAR-DASAR: Ini adalah tutorial dasar dan langsung tentang cara mengontrol perangkat menggunakan Raspberry Pi dan Relay, membantu untuk membuat Proyek IoTTutorial ini untuk pemula, ramah untuk ikuti terus bahkan jika Anda tidak memiliki pengetahuan tentang penggunaan Raspberry
Cara Mengontrol Bulb dengan Menggunakan Arduino UNO dan Modul Solid State Relay 5V Saluran Tunggal: 3 Langkah
![Cara Mengontrol Bulb dengan Menggunakan Arduino UNO dan Modul Solid State Relay 5V Saluran Tunggal: 3 Langkah Cara Mengontrol Bulb dengan Menggunakan Arduino UNO dan Modul Solid State Relay 5V Saluran Tunggal: 3 Langkah](https://i.howwhatproduce.com/images/010/image-27996-j.webp)
Cara Mengontrol Bohlam dengan Menggunakan Arduino UNO dan Modul Solid State Relay 5V Saluran Tunggal: Deskripsi:Dibandingkan dengan relai mekanis tradisional, Solid State Relay (SSR) memiliki banyak keunggulan: memiliki masa pakai yang lebih lama, dengan putaran yang jauh lebih tinggi/ off kecepatan dan tidak ada suara. Selain itu, ia juga memiliki ketahanan yang lebih baik terhadap getaran dan
Amazon Alexa Mengontrol Outlet Cerdas Jarak Jauh 433mHz Dengan ESP8266: 4 Langkah
![Amazon Alexa Mengontrol Outlet Cerdas Jarak Jauh 433mHz Dengan ESP8266: 4 Langkah Amazon Alexa Mengontrol Outlet Cerdas Jarak Jauh 433mHz Dengan ESP8266: 4 Langkah](https://i.howwhatproduce.com/images/003/image-6279-31-j.webp)
Outlet Cerdas Jarak Jauh Terkendali Amazon Alexa 433mHz Dengan ESP8266: Dalam instruksi ini saya akan menunjukkan kepada Anda bagaimana membuat Amazon Echo mengontrol outlet yang dikendalikan dari jarak jauh 433mHz dengan bantuan ESP8266. Yang Anda butuhkan: outlet yang dikendalikan dari jarak jauh 433mHz dengan sakelar DIP ESP8266 (yang termudah caranya adalah NodeMCU Boar