Sediakan Automasi Rumah Raspberry Pi

Set Up Raspberry Pi Home Automation



Salah satu perkara yang paling penting untuk automasi rumah ialah mengawal AC voltan tinggi menggunakan DC voltan rendah. Untuk mengawal AC voltan tinggi dari Raspberry Pi, anda memerlukan suis geganti 5V. Anda boleh mengawal suis geganti menggunakan pin GPIO Raspberry Pi. Suis relay kemudian dapat mengawal peralatan rumah AC melalui Raspberry Pi.

Artikel ini akan menunjukkan kepada anda cara menggunakan Raspberry Pi dan suis relay 5V untuk menghidupkan dan mematikan bola lampu dari peranti mudah alih anda. Artikel tersebut merangkumi aplikasi web yang boleh anda akses dari mana-mana peranti di rangkaian anda dan mengawal sebarang peralatan rumah AC di rumah anda secara wayarles. Oleh itu, mari kita mulakan dengan eksperimen automatik rumah Raspberry Pi kami yang sederhana.







Perkara yang Anda Perlu

Sekiranya anda ingin menggunakan Raspberry Pi tanpa kepala (melalui SSH atau VNC), anda memerlukan perkara berikut:



1) Raspberry Pi 3 atau Raspberry Pi 4.
2) Suis Relay 5V.
3) Wayar elektrik.
4) 3 wayar penyambung wanita-ke-wanita.
5) Mentol AC.
6) Pemegang bola lampu AC.
7) Palam AC.
8) Alat pemotong wayar dan pelucut.
9) Pemutar skru CR-V 3.
10) Penyesuai kuasa Micro-USB (Raspberry Pi 3) atau USB Type-C (Raspberry Pi 4).
11) Kad microSD 16 GB atau 32 GB dengan OS Raspberry Pi berkelip.
12) Kesambungan rangkaian pada Raspberry Pi.
13) Komputer riba atau komputer meja untuk akses desktop jauh VNC atau akses SSH ke Raspberry Pi.



Sekiranya anda tidak mahu mengakses Raspberry Pi dari jarak jauh melalui SSH atau VNC, anda juga memerlukan perkara berikut:





14) Monitor.
15) Kabel HDMI atau mikro-HDMI.
16) Papan kekunci.
17) Seekor tikus.

Sekiranya anda memerlukan bantuan untuk memancarkan gambar Raspberry Pi OS ke kad microSD, lihat artikel Cara Memasang dan Menggunakan Raspberry Pi Imager.



Sekiranya anda seorang pemula Raspberry Pi dan anda memerlukan bantuan untuk memasang OS Raspberry Pi di Raspberry Pi, lihat artikelnya Cara Memasang Raspberry Pi OS pada Raspberry Pi 4.

Juga, jika anda memerlukan bantuan dengan pengaturan tanpa kepala Raspberry Pi, baca artikel Cara Memasang dan Mengkonfigurasi OS Raspberry Pi pada Raspberry Pi 4 Tanpa Monitor Luaran.

Gambar semua alat yang diperlukan diberikan di bawah.

Menghidupkan Raspberry Pi

Seterusnya, sambungkan kabel kuasa ke Raspberry Pi dan hidupkan Raspberry Pi.

Setelah Raspberry Pi dihidupkan, anda boleh menyambung ke Raspberry Pi melalui VNC atau SSH. Atau, anda boleh menyambungkan papan kekunci, tetikus, dan monitor ke Raspberry Pi untuk mengaksesnya secara langsung.

Pinout Relay 5V

Relay pada dasarnya adalah suis. Tetapi, tidak seperti suis tradisional, geganti dapat dikawal dengan sedikit voltan DC.

Relay 5V sangat mudah digunakan. Ia mempunyai dua sisi: satu sisi digunakan untuk mengawal geganti melalui voltan rendah DC (dari Raspberry Pi), dan sisi lain digunakan untuk mengawal voltan tinggi AC (iaitu, bola lampu), bergantung pada keadaan relay .


