Mündəricat:
- Təchizat
- Addım 1: DockerPi Series 4 Channel Relay Board haqqında məlumat
- Addım 2: Xüsusiyyətlər
- Addım 3: Cihaz Ünvan Xəritəsi
- Addım 4: Röleyi Əsas Elektrik Təchizatı ilə Gücləndirilən Ampul Tutucusuna qoşun
- Addım 5: I2C (Raspberry Pi) konfiqurasiyası
- Addım 6: Proqramlaşdırmadan birbaşa nəzarət (Raspberry Pi)
- Addım 7: C dilində proqram (Raspberry Pi)
- Addım 8: Pythonda proqram (Raspberry Pi)
- Addım 9: Java -da proqram (Raspberry Pi)
Video: İşıq İdarəetmə Sistemi: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu yaxınlarda Təhlükəsizlik Araşdırma məqsədləri üçün Mikrokontrollerləri və IOT əsaslı cihazları anlamaq üzərində işləyirəm. Beləliklə, təcrübə üçün kiçik bir ev avtomatlaşdırma sistemi qurmağı düşündüm. Bunu hələ tamamlamamışam, amma başlanğıcda bu yazıda otağımın işıqlandırmasını idarə etmək üçün Raspberry Pi 2 və digər elektrik komponentlərini necə istifadə etdiyimi bölüşəcəyəm. Ayrıca, burada Raspberry üçün ilkin quraşdırma haqqında danışmayacağam, bunun üçün müxtəlif dərsliklər tapa bilərsiniz.
Ancaq bu layihədə bu docker pi seriyası məhsulunu sizə təqdim edəcəyəm.
Təchizat
Komponent siyahısı:
- 1 x Raspberry Pi 3B+/3B/Sıfır/Sıfır W/4B/
- 1 x 16GB Class 10 TF kartı
- 1 x DockerPi seriyası 4 Kanal Röle Kartı (HAT)
- 52Pi olan 1 x [email protected] enerji təchizatı
- 4 x İşıq şeridi
- 1 x DC konnektoru
- İşıq şeritləri üçün 1 x 12V enerji təchizatı.
- bir neçə tel.
Addım 1: DockerPi Series 4 Channel Relay Board haqqında məlumat
DockerPi 4 Kanal Relay, IOT tətbiqlərində daha çox istifadə edilən DockerPi Seriyasının üzvüdür.
DockerPi 4 Kanal Relay, daha çox fikir əldə etmək üçün ənənəvi açarlar əvəzinə AC/DC ötürə bilər. DockerPi 4 Kanal Rölesi 4 -ə qədər yığa bilər və digər DockerPi genişləndirmə lövhəsi ilə yığışdırıla bilər. Uzun müddət işləməlisinizsə, daha çox güc təmin etmək üçün DockerPi Power genişləndirmə lövhəmizi istifadə etməyi də məsləhət görürük.
DİQQƏT QEYDİ Davam etməzdən əvvəl "Şəbəkə Elektrik" ini sınamaq təhlükəsi ilə əlaqədar sizi xəbərdar etmək istərdim. Bir şey səhv olarsa ən pis nəticə ölüm və ya ən azından öz evinizi yandırmaq ola bilər. Buna görə də, nə etdiyinizi başa düşmürsünüzsə və ya təcrübəli bir elektrikçidən kömək istəsəniz, bu məqalədə göstərilən heç bir şeyi etməyə çalışmayın. Gəlin başlayaq.
Addım 2: Xüsusiyyətlər
- DockerPi Seriyası
- Proqramlaşdırıla bilən
- Birbaşa nəzarət (proqramlaşdırmadan)
- GPIO pinlərini genişləndirin
- 4 Kanal Rölesi
- 4 Alt I2C Addr Dəstəyi
- Relay Status Led Dəstəyi
- 3A 250V AC dəstəyi
- 3A 30V DC
- Anakartın aparatından asılı olmayan digər Stack lövhələri ilə yığa bilərsiniz (I2C dəstəyi tələb olunur)
Addım 3: Cihaz Ünvan Xəritəsi
Bu lövhənin ayrı qeyd ünvanı var və hər röleyi bir əmrlə idarə edə bilərsiniz.
Digər tələblər:
Python və ya C, shell və ya Java və ya başqa bir dil haqqında əsas anlayış (C, python, shell və java istifadə edəcəm)
- Linux sistemləri haqqında əsas anlayış
- Ağlın Varlığı
İndi irəliləməzdən əvvəl istifadə edəcəyimiz elektrik komponentlərini başa düşməlisiniz:
1. Relay:
Röle, giriş olaraq çox aşağı gərginlik istifadə edərək ümumiyyətlə yüksək gərginliyi idarə etmək üçün istifadə olunan bir elektrik cihazdır. Bu, bir dirəyə sarılmış bir bobindən və dövrəni bağlamaq üçün istifadə olunan iki kiçik metal qapaqdan (qovşaqdan) ibarətdir. Düyünlərdən biri sabitdir, digəri isə hərəkətlidir. Bobin içindən bir elektrik keçirildikdə, bir maqnit sahəsi yaradır və hərəkət edən düyünü statik düyünə doğru çəkir və dövrə tamamlanır. Beləliklə, bobini gücləndirmək üçün kiçik bir gərginlik tətbiq edərək, yüksək gərginliyin hərəkət etməsi üçün dövrəni tamamlaya bilərik. Ayrıca, statik düyün bobinə fiziki olaraq bağlı olmadığından, bir şey səhv olarsa, bobini işlədən Mikrokontrolörün zədələnmə ehtimalı çox azdır.
Addım 4: Röleyi Əsas Elektrik Təchizatı ilə Gücləndirilən Ampul Tutucusuna qoşun
İndi çətin hissəyə, röleyi Ana Elektrik təchizatı ilə işləyən Ampul tutucusuna bağlayacağıq. Ancaq əvvəlcə işıqların birbaşa enerji təchizatı vasitəsi ilə AÇILIŞI və SÖNDÜRÜLMƏSİ haqqında qısa bir fikir vermək istəyirəm.
İndi, ampul əsas təchizata qoşulduqda, ümumiyyətlə bunu iki teli lampaya bağlayaraq edirik. teldən biri "Neytral" teldən, digəri isə əslində cərəyanı daşıyan "Mənfi" teldəndir, AÇMA mexanizmini idarə etmək üçün bütün dövrə əlavə edilmiş bir keçid var. Beləliklə, swith bağlandıqda (və ya açıldıqda), cərəyan lampanı və neytral teldən keçir və dövrəni tamamlayır. Bu, ampulü AÇIR. Şalter açıldıqda dövrəni pozur və ampul sönür. Bunu izah etmək üçün kiçik bir dövrə diaqramı:
İndi sınağımız üçün, dövrəni pozmaq və rölin keçidindən istifadə edərək güc axını idarə etmək üçün "Mənfi Naqilin" röleyimizdən keçməsini təmin etməliyik. Belə ki, röle AÇIŞ edəcəyi zaman dövrəni tamamlamalı və ampul AÇILMALIDIR və əksinə. Tam dövrə üçün aşağıdakı diaqrama baxın.
Addım 5: I2C (Raspberry Pi) konfiqurasiyası
Sudo raspi-config proqramını işə salın və ARM nüvəsi və linux nüvəsi üçün i2c dəstəyi qurmaq üçün göstərişlərə əməl edin.
İnterfeys Seçimlərinə keçin
Addım 6: Proqramlaşdırmadan birbaşa nəzarət (Raspberry Pi)
1 nömrəli kanal rölesini yandırın
i2cset -y 1 0x10 0x01 0xFF
1 nömrəli kanal rölesini söndürün
i2cset -y 1 0x10 0x01 0x00
2 nömrəli kanal rölesini yandırın
i2cset -y 1 0x10 0x02 0xFF
2 nömrəli kanal rölesini söndürün
i2cset -y 1 0x10 0x02 0x00
3 nömrəli kanal rölesini yandırın
i2cset -y 1 0x10 0x03 0xFF
3 nömrəli kanal rölesini söndürün
i2cset -y 1 0x10 0x03 0x00
4 nömrəli kanal rölesini yandırın
i2cset -y 1 0x10 0x04 0xFF
4 nömrəli kanal rölesini söndürün
i2cset -y 1 0x10 0x04 0x00
Addım 7: C dilində proqram (Raspberry Pi)
Mənbə kodu yaradın və "relay.c" adlandırın
#daxil edin
#daxil edin
#daxil edin
#devine DEVCIE_ADDR 0x10
#dele RELAY1 0x01
#RELAY2 0x02
#dele RELAY3 0x03
#dele RELAY4 0x04
0xFF ON #define
#təyin 0x00 OFF
int main (boş)
{
printf ("C -də röleyi yandırın / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
üçün (;;) {
üçün (i = 1; i <= 4; i ++)
{
printf ("$ d rölesini açın", i);
wiringPiI2CWriteReg8 (fd, i, ON);
yuxu (200);
printf ("$ d rölesini söndürün", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
yuxu (200);
}
}
qaytarma 0;
}
Bunu tərtib edin
gcc rölesi.c -ötürməPi -o rölesi
İcra et
./relay
Addım 8: Pythonda proqram (Raspberry Pi)
Aşağıdakı kodun Python 3 istifadə edərək icra edilməsi və smbus kitabxanasının quraşdırılması tövsiyə olunur:
"Relay.py" adlı bir fayl yaradın və aşağıdakı kodu yapışdırın:
t kimi idxal vaxtı
smbus idxal edin
sys idxal edin
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
avtobus = smbus. SMBus (DEVICE_BUS)
Doğru halda:
cəhd edin:
i üçündür (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
yuxu (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
yuxu (1)
e kimi KeyboardInterrupt istisna olmaqla:
çap et ("Döngədən çıx")
sys.exit ()
* Saxlayın və sonra python3 olaraq işləyin:
python3 rölesi.py
Addım 9: Java -da proqram (Raspberry Pi)
I2CRelay.java adlı yeni bir fayl yaradın və aşağıdakı kodu yapışdırın:
java.io. IOException idxal edin;
java.util. Arrays idxal edin;
com.pi4j.io.i2c. I2CBus idxal edin;
com.pi4j.io.i2c. I2CDevice idxal edin;
com.pi4j.io.i2c. I2CFactory idxal edin;
com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException idxal edin;
com.pi4j.platform. PlatformAlreadyAssignedException idxal edin;
com.pi4j.util. Console idxal edin;
ictimai sinif I2CRelay {
// rölin qeydiyyat ünvanı.
ümumi statik final int DOCKER_PI_RELAY_ADDR = 0x10;
// relay kanalı.
ümumi statik son bayt DOCKER_PI_RELAY_1 = (bayt) 0x01;
ümumi statik son bayt DOCKER_PI_RELAY_2 = (bayt) 0x02;
ümumi statik son bayt DOCKER_PI_RELAY_3 = (bayt) 0x03;
ümumi statik son bayt DOCKER_PI_RELAY_4 = (bayt) 0x04;
// Relay statusu
ümumi statik son bayt DOCKER_PI_RELAY_ON = (bayt) 0xFF;
ümumi statik son bayt DOCKER_PI_RELAY_OFF = (bayt) 0x00;
public static void main (String args) InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {atır
son Konsol konsolu = yeni Konsol ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice cihazı = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Röleyi yandırın!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Thread.sleep (500);
console.println ("Röleyi söndürün!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Tövsiyə:
Uzaqdan İdarəetmə Bluetooth İşıq Açarı: 4 Addım (Şəkillərlə birlikdə)
Uzaqdan idarə olunan Bluetooth İşıq Açarı: Bu, " Optimallaşdırılmış Tənbəllik: Olduqca Əhəmiyyətsiz Problemlərin Mühəndisləşdirilmiş Həlli " adlı bir seriyadakı ilk layihə olacaq. Ən pis tərəfi təbii ki
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur.: 9 Addım (Şəkillərlə)
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur .: 25 Noyabr 2017 -ni yeniləyin - Yükün kilovatını idarə edə bilən bu layihənin Yüksək Güclü bir versiyası üçün BLE Nəzarətini Yüksək Güclü Yüklərə Baxın - Əlavə Kablolama Lazım deyil Yeniləmə 15 Noyabr 2017 - Bəzi BLE lövhələri / proqram yığınları
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 4 Addım
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 如何 通用 遥控 器 套件 转换 为 玩具 中 中 遥控 采用 采用 6 6 6 6 6 6 6 6 2262 和 2272 和 433 模块 构建 构建改造 方法 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照
Rəng İdarəetmə ilə Fotoşəkil İşıq Qutu: 5 addım
Rəng İdarəçiliyi ilə Fotoqrafiya İşıq Kutusu: Bir işıq qutusu, bir obyektə düşən işığın nə qədər ağ olduğunu idarə etmək üçün fotoqrafiyada istifadə olunan bir cihazdır. İnternetdə gördüyüm işıq qutusu planlarının çoxu təbii işığa və ya ağ lampalara, floresan lampalara və s