Përmbajtje:
- Hapi 1: Qarku elektronik
- Hapi 2: Kodi Python
- Hapi 3: Si të nisni skriptin automatikisht pas procedurës së nisjes
Video: Butoni i fikjes për Raspberry Pi: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Raspberry Pi është një platformë kompjuterike shumë e dobishme që lejon krijimin e aplikacioneve të ndryshme të projektit IoT/robotikë/smart-home/…. Megjithatë, një gjë që nuk e ka, në krahasim me një kompjuter normal, është një buton i fikjes. Pra, si mund ta krijojmë një vetë? Mirë, le ta bëjmë së bashku!
Për këtë tutorial, do t'ju duhet sa vijon:
- 1 Raspberry Pi tashmë e konfiguruar dhe gati për përdorim
- 1 pjatë ose diçka që do t'ju lejojë të krijoni qark elektronik
- 1 buton
- 2 tela kërcyes
Nëse nuk keni përdorur kurrë një Raspberry Pi, mund të shikoni tutorialin tim se si dhe çfarë të bëni për ta konfiguruar atë:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Hapi 1: Qarku elektronik
Asgjë super e komplikuar këtu, është një qark mjaft i drejtpërdrejtë. 2 fotografitë e mësipërme po shpjegojnë ndërtimin e qarkut. Ju mund të përdorni cilindo pin GPIO që dëshironi për hyrjen e butonit, thjesht duhet të siguroheni që të azhurnoni kodin për ta pasqyruar atë.
Le të shpjegojmë shpejt se si do të funksionojë kjo:
- tela KUQ po e merr 3.3V në njërin skaj të butonit të shtypjes.
- kabllo BLACK po lidh skajin tjetër të butonit shtytës me një GPIO Pi i cili do të përdoret si hyrje.
- si parazgjedhje butoni është i hapur, kështu që nuk ka tension që kalon përmes tij. Pra, kablloja BLACK është në 0V kur butoni nuk shtypet. Kjo do të thotë që gjendja logjike e hyrjes Pi GPIO është 0.
- kur butoni do të shtypet, tensioni do të kalojë përmes tij dhe kablli ZI do të lidhet me 3.3V. Raspberry Pi do të shohë një tension prej 3.3V në hyrjen e tij, që korrespondon me një gjendje logjike prej 1.
Hapi 2: Kodi Python
Tani që qarku është gati për t'u përdorur, ne duhet të shkruajmë kodin që do ta drejtojë atë, dhe unë jam duke përdorur Python në një mjedis PyCharm këtu. Konfigurova butonin për të fikur Raspberry Pi vetëm kur shtypet për më shumë se 3 sekonda rrjedhimisht. Arsyeja pse po e bëj këtë është se është shumë e lehtë ta shtypësh atë rastësisht dhe ju nuk doni ta mbyllni Pi tuaj rastësisht.
Ekrani i printimit më sipër është nga mjedisi im PyCharm, dhe kodi është si më poshtë (me një ndryshim të vogël në rreshtin 26 i cili është i lidhur me një projekt tjetër por nuk kërkohet këtu):
# Ky është një kod aa për të fikur Raspberry Pi kur shtypni dhe mbani butonin e përcaktuar për të çaktivizuar Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # Skema e numërimit të pin-it BroadcomGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Butoni i caktuar si hyrje E vërtetë: GPIO.wait_ button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Switch debounce while GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - fillo nëse gjatësia > koha e mbajtjes: os.system ("sudo poweroff")
Gjëja e parë, nëse e keni lidhur butonin shtytës me një GPIO tjetër, është të përditësoni rreshtin 11 në ekranin e mësipërm të printimit me hyrjen përkatëse GPIO:
button_poweroff = GPIO_X # Përditësoni me GPIO -në e duhur të përdorur në qarkun tuaj
Gjithashtu, ndryshorja hold_time ju lejon të modifikoni kohën e pritjes që shkakton mbylljen e Pi.
Hapi 3: Si të nisni skriptin automatikisht pas procedurës së nisjes
Tani që kemi kodin gati, na mbetet vetëm ta ekzekutojmë. Por, do të ishte e përshtatshme nëse mund ta ekzekutonim këtë skenar sa herë që Pi fillon, në mënyrë automatike, kështu që butoni do të funksiononte pa ne për të ekzekutuar skriptin çdo herë. Ka shumë mënyra për ta bërë këtë. Unë kam shtuar këtu një rresht në skedarin rc.local i cili ndodhet në dosjen / etc / të Pi tuaj. Ekzekutohet si pjesë e sekuencës së nisjes.
Ju duhet të hapni një linjë komande dhe të shkruani komandat e mëposhtme (ekrani i parë i printimit më lart):
cd /
cd etj sudo nano rc.lokal
Komanda e parë do t'ju çojë nga drejtoria juaj /home /pi në atë rrënjë, e cila është /.
Komanda e dytë do t'ju çojë në drejtorinë / etc /.
Së fundi, i treti do të hapë skedarin rc.local si një superpërdorues, me të drejta të plota redaktimi, të cilat ju nevojiten për të modifikuar skedarin.
Pasi të jeni në skedar, ju vetëm duhet të shtoni një rresht në fund të tij, por para deklaratës dalje 0 (ekrani i dytë i printimit më lart):
# Shtoni këtë rresht në skedarin rc.local për të nisur skriptin
sudo python /home/pi/Documents/shutdown_with_hold.py &
Ka disa gjëra që ju duhet t'i kushtoni vëmendje, këtu:
- emri i skedarit tuaj: në rreshtin e mësipërm, po supozoj se skedari është mbyllur_with_hold.py. Por mund të jetë gjithçka që dëshironi, thjesht azhurnoni emrin me tuajin.
- ku e keni ruajtur skedarin tuaj: në rreshtin e mësipërm, unë supozoj se është ruajtur në drejtorinë tuaj/home/pi/Documents. Por përsëri, mund të jetë kudo. Thjesht duhet të siguroheni që të vendosni rrugën absolute në skedarin tuaj këtu.
- karakteri "&" në fund të tij: kjo është e rëndësishme dhe lejon që kjo komandë të funksionojë në sfond
Dhe kjo eshte! Pra, tani, skenari do të ekzekutohet sa herë që Pi juaj të jetë i ndezur, dhe thjesht do të duhet të shtypni më shumë se 3 sekonda në butonin për ta fikur atë.
Recommended:
Treguesi i fikjes së mjedrës Pi: 6 hapa
Treguesi i fikjes së mjedrës Pi: circuitshtë qark shumë i thjeshtë për të treguar statusin operacional të mjedrës pi (në tekstin e mëtejmë si RPI). Ndoshta është e dobishme kur përdorni RPI si pa kokë (pa monitor). Ndonjëherë jam i shqetësuar kur është koha e duhur për fikje të plotë pas mbylljes së RPI.
Sistemi i njohjes dhe fikjes së zjarrit bazuar në përpunimin e imazhit: 3 hapa
Sistemi i Njohjes dhe Shuarjes i Zjarrit i bazuar në Përpunimin e Imazhit: Përshëndetje miq ky është një sistem zbulimi dhe shuarje zjarri i bazuar në përpunimin e imazhit duke përdorur Arduino
Kohëmatësi i vonuar i fikjes për biçikletën: 5 hapa
Kohëmatësi i vonuar i fikjes për biçikletën: Problem: Unë kam shtuar pajisje të ndryshme në biçikletën time. Problemi është ose ato janë të lidhura drejtpërdrejt me baterinë dhe nxjerrin një rrymë rrjedhjeje ose pas ndërprerësit kryesor dhe nuk janë të disponueshme kur e fik biçikletën time. Shembuj: Ju duhet të ngarkoni
Kohëmatësi i fikjes me Arduino: 3 hapa
Kohëmatësi i fikjes me Arduino: Përshëndetje, me këtë projekt do të jeni në gjendje të kontrolloni ON dhe OFF të pajisjeve tuaja midis kohës që dëshironi. Ato mund të jenë dritat, ndizni një makinë, etj. Ne do të përdorim kontrollin e kohës të Arduino, RTC 1307 dhe Solid State Realy (SSR 25 DA)
Mikrokontrolluesi AVR. Ndryshoni LED -të duke përdorur një çelës butoni me shtytje. Butoni i Shtypjes Debouncing .: 4 Hapa
Mikrokontrolluesi AVR. Ndryshoni LED -të duke përdorur një çelës butoni me shtytje. Butoni i Shtypjes Debouncing .: Në këtë pjesë, ne do të mësojmë Si të bëjmë programin C kodin për ATMega328PU për të ndryshuar statusin e tre LED -ve sipas hyrjes nga një çelës butoni. Gjithashtu, ne kemi eksploruar një zgjidhje për problemin e "Switch Bounce". Si zakonisht, ne duam