Di satu sisi, relay mempunyai dua LED (satu merah dan satu hijau) dan tiga pin ( DI, GND, dan VCC ). Ketiga-tiga pin ini digunakan untuk mengawal geganti dari Raspberry Pi.

Dua pin pertama di sisi lain digunakan untuk mengawal perkakas AC.

Menyambungkan Relay 5V ke Raspberry Pi

Untuk menyambungkan geganti 5V ke Raspberry Pi, anda memerlukan tiga wayar penyambung wanita-ke-wanita.

Pasangkan satu sisi wayar penyambung ke DALAM (wayar kuning), GND (wayar hitam), dan VCC (wayar merah) pin dalam relay 5V, seperti gambar di bawah.


Bahagian lain wayar masuk ke pin header GPIO Raspberry Pi, seperti yang ditunjukkan dalam gambar di bawah.

Kawat merah harus masuk ke dalam PIN 2 (VCC) Raspberry Pi.
Kawat hitam harus masuk ke dalam PIN 6 (GND) Raspberry Pi.
Kawat kuning harus masuk ke PIN 7 (GPIO 4) Raspberry Pi.


Setelah relay 5V disambungkan ke Raspberry Pi, ia akan kelihatan seperti yang ditunjukkan dalam gambar di bawah.

Membolehkan Akses GPIO ke Pengguna Masuk

Untuk membenarkan akses ke pin GPIO, pengguna log masuk lalai Raspberry Pi OS pi harus ditambah ke gpio kumpulan.

Anda boleh menambah pi pengguna ke gpio kumpulan dengan arahan berikut:

$sudousermod-GGgpio $(siapakah saya)


Untuk perubahan berlaku, reboot Raspberry Pi dengan arahan berikut:

$sudobut semula

Membuat Direktori Projek

Adalah idea yang baik untuk memastikan semua fail projek tetap tersusun.

Untuk memastikan fail projek tersusun, buat direktori projek ~ / www dan subdirektori yang diperlukan dengan arahan berikut:

$mkdir -pv~/www/{templat, statik}


Setelah direktori projek dibuat, arahkan ke direktori projek seperti berikut:

$CD~/www

Menukar Relay 5V dari Raspberry Pi

Setelah anda menghubungkan relay 5V ke Raspberry Pi, anda akan menukar geganti dari Raspberry Pi menggunakan bahasa pengaturcaraan Python.

CATATAN: Menukar adalah istilah yang digunakan dalam elektronik. Beralih bermaksud mengawal (iaitu menghidupkan / mematikan) peranti elektronik tertentu.

Untuk bereksperimen dengan menukar geganti menggunakan bahasa pengaturcaraan Python, buat test.py skrip Python baru di direktori projek seperti berikut:

$nanotest.py


Taipkan baris kod berikut dalam skrip test.py Python.

darigpiozeromengimportLED
dari masa mengimporttidur

sementara Betul:
geganti=LED(4)
mencetak('Bergantung kepada')
tidur(5)

geganti.tutup()
mencetak('Relay: Mati')
tidur(5)

Setelah selesai, tekan + X diikuti oleh DAN dan untuk menyelamatkan test.py Skrip Python.


Di sini, import baris 1 LED daripada gpiozero perpustakaan, dan baris 2 mengimport tidur berfungsi dari masa perpustakaan.


Garis 6-14 berada dalam gelung tak terhingga.


Baris 6 memulakan LED di GPIO 4 Raspberry Pi, yang disambungkan ke DALAM pin geganti.


Baris 8 menghidupkan geganti menggunakan pada () kaedah.

Baris 9 mencetak mesej di konsol menggunakan cetak () fungsi.

Baris 10 melambatkan pelaksanaan baris kod seterusnya selama lima saat menggunakan tidur () fungsi.


Baris 12 mematikan geganti menggunakan tutup () kaedah.

Dengan cara yang sama, baris 9 mencetak mesej di konsol menggunakan cetak () fungsi dan baris 10 melambatkan pelaksanaan baris kod seterusnya selama 5 saat menggunakan tidur () fungsi.


