Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Nedávno jsem vstal brzy, mnohokrát jsou dny venku ještě tmavé, ale nechci rozsvítit světla, aby to ovlivnilo odpočinek mé ženy, a tak jsem přemýšlel o koupi nočního světla. Hledal jsem spoustu obchodů s nočním osvětlením, ale nemyslím si, že bych to chtěl, ale v obchodě v Amazonu, který ovládá Raspberry Pi, jsem viděl noční světlo s názvem DockerPi. Je velmi dobrý a může poskytovat funkce pro kutily. Přečetl jsem si wiki popis tohoto produktu, je to Může být přímo řízen příkazovým řádkem, jako programátor používající systém Linux si myslím, že je to velmi cool, tak jsem to koupil zpět a zahájil tento projekt.
Krok 1: Krok 1: Připravte vše
Po vybalení a poté odstraním ochranný kryt na akrylové desce a poté pomocí šroubů a měděné tyče připevním modul DockerPi k mému Raspberry Pi. je to stabilní.
Krok 2: Krok 2: Flashujte nejnovější obrázek Rasbpian OS na kartu SD
Stáhnu si nejnovější obrázek Raspbian z:
a poté proveďte záblesk obrázku pomocí softwaru s názvem: etcher
stáhnout můžete zde:
rozbalte soubor obrázku z balíčku gzip a získáte soubor *.img, vyberte obrázek a vyberte disk, který váš počítač rozpoznal kartu TF, stačí stisknout „Flash“a počkat několik minut, bude hotovo.
a poté vyjměte kartu TF a vložte ji do svého Raspberry Pi a zapněte ji.
Krok 3: Krok 3: Zapněte funkci I2C z Raspi-config
Když se Raspberry pi spustil, otevřel jsem terminál a zadal tento příkaz: sudo raspi-config
a přejděte na „Možnosti rozhraní“, vyberte „I2C“a povolte jej. proč bych měl používat tento příkaz?
Protože modul nočního osvětlení DockerPi používá protokol I2C, komunikuje s Raspberry Pi.
Krok 4: Krok 4: PŘIPOJTE akrylový panel ke slotu
Hodí se do slotu velmi dobře a můžete vidět obrázek, že akrylový panel může zůstat ve slotu stále.
dalším krokem je spuštění testovacího kódu, který zkontroluje, zda funguje správně.
Stáhl jsem si ukázkový kód z github zadáním tohoto příkazu do terminálu na Raspberry Pi.
cd ~
klon git
CD dockerpi/Noční světlo/
sudo./Nightligh.sh
a pak se moje noční světlo rozsvítí a zazáří.
Přečetl jsem si návod na jeho wiki a našel jsem všechny mapy map registrů LED světla.
další krok bude nejzábavnější, chci přidat infračervený pyroelektrický senzor lidského těla, ať zjistí, že jsem rozsvícen, abych rozsvítil toto malé noční světlo ~
Krok 5: Krok 5: Nastavení infračerveného pyroelektrického senzoru
Zde používáme pohybový senzor PIR. PIR znamená pasivní infračervený. Tento pohybový senzor se skládá z fresnelovy čočky, infračerveného detektoru a podpůrných detekčních obvodů. Čočka na senzoru zaostřuje veškeré přítomné infračervené záření směrem k infračervenému detektoru. Naše těla generují infračervené teplo a v důsledku toho je toto teplo zachyceno pohybovým senzorem. Senzor vydává signál 5 V po dobu jedné minuty, jakmile detekuje přítomnost osoby. Nabízí předběžný dosah detekce asi 6–7 metrů a je vysoce citlivý. Když snímač pohybu PIR detekuje osobu, vyšle signál 5V na Raspberry Pi prostřednictvím jeho GPIO a my definujeme, co by měl Raspberry Pi dělat, protože detekuje vetřelce prostřednictvím kódování Pythonu. Zde právě tiskneme „Detekován narušitel“.
Poté, co si nastavíte Raspberry Pi, se můžeme začít motat s jeho GPIO piny. Zde se pokusíme blikat LED pomocí skriptu Python. Zkopírujte a vložte následující kód do svého Raspberry Pi. Můžete to udělat tak, že na svém Raspberry Pi otevřete textový editor „leafpad“a zkopírujete do něj tento kód a uložíte jej jako soubor Pythonu: nightlight.py:
#import libararies.
importujte RPi. GPIO jako GPIO
čas importu
importovat smbus
DEVICE_BUS = 1
DEVICE_ADDR = 0x15
GPIO.setwarnings (False)
GPIO.setmode (GPIO. BOARD)
GPIO.setup (11, GPIO. IN) #Čte výstup ze snímače pohybu PIR
bus = smbus. SMBus (DEVICE_BUS) # instance smbus pro zařízení i2c, znamená noční světlo.
zatímco pravda:
Snaž se:
i = GPIO.input (11)
pokud i == 0: #Když je výstup ze snímače pohybu NÍZKÝ
tisk („Žádní vetřelci“, i)
pro i v rozsahu (1, 25):
bus.write_byte_data (DEVICE_ADDR, i, 0x00) #Turn OFF LED
time.sleep (0,2)
time.sleep (0,1)
elif i == 1: #Když je výstup ze snímače pohybu VYSOKÝ
tisk ("Narušen narušitel", i)
pro i v rozsahu (1, 25):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #Vypnout LED
time.sleep (0,2)
time.sleep (0,1)
kromě KeyboardInterrupt jako e:
tisk („Opustit smyčku“)
a poté jej uložte a nechejte jej běžet během spouštění Raspberry Pi.
sudo vim.tiny /etc/rc.local
a přidejte tento řádek před exit 0:
sudo python /home/pi/nightlight.py &
a poté jej uložte a restartujte Pi, bude fungovat správně …
Děkujeme za sledování ~