Seterusnya, jalankan test.py Skrip Python seperti berikut:

$python3 test.py


The test.py Skrip Python harus mula menukar geganti 5V. Anda mesti mendengar bunyi klik setiap lima saat. Apabila relay beralih keadaan (dari hidup ke mati atau dari ke yang aktif), ia membuat bunyi klik. Ini bermaksud bahawa geganti berfungsi dengan baik.


Apabila geganti dalam keadaan tidak aktif (operasi biasa - beban AC terputus), hanya bersih LED harus menyala, seperti yang anda lihat pada gambar di bawah.


Apabila geganti dalam keadaan hidup (beban AC disambungkan), kedua-duanya hijau LED dan yang bersih LED harus menyala, seperti yang anda lihat pada gambar di bawah.


Setelah ujian selesai, tekan + C untuk menamatkan test.py skrip.

Menyambungkan Bola Lampu AC ke Relay 5V

Relay 5V kini harus berfungsi dengan baik. Sekarang, anda akan menyambungkan perkakas AC anda (bola lampu, dalam kes ini) ke geganti 5V.

Pertama, potong wayar elektrik hitam yang disambungkan ke bola lampu dengan pemotong wayar.


Setelah wayar elektrik hitam yang disambungkan ke bola lampu dipotong dengan pemotong wayar, kabel itu akan kelihatan seperti yang ditunjukkan dalam gambar di bawah.


Seterusnya, lepaskan lapisan luar untuk memaparkan kira-kira ½ inci wayar elektrik, seperti yang ditunjukkan dalam gambar di bawah.


Kemudian, lipat wayar yang terdedah, seperti yang ditunjukkan dalam gambar di bawah.


Longgarkan skru relay yang ditandai dengan pemutar skru CV-3.


Masukkan wayar terdedah yang anda lepaskan dan lipat lebih awal di kedua terminal skru dan ketatkan skru dengan pemutar skru CV-3.

Menguji Relay Switching Setelah Menyambungkan Beban AC

Setelah beban AC disambungkan ke relay 5V, sambungkan palam lampu ke soket dinding.


Jalankan test.py Skrip Python dari direktori projek seperti berikut:

$python3 test.py


The test.py Skrip Python harus mula menukar geganti 5V, yang pada gilirannya akan menukar bola lampu AC voltan tinggi pada selang lima saat. Mentol AC harus menyala selama lima saat, kemudian mati selama lima saat, dan seterusnya.

Mentol dimatikan dalam gambar di bawah.


Mentol menyala pada gambar di bawah.


Seperti yang anda lihat, kita boleh menukar geganti dan mengawal bola lampu AC voltan tinggi menggunakan bahasa pengaturcaraan Python. Jadi, tekan + C untuk menamatkan test.py skrip.

Mari kita beralih ke bahagian seterusnya.

Menulis Aplikasi Web Automasi Rumah

Di bahagian ini, saya akan menunjukkan kepada anda cara menulis aplikasi web berasaskan API menggunakan bahasa pengaturcaraan Python. Anda boleh menggunakan aplikasi web untuk mengawal relay dan perkakas AC atau peranti elektrik yang disambungkan ke relay dari penyemak imbas web.

CATATAN: Semua kod yang ditunjukkan dalam bahagian ini terdapat di repositori GitHub saya shovon8 / raspberry-pi-rumah-automasi . Sekiranya anda mahu, anda boleh mengklon repositori GitHub saya dan melangkau semua kodnya.

Buat skrip Python server.py dalam direktori projek seperti berikut:

$nanopelayan.py


Taipkan baris kod berikut di pelayan.py Skrip Python.

darikelalangmengimportKelalang,jsonify,url_untuk,render_template
darigpiozeromengimportLED
dariuuidmengimportuuid4
bilik= {}
bilik['Bilik 1'] = [{
'ID': uuid4(),
'nama':'Cahaya 1',
'ikon':'fa fa-bola lampu',
'status':Salah,
'relayPin':4,
'relayInstance':Salah
}, {
'ID': uuid4(),
'nama':'Kipas 1',
'ikon':'peminat fa',
'status':Salah,
'relayPin':6,
'relayInstance':Salah
}]
bilik['Bilik Mandi 1'] = [{
'ID': uuid4(),
'nama':'Cahaya 1',
'ikon':'fa fa-bola lampu',
'status':Salah,
'relayPin':5,
'relayInstance':Salah
}]
aplikasi=Kelalang(__nama__)
aplikasi.konfigurasi['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@aplikasi.laluan('/')
defkediaman():
kembalirender_template('./index.html',bilik=bilik)
deftoggle_appliance_status(ID):
untukbilikdalambilik:
untukperkakasdalambilik[bilik]:
sekiranya hlm(perkakas['ID']) == ID:
sekiranyaperkakas['relayInstance']:
perkakas['relayInstance'].tutup()
perkakas['relayInstance'] = Salah
yang lain:
perkakas['relayInstance'] =LED(perkakas['relayPin'])
perkakas['relayInstance'].pada()
perkakas['status'] = tidakperkakas['status']
kembali Betul
kembali Salah
@aplikasi.laluan('/ perkakas / togol /')
defperkakas_toggle(ID):
kembalijsonify({'status': toggle_appliance_status(ID)})

Setelah selesai, tekan + X diikuti oleh DAN dan untuk menyelamatkan pelayan.py Skrip Python.


Di sini, baris 1-3 mengimport semua komponen yang diperlukan dari perpustakaan masing-masing.


Baris 5 menghasilkan kosong bilik kamus. Dalam kamus ini, kami akan menyimpan semua butiran alat AC yang ingin kami kendalikan dari aplikasi web.


The bilik butiran disimpan dalam baris 7-29.


Mari kita bincangkan struktur data salah satu ruangan.

Di sini, nama bilik akan menjadi Bilik 1. Jadi, Bilik 1 adalah kunci untuk bilik kamus.


The Bilik 1 kunci memegang tatasusunan sebagai nilai. Bilangan elemen array sama dengan bilangan peralatan rumah AC yang anda miliki di ruangan itu yang juga ingin anda kendalikan dari aplikasi web. Dalam kes ini, kami mempunyai dua peralatan rumah AC yang ingin kami kendalikan: Cahaya 1 dan Kipas 1 .


Setiap definisi perkakas rumah mempunyai ID . The ID adalah UUID yang dihasilkan secara rawak. Ini digunakan untuk mengenal pasti ruangan mana yang ingin kita kendalikan menggunakan API.

Peralatan rumah juga mempunyai semua perkara berikut:

  • nama (Cahaya 1 dalam kes ini)
  • ikon (Kelas ikon Font Awesome, kerana kami akan menggunakan Font Awesome untuk ikon)
  • status (Betul sekiranya pada dan Salah sekiranya mati )
  • relayPin (nombor pin GPIO yang digunakan untuk mengawal geganti yang disambungkan ke perkakas AC)
  • relayInstance (yang dimulakan LED objek dari gpiozero perpustakaan yang bertanggungjawab mengawal pin GPIO masing-masing - relayPin )


Baris 31 memulakan pelayan web Python termos.

Baris 32 mengkonfigurasi pelayan web termos.


Garis 34-36 menghantar indeks.html fail dari templat / direktori semasa anda melayari aplikasi web automasi rumah.

Flask menggunakan Jinja2 bahasa templat untuk menjadikan indeks.html fail. Jadi, saya telah lulus bilik kamus ke indeks.html fail. Jinja2 akan menjadikan laman utama menggunakan bilik data.


Fungsinya toggle_appliance_status () pada baris 39-52 digunakan untuk menghidupkan perkakas rumah jika dimatikan dan mematikan perkakas rumah jika sedang menggunakan alat ID .

Ia kembali Betul sekiranya operasi togol berjaya. Sekiranya terdapat ralat, ia akan kembali Salah .


Garis 55-57 digunakan untuk menukar alat rumah menggunakan / perkakas / togol / Titik akhir API pelayan laman web. Di sini, ID adalah ID perkakas rumah.


Buat indeks.html fail di templat / direktori projek anda seperti berikut:

$nanotemplat/indeks.html

Taipkan baris kod berikut di indeks.html skrip.


< html lang='di'>
< kepala >
< meta carta='UTF-8'>
< meta nama='viewport' kandungan='lebar = lebar peranti, skala awal = 1.0'>
< pautan rel='helaian gaya' href='{{url_for (' static ', nama file =' fontawesome / css / all.min.css ')}}'>
< pautan rel='helaian gaya' href='{{url_for (' static ', nama file =' style.css ')}}'>
< tajuk >Automasi Rumah dengan Raspberry Pi</ tajuk >
</ kepala >
< badan >
< div ID='kandungan'>
< h1 >Automasi Rumah Raspberry Pi</ h1 >

{% untuk bilik di bilik%}
< div kelas='bilik'>
< h2 >{{bilik}}</ h2 >
< div kelas='perkakas'>
{% untuk perkakas di bilik [bilik]%}
< div kelas='perkakas' ID='{{perkakas [' id ']}}'> ='aktif'>
< i kelas='{{perkakas [' ikon ']}}'></ i >
< jangka masa >{{perkakas ['name']}}</ jangka masa >
</ div >
{% endfor%}
</ div >
</ div >
{% endfor%}

</ div >

< skrip src='{{url_for (' static ', nama file =' app.js ')}}' menaip='teks / javascript'></ skrip >
</ badan >
</ html >

Setelah selesai, tekan + X diikuti oleh DAN dan untuk menyelamatkan indeks.html fail.


Buat a gaya.css fail di statik / direktori projek anda seperti berikut:

$nanostatik/gaya.css


Taipkan baris kod berikut di gaya.css fail.

@import url('https://fonts.googleapis.com/css2?family=BenchNine: [dilindungi e-mel]; 400; 700 & display = tukar');

* {
margin: 0;
pembalut: 0;
keluarga fon: 'BenchNine', sans-serif;
}

#kandungan >h1{
latar belakang:kecerunan linear(kebetul, rgb(112, 24, 163), rgb(86, 127, 240));
warna: #F F F;
selaras teks: pusat;
pembalut: .5em 0;
}

divbilik {
margin: .5em;
sempadan: 2px padat rgb(112, 24, 163);
jejari sempadan: 5px;
}

divbilikh2{
/ * latar belakang: rgb (9, 76, 121); * /
latar belakang:kecerunan linear(kebetul, rgb(112, 24, 163), rgb(86, 127, 240));
pembalut: 0 0 0 .5em;
warna: #F F F;
}

divperalatan {
margin: .5em .5em 0 0;
paparan:lentur;
flex-wrap:bungkus;
}

div.perlengkapan {
sempadan: 2px padat rgb(112, 24, 163);
jejari sempadan: 5px;
lebar: 110 piksel;
ketinggian: 120 piksel;
selaras teks: pusat;
margin: 0 0 .5em .5em;
paparan:lentur;
arah lentur:ruangan;
}

div.perlengkapani.fa {
Saiz huruf: 4em;
flex-tumbuh: 1;
bahagian atas padding: 0.3em;
warna: rgb(204, lima puluh, lima puluh);
}

div.appliance[aktif data='aktif']i.fa {
warna: rgb(32, 177, 51);
}

div.perlengkapanjangka masa{
paparan: sekatan;
berat fon: berani;
latar belakang: rgb(112, 24, 163);
warna: #F F F;
}

Setelah selesai, tekan + X diikuti oleh DAN dan untuk menyelamatkan gaya.css fail.


Buat sebuah app.js fail di statik / direktori projek anda seperti berikut:

$nanostatik/app.js


Taipkan baris kod berikut di app.js fail.

tingkap.tambahEventListener('muat',utama);

fungsiutama() {
fungsitoggleApplianceState(Dan) {
di manaID=Dan.jalan[1].ID;

di manahttp= baruPermintaan XMLHttp();

http.pertukaran sudahpun = fungsi() {
sekiranya(ini.Negeri siap === 4 && ini.status === 200) {
sekiranya(JSON.menghurai(ini.Teks respons).status === benar) {
sekiranya(Dan.jalan[1].mempunyai sifat('aktif data')) {
Dan.jalan[1].buangAtribut('aktif data')
} yang lain {
Dan.jalan[1].tetapkan Atribut('aktif data', 'aktif')
}
}
}
}

http.buka('DAPATKAN','/perkakas/togol/${ID}', benar);
http.hantar();
}


di manaperkakas=dokumen.getElementsByClassName('perkakas');
untuk(i=0;i<perkakas.panjang;i++) {
perkakas[i].tambahEventListener('klik',toggleApplianceState);
}
}

Setelah selesai, tekan + X diikuti oleh DAN dan untuk menyelamatkan app.js fail.


Di sini, baris 1 menjalankan utama () berfungsi apabila halaman web selesai dimuat.

Di dalam indeks.html fail, setiap perkakas rumah dilampirkan dalam perkakas kelas. Garis 26-29 digunakan untuk memilih setiap perkakas rumah dari laman web dan melampirkan klik acara ke perkakas. Apabila seseorang mengklik perkakas rumah dari laman web, toggleApplianceState () fungsi akan berjalan.


Dalam baris 4-23, the toggleApplianceState () fungsi digunakan untuk meminta / perkakas / togol / titik akhir pelayan web untuk mengubah keadaan perkakas rumah yang diklik. Permintaan dibuat di latar belakang melalui AJAX. Setelah respons diterima, laman web akan dikemas kini dengan sewajarnya.


Navigasi ke statik / direktori dalam direktori projek anda seperti berikut:

$CDstatik/


Muat turun Font Awesome dengan arahan berikut:

$wgethttps://gunakan.fontawesome.com/melepaskan/v5.15.1/fontawesome-free-5.15.1-web.zip


Setelah Font Awesome dimuat turun, anda akan menemui fail zip baru fontawesome-free-5.15.1-web.zip di dalam statik / direktori.

$ls -lh


Buka zip fontawesome-free-5.15.1-web.zip fail dengan arahan berikut:

$buka zipfontawesome-free-5.15.1-web.zip


The fontawesome-free-5.15.1-web.zip fail kini harus dizip.


Direktori baru fonawesome-percuma-5.15.1-web / harus dibuat dalam statik / direktori, seperti yang anda lihat dalam tangkapan skrin di bawah.

$ls -lh

Namakan semula direktori fonawesome-percuma-5.15.1-web / ke fon hebat / dengan arahan berikut:

$mv -vfontawesome-free-5.15.1-web fontawesome


Sekarang, anda tidak lagi memerlukannya fontawesome-free-5.15.1-web.zip fail. Jadi, keluarkan fontawesome-free-5.15.1-web.zip fail dengan arahan berikut:

$rm -vfontawesome-free-5.15.1-web.zip


The statik / struktur direktori akan kelihatan seperti yang ditunjukkan dalam tangkapan skrin di bawah.

$ls -lh


Navigasi kembali ke direktori projek ~ / www seperti berikut:

$CD..

Menguji Aplikasi Web Automasi Rumah

Untuk menguji aplikasi web automasi rumah, jalankan perintah berikut di direktori projek anda:

$FLASK_APP= pelayan.py flask dijalankan


Aplikasi web harus tersedia di port 5000 Raspberry Pi anda.


Dari penyemak imbas web Chromium, lawati http: // localhost: 5000 . Aplikasi web automasi rumah harus dimuat.

Klik pada ikon bola lampu, yang ditunjukkan dalam gambar di bawah.


Mentol AC sekarang harus dihidupkan. Warna ikon juga harus berubah menjadi hijau, menunjukkan bahawa bola lampu menyala.


Oleh itu, aplikasi web automasi rumah berfungsi. Tekan + C untuk menamatkan pelayan web.

Membuat Perkhidmatan Systemd untuk Aplikasi Web Automasi Rumah

Di bahagian ini, saya akan menunjukkan kepada anda cara membuat fail perkhidmatan systemd untuk aplikasi web automasi rumah sehingga ia akan dimulakan secara automatik semasa boot.

Pertama, buat raspi-home-automation.service fail dalam direktori projek anda seperti berikut:

$nanoraspi-home-automation.service

Taip baris berikut dalam fail perkhidmatan raspi-home-automation.service.

[Unit]
Penerangan= Perkhidmatan Web Automasi Rumah Raspberry Pi
Selepas= network.target
[Perkhidmatan]
Direktori Kerja=/kediaman/pi/www
Persekitaran=FLASK_APP= pelayan.py
Persekitaran=FLASK_ENV= pengeluaran
ExecStart=/usr/saya/larian termos- hos= 0.0.0.0
StandardOutput= mewarisi
Kesalahan biasa= mewarisi
Mula semula= selalu
Pengguna= pi
[Pasang]
Dikehendaki Oleh= multi-user.target

Setelah selesai, tekan + X diikuti oleh DAN dan untuk menyelamatkan raspi-home-automation.service fail.


Salin raspi-home-automation.service fail ke / etc / systemd / sistem / direktori dengan arahan berikut:

$sudo cp -vraspi-home-automation.service/dan lain-lain/sistem/sistem/


Muat semula daemon sistemd agar perubahan tersebut berlaku seperti berikut:

$sudotambah nilai daemon systemctl


Tambah raspi-rumah-automasi perkhidmatan ke permulaan sistem Raspberry Pi OS dengan arahan berikut:

$sudosystemctlmengaktifkanraspi-home-automation.service


Reboot Raspberry Pi dengan arahan berikut:

$sudobut semula


Sebaik sahaja kasut Raspberry Pi, raspi-rumah-automasi perkhidmatan harus aktif / berjalan, seperti yang anda lihat dalam tangkapan skrin di bawah.

$sudostatus systemctl raspi-home-automation.service

Mengakses Aplikasi Web Automasi Rumah dari Peranti Lain

Untuk mengakses aplikasi web automasi rumah dari peranti lain di rangkaian rumah anda, anda perlu mengetahui alamat IP peranti Raspberry Pi anda.

Anda boleh mendapatkan alamat IP peranti Raspberry Pi 4 anda dari antara muka pengurusan web penghala rumah anda. Dalam kes saya, alamat IP adalah 192.168.0.103. Ini akan berbeza bagi anda. Oleh itu, pastikan untuk mengganti IP saya dengan milik anda mulai sekarang.


Sekiranya anda mempunyai akses ke konsol Raspberry Pi, anda juga boleh menjalankan perintah berikut untuk mencari alamat IP.

$nama hos -Saya


Setelah anda mengetahui alamat IP peranti Raspberry Pi anda, anda boleh mengaksesnya dari mana-mana peranti di rangkaian rumah anda.

Seperti yang anda lihat dalam tangkapan skrin di bawah, saya telah mengakses aplikasi web automasi rumah dari telefon pintar Android saya.


Pastikan memasang palam lampu ke soket elektrik di dinding.


Bola lampu harus dimatikan secara lalai.


Sekiranya anda mengetuk ikon bola lampu dari aplikasi web automasi rumah, warna ikon bola lampu akan berubah menjadi hijau, menunjukkan bahawa bola lampu menyala.


Seperti yang anda lihat dalam gambar di bawah, bola lampu menyala.

Kesimpulannya

Artikel ini menunjukkan kepada anda cara menggunakan geganti 5V untuk mengawal peranti elektrik AC voltan tinggi dari Raspberry Pi menggunakan bahasa pengaturcaraan Python. Artikel itu juga menunjukkan kepada anda cara menulis aplikasi web Python flask berasaskan API untuk mengawal geganti dari penyemak imbas web. Artikel ini akan membantu anda memulakan automasi rumah menggunakan Raspberry Pi.