Tartalomjegyzék:
- 1. lépés: Mi a Pi Zero W?
- 2. lépés: Scotty, több erőre van szükségünk
- 3. lépés: Az érzékelő elhelyezése és szoftvere
- 4. lépés: A Pi beállítása
- 5. lépés: WiFi idő
- 6. lépés: Bejelentkezés
- 7. lépés: Vezetékek
- 8. lépés: Gyújtsa fel
- 9. lépés: Választható lépés és hasznos parancsok
Videó: Pi alapú parkolássegítő rendszer: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Halihó! Íme egy remek kis projekt, amelyet egyetlen délután alatt elkészíthet, majd naponta használhatja. A Raspberry Pi Zero W -n alapul, és segít minden alkalommal tökéletesen parkolni.
Íme a szükséges alkatrészek teljes listája:
- Raspberry Pi Zero W (ebben a cikkben ezt „rpi” -nek vagy „pi” -nek nevezzük)
- 4 GB vagy nagyobb micro SD kártya a pi OS számára
- Két apróLiDAR repülési távolság -érzékelő modul
- 32x32 RGB LED panel (sok gyártó rendelkezik ezzel, különböző pontmagasságokkal, például használhatja az Adafruit 1484 vagy hasonló terméket, csak keressen rá a „32x32 LED Matrix” kifejezésre a Google -on). A panelünk 6 mm -es dőlésszögű volt.
- 25 láb CAT5 kábel
- kb. 22 színű férfi -férfi csatlakozóvezeték
- 5V 2Amp microUSB tápegység (mobiltelefon töltő) Készen áll? Gyerünk!
TL; DR Összefoglaló
- Töltse le a Raspbian Lite operációs rendszert az rpi -hez
- Állítsa be a pi -t, hogy fejetlenül fusson WiFi -n keresztül statikus IP -címmel
- Állítsa be a számítógép fejlesztői környezetét PuTTY, WinSCP és opcionálisan SublimeText w/ FTP kiegészítéssel
- Töltse le, készítse el és kösse össze a LED panel illesztőprogramját
- Töltse le és telepítse a pigpio programot
- Töltse le Python kódunkat
- Csatlakoztassa a 32x32 LED kijelzőpanelt
- Készítse el a CAT5 hosszabbító kábelt az oldalsó apróLiDAR érzékelőhöz
- Választható lépés (de csak haladó felhasználóknak): gyorsan táncoljon, ha minden működik;)
1. lépés: Mi a Pi Zero W?
Kétségkívül hallott a Raspberry Pi -ről, de mi a fene az a pi 'Zero W'?
A Raspberry Pi Zero és a Zero W a Pi család újabb kiegészítései, amelyek inkább az IoT és más alacsony költségű beágyazott alkalmazások számára készültek. Ezek az eredeti pi tábla lecsupaszított verziói, de továbbra is erős 1 GHz -es processzorral rendelkeznek. Itt egy jó összehasonlítás az összes modell között.
A Pi Zero W itt a többi vezérlőpanellel szembeni előnyünk, hogy könnyen programozhatjuk a magasabb szintű Python nyelven, miközben továbbra is használjuk a gyors C/C ++ LED panelvezérlőket. Ez is vonzó áron mindössze 10 USD.
Ne feledje, hogy mivel ez a tábla egy teljes pi lecsupaszított változata - néhány dolog megváltozott. Különösen megszűnt az ethernet jack csatlakozó, a HDMI csatlakozó mini méretűre váltott, és a négy USB port egyszerűsödött, csak egy mikro USB típusra. Van egy másik micro USB csatlakozó a fedélzeten, de ez csak a tápellátás biztosítására szolgál. A teljes méretű USB -csatlakozók kiküszöbölése bizonyos bonyodalmakat okoz. Nevezetesen, hogyan csatlakoztathatja a billentyűzetet és az egeret? A szabványos USB perifériák és elosztók A típusú, nem pedig mikro típusú csatlakozókat használnak.
Mit tehetünk tehát?
Mehetünk fej nélkül!
Nem, nem őrülni akarunk, hanem a normál közvetlen vezetékes beállítás alternatíváját kell használni. A fej nélküli azt jelenti, hogy "biztonságos alagút" (SSH) hálózati kapcsolat segítségével "alagútba" juttatja a pi -t. Ebben a projektben a fej nélküli megközelítést fogjuk használni a WiFi -n keresztül. Ezért indokolt számunkra, hogy a pi zero W változatát választjuk a még alacsonyabb költségű pi nulla helyett.
Ne feledje, hogy van egy másik módja is, hogy a pi -t fej nélküli módban futtassa VNC néven. Ennek ellenére speciális VNC szoftverre van szüksége a számítógépen, mivel teljes virtuális grafikus asztalt biztosít a számítógépen. Nem igényeljük (és nem is akarjuk) az asztalt a projektünkhöz, ezért maradunk az egyszerűbb SSH módszernél.
2. lépés: Scotty, több erőre van szükségünk
A 32x32 LED -es mátrixpanel önmagában több amper áramot is felvehet. Nem viccelek! Ezért ezeknek a paneleknek a többsége tartalmaz egy jókora tápkábelt a tápellátáshoz. Szerencsénkre, bár ehhez a projekthez nem kell hatalmas tápegységet beszereznünk. Ezt az egész rendszert csak egy tartalék 5v/2amp microUSB mobiltelefon -töltővel tudtuk táplálni. Az alacsonyabb áramerősség oka az, hogy viszonylag egyszerű grafikát használunk, és ezért nem kapcsoljuk be a legtöbb LED -et. Ha animáció készítésén vagy videó/fényes grafika használatán gondolkodik, akkor mindenképpen fontolja meg a panel külön tápegységről történő áramellátását.
3. lépés: Az érzékelő elhelyezése és szoftvere
Észrevette, hogy két apróLiDAR -t használunk ebben a rendszerben egyetlen helyett? Amint az a garázs beállítási diagramján látható, az egyiket az autó elé, a másikat az autó egyik oldala mentén kell elhelyezni.
Az oldalsó érzékelő észleli, ha az autó parkolásakor elfordul a központtól, és természetesen az első megmondja, mikor kell megállnia.
A 32x32 LED -es kijelző segít abban, hogy nyilakat mutat előre, balra vagy jobbra, és visszaszámláló kijelző színes sarkokkal jelzi, hogy milyen messze kell még mennie. Tekintse meg rövid videónkat az összes megjelenítési állapotról.
Játék terv
Dióhéjban: a LED -illesztőprogramhoz az egyre népszerűbb hzeller C könyvtárat, a vezérlőkódhoz Python -t, a szenzorok megfelelő I2C -vezérléséhez pedig a pipgpio C könyvtárat használjuk.
A Python egy szuper könnyű, magas szintű nyelv, amelyet könnyen szerkeszthet bármilyen szövegszerkesztőben. Általában SublimeText -et használunk, és ehhez a projekthez egy nagyon hasznos FTP -bővítményt is használtunk, amely lehetővé teszi a szkriptfájlok közvetlen szerkesztését a pi -n. Ez egy opcionális lépés, mivel csak akkor szükséges, ha szerkeszteni szeretné a kódot. További részletek a cikk végén találhatók.
Minden rpi tábla, amint azt Ön is tudja, nem támogatja natív módon az I2C óra nyújtását. Tehát ismét a pigpio könyvtárat használtuk ehhez a projekthez az apróLiDAR érzékelők vezérlésére, de ezúttal enyhe csavarral…
Több apróLiDAR
Amikor apróLiDAR -t vásárol, az mindig az alapértelmezett slave -címre van beállítva, 0x10. Ez akkor jó, ha egyetlen érzékelőt használ, de ha egynél több van a buszon, akkor probléma lehet, ha parancsot ír 0x10 -re, és mindegyik válaszol!
Tehát itt van 3 lehetőségünk:
Először is, a (tinyLiDAR) "R" paranccsal új slave címet írhatunk az I2C buszhoz csatlakoztatott érzékelőhöz. Ezután ismételje meg ezt minden érzékelőnél. Az egyes érzékelők fizikai rögzítése, írása és leválasztása ehhez az eljáráshoz. A tinyLiDAR tárolja a megadott címet a fedélzeti nem felejtő memóriájában. A cím akkor is megmarad, ha újra bekapcsolja a rendszert, amíg nem törli azt a RESET parancs kiadásával.
A második lehetőség a kényelmes automatikus hozzárendelés funkció használata, amelyet az IGG kampányban nyújtási célként hoztunk létre. Ez magában foglalja az "AR" parancs elküldését, majd az ujjainak mutogatását minden érzékelőre, hogy automatikusan hozzárendelje az egymást követő I2C címeket az egyes érzékelőkhöz, hasonlóan az első opcióhoz, de ehhez nem kell fizikailag lekapcsolni az egyes érzékelőket.
A harmadik lehetőség az, amelyet itt használunk ebben a projektben, és ez lehetséges a pigpio könyvtárnak köszönhetően. Az I2C szabvány megfelelő megvalósítása érdekében pigpio bitbangs a GPIO -t. Emiatt könnyen létrehozhatunk különálló I2C buszokat szinte minden pár tartalék GPIO tűn.
Ezért nincs szükség a több LiDAR érzékelő slave címeinek újraprogramozására. Mindegyikhez külön buszt használhatunk:)
Ne feledje, hogy a 100Kbps sebességgel futó I2C busz valójában elég robusztus. Sima régi CAT5 ethernet kábellel futtatjuk az I2C buszt az oldalsó apróLiDAR érzékelőhöz, amely 25 láb távolságra van, aktív ismétlőelemek nélkül! Az érzékelő huzalozásának részletei fent láthatók.
Rendben, elég jibber jabber, kezdjük a kód letöltését!
4. lépés: A Pi beállítása
Vigyázat: A pi Linux fájlrendszert használ, ezért a legjobb, ha az alábbi lépéseket Linux alapú rendszeren hajtja végre. Előfordulhat, hogy az SD -kártyát újraformázza, ha ezt Windows rendszeren teszi. A félelmetes és ingyenes Ubuntu 18.04 asztali számítógépet használtuk virtuális környezetben, Windows 10 PC -n, de kipróbálhat valami hasonlót.
Először le kell töltenie az operációs rendszert a raspberrypi.org webhelyről, majd el kell írnia a microSD -kártyára. Tehát kövesse az alábbi lépéseket:
(1) Az Ubuntuban menjen ide, és ragadja meg a Raspbian Lite képet. Mentse el a letöltések mappába.
(2) Ezután töltse le az Etcher SD kártya író segédprogramot. FYI - a hivatalos Etcher letöltési link a Linux verzióhoz a honlapjukon nem működött számunkra, ezért inkább az itt leírt módszert használtuk:
Összefoglalva a linkben leírt lépések a következők voltak:
Az Etcher debian adattár hozzáadása:
echo "deb https://dl.bintray.com/resin-io/debian stabil etcher" | sudo tee /etc/apt/sources.list.d/etcher.list
Bízz a Bintray.com GPG -kulcsában:
sudo apt-key adv-kulcsszerver kulcsszerver.ubuntu.com --recv-keys 379CE192D401AB61
Frissítés és telepítés:
sudo apt-get update
sudo apt-get install etcher-electron
A befejezés után elindíthatja az Etchert az Ubuntu asztaláról. Megkérdezi a forrásfájlt (amelyet a letöltések mappába helyez). Az Etcher következő lépése a megfelelő cél kiválasztása. Az Etcher jó munkát végez a micro SD -kártya észlelésében, de itt paranoiásnak kell lennie. Annak ellenőrzéséhez, hogy megtalálja -e a megfelelő úti célt - próbálja ki a microSD -kártyát az Ubuntu fájlkezelő ablakában a kiadás gombra kattintva, és ellenőrizze, hogy az eltűnik -e az Etcher belső célpontjaként. Ezután tegye vissza, és folytassa az utolsó lépéssel, azaz írja be a fájlt erre a microSD -kártyára.
Várjon egy kicsit, amíg elkészül, majd folytassa tovább.
5. lépés: WiFi idő
Oké, most itt az ideje, hogy megadja a WiFi adatait.
Tipp: a parancsok begépelése helyett bármikor másolhat (Ctrl+C), és beilleszthet (jobb kattintás, beillesztés) információkat ebből a cikkből a PuTTY terminál képernyőjére. A cikk végén számos hasznos Linux parancsot is talál.
Amikor Etcher befejezte a mikro SD kártyára való írást, 2 meghajtó jelenik meg a fentiek szerint. Az egyiket bootnak hívják, a másikat rootfs -nek
A fájlkezelővel kell belépnünk a rendszerindító mappába, és létre kell hoznunk a wpa_supplicant.conf nevű fájlt.
Ehhez kattintson a bal oldalra, ahol azt írja, hogy boot, majd a képernyő jobb oldalán kattintson a jobb egérgombbal a fehér háttérre, és válassza a Megnyitás a terminálban lehetőséget.
Ekkor megnyílik egy terminál ablak (hasonló a CMD -hez a Windows rendszerben), ahová beírhatja a következőket:
sudo nano wpa_supplicant.conf Tipp: Meg kell adnia a Linux rendszerjelszavát, hogy szuperfelhasználóként fusson. Ez kötelező, különben nem tudja menteni a fájlokat, ha befejezte a szerkesztést
A fenti parancs elindítja a "nano" szövegszerkesztőt, ahol megadhatja a következő információkat:
ország = USA
ctrl_interface = DIR = /var /run /wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "WiFi_SSID" scan_ssid = 1 psk = "WiFi_Password" key_mgmt = WPA - PSK}
Megjegyzés: Ne felejtse el lecserélni a WiFi_SSID és WiFi_Password kódokat saját WiFi hálózatának nevére és jelszavára.
Ha elkészült, kattintson a Ctrl+X gombra a kilépéshez, és válaszoljon Igennel a fájl írására kilépéskor.
Következő lépésünk egy üres fájl létrehozása ssh néven. Ehhez egyszerűen írja be a következőt a terminál ablakába:
érintse meg az ssh gombot
Most meg kell adnunk pi -nek egy statikus IP -címet, hogy mindig tudjuk, hol van, amikor csatlakozni akarunk hozzá. Írja be a következőt a terminál ablakába:
sudo nano /etc/dhcpcd.conf
Ennek újra meg kell nyitnia a nano szövegszerkesztőt, és ezt a szöveget hozzáadhatjuk a fájl aljához:
wlan0 interfész
static ip_address = 192.168.0.static routers = 192.168.0.1 static domain_name_servers = 192.168.0.1 8.8.8.8
Megjegyzés: Ez feltételezi, hogy a hálózati előtag 192.168.0. Ha van 192.168.1 stb., Akkor használja a hálózatát. A 8.8.8.8 tartománynév -kiszolgáló a Google számára készült, és itt nem kötelező.
A terminál bezárásához írja be az „exit” parancsot. Ezután kattintson a jobb gombbal a rendszerindító nevére a Fájlkezelő ablak bal oldalán, és válassza a Kiadás lehetőséget.
Most csatlakoztathatja ezt a microSD -kártyát a pi -hez, és csatlakoztathatja a microUSB tápkábelt a pi tápellátásához.
Ha minden jól megy, a zöld LED egy ideig villogni fog, mintha egy merevlemez -meghajtóhoz férne hozzá, és be kell jelentkeznie a WiFi hálózatra. Hagyjon körülbelül egy percet, hogy leülepedjen, és várja meg, amíg a LED folyamatosan zöldre vált.
Annak ellenőrzésére, hogy minden működik, megpróbálhatjuk pingelni.
Tehát csak írja be az alábbi sort, és ellenőrizze a választ.
ping 192.168.0.200
Az Ubuntuban valami hasonlót kell kapnia:
ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56 (84) bájt adat. 64 bájt a 192.168.0.200 -ból: icmp_seq = 1 ttl = 128 idő = 752 ms ms ^C --- 192.168.0.200 ping statisztika --- 3 csomag továbbítva, 3 fogadva, 0% csomagvesztés, idő 2001ms rtt min/avg/max/mdev = 5.777/255.346/752.922/351.839 ms
Ne feledje, hogy a ping addig működik, amíg le nem nyomja a Ctrl+C billentyűt.
Windows alatt valami ilyesmit kell kapnia:
ping 192.168.0.200
Pinging 192.168.0.200 32 bájt adatokkal: Válasz 192.168.0.200: bájt = 32 idő = 4 ms TTL = 64 Válasz 192.168.0.200: bájt = 32 idő = 5ms TTL = 64 Válasz 192.168.0.200: bájt = 32 idő = 6ms TTL = 64 Válasz a 192.168.0.200 bájtból: 32 idő = 5ms TTL = 64 Ping statisztika a 192.168.0.200: Csomagok: Elküldve = 4, Fogadott = 4, Elveszett = 0 (0% veszteség), Hozzávetőleges oda -vissza út milli-másodpercben: minimum = 4 ms, maximum = 6 ms, átlagos = 5 ms
Minden rendben? Tovább…
6. lépés: Bejelentkezés
Most, hogy van kapcsolatunk a pi -vel, parancsokat akarunk küldeni. De hogyan? PuTTY persze! A PuTTY beállítása A PuTTY szoftver letöltése után készítsen profilt a pi -nek a következő információkkal:
Gazdagép neve (vagy IP -címe): 192.168.0.200 Kapcsolat típusa: SSH Adjon nevet ennek a profilnak a Mentett munkamenetek alatt, majd kattintson a Mentés gombra. Bármilyen nevet használhat, például "rpizw_200"
A bejelentkezéshez válassza ki a listából, és nyomja meg a Betöltés gombot. Ezután nyomja meg a Megnyitás gombot. A bejelentkezéshez adja meg a felhasználónevet és a jelszót:
bejelentkezési név: pi
Defalt jelszó: málna
Íme egy minta a PuTTY -ban, amikor bejelentkezik:
jelentkezzen be: pi
[email protected] jelszava: Linux raspberrypi 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l A Debian GNU/Linux rendszerhez tartozó programok ingyenes szoftverek; az egyes programok pontos terjesztési feltételeit az/usr/share/doc/*/copyright mappában található egyes fájlok írják le. A Debian GNU/Linux -ot abszolút NEM SZOLGÁLTATJA, a vonatkozó törvények által megengedett mértékben. Utolsó bejelentkezés: [dátum és idő] a 192.168.0 -ból. [Ip address] Az SSH engedélyezve van, és a "pi" felhasználó alapértelmezett jelszava nem változott. Ez biztonsági kockázat - kérjük, jelentkezzen be „pi” felhasználóként, és írja be a „passwd” parancsot új jelszó beállításához.
Első bejelentkezéskor figyelmeztet, hogy még nem változtatta meg a jelszót. Változtassa meg valami erősre, mégis könnyen megjegyezhetőre, ezért folytassa és módosítsa a passwd begépelésével, és kövesse az utasításokat.
Legközelebb frissítenünk kell a pi szoftverét, ha beírjuk ezt:
sudo apt-get update && sudo apt-get upgrade
Ezzel letöltheti az internetkapcsolatából a szükséges frissítéseket. Válaszoljon IGEN -re, ha a rendszer kéri, hogy folytassa, majd hagyjon némi időt a frissítésre.
Ebben az időben valószínűleg ki kell kapcsolnunk a hangot a pi -n, mivel rossz juju van a LED -illesztőprogram -könyvtárral. Másolja, illessze be egyenként a következő sorokat, és nyomja meg az Enter billentyűt minden sor után:
cd ~
macska << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf feketelista snd_bcm2835 EOF sudo update-initramfs -u
A kimenet valami ilyesmi lesz:
pi@málna: ~ $ cd ~
pi@raspberrypi: ~ $ cat <> feketelista snd_bcm2835>> EOF tiltólista snd_bcm2835 pi@raspberrypi: ~ $ sudo update -initramfs -u pi@raspberrypi: ~ $
Ezután újra kell indítanunk a pi -t, hogy a módosítások életbe lépjenek, ezért írja be a következőt:
most újra kell indítani a sudo -t
A kapcsolat természetesen megszakad, mivel a pi újraindul, így bezárhatja a PuTTY -t. Próbáljon meg egy perc múlva bejelentkezni.
Most itt az ideje, hogy beszerezzen egy grafikus FTP fájlkezelőt WinSCP néven. A WinSCP -t innen töltheti le
A WinSCP nagyon hasonlít a Windows és az Ubuntu fájlkezelőjéhez. Lehetővé teszi számunkra, hogy egyszerűen húzzuk és dobjuk a fájlokat a pi -be és onnan, és készítsünk címtárakat egyetlen egérgombbal.
Miután letöltötte, be kell állítania egy profilt a pi -hez.
WinSCP beállítása A Bejelentkezés ablakban válassza az Új webhely lehetőséget. A munkamenethez használja a következő beállításokat:
Fájlprotokoll: SFTP Hosztnév: 192.168.0.200 Felhasználónév: pi Jelszó: {bármilyen jelszóra módosította az alapértelmezettet a fenti PuTTY lépésben}
A Speciális webhelybeállításokban lépjen a Környezet | Könyvtárak és írja be a /home /pi parancsot a Távoli könyvtárhoz, és bármit, amit szeretne a Helyi címtár beállításhoz.
A Speciális webhelybeállításokban lépjen a Környezet | Shell és válassza a sudo su - lehetőséget a Shell legördülő listában.
Ezután nyomja meg a Mentés gombot.
A következő lépések végrehajtása közben tartsa nyitva a WinSCP -t és a PuTTY -t
Lépjen a PuTTY terminálra, és írja be a következőt:
cd ~
Ezzel eljutunk a pi könyvtárba.
Most megkaphatjuk a LED -illesztőprogram -könyvtárat a github -ból. A legújabb kód használatához ki kell húznunk a repót, így telepítenünk kell a git segédprogramot.
Ezt írja be a PuTTY -ba:
sudo apt-get install git
válaszolj Y -t a folytatáshoz, és néhány másodpercbe telik, amíg telepíted a git -t az internetről.
A kimenetnek valahogy így kell kinéznie:
pi@raspberrypi: ~ $ sudo apt-get install git
Csomaglisták olvasása… Kész Függőségi fa építése Állapotinformációk olvasása… Kész A következő további csomagok kerülnek telepítésre: git-man liberror-perl Javasolt csomagok: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn A következő új csomagok kerülnek telepítésre: git git-man liberror-perl 0 frissítve, 3 újonnan telepített, 0 eltávolítandó és 0 nincs frissítve. 4,848 kB archívumot kell beszereznie. A művelet után 26,4 MB további lemezterület kerül felhasználásra. Akarod folytatni? [Y/n] y Get: 1 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf liberror-perl all 0.17024-1 [26.9 kB] Get: 2 https://muug.ca/mirror/ raspbian/raspbian stretch/main armhf git-man all 1: 2.11.0-3+deb9u3 [1, 433 kB] Get: 3 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] Letöltve 4, 848 kB 5s-ben (878 kB/s) Korábban nem kiválasztott liberror-perl csomag kiválasztása.(Az adatbázis olvasása… 34363 fájl és könyvtár van telepítve.) A kicsomagolás előkészítése…/liberror-perl_0.17024-1_all.deb… A liberror-perl (0.17024-1) kicsomagolása… A korábban nem kiválasztott git-man csomag kiválasztása. A kicsomagolás előkészítése…/git-man_1%3a2.11.0-3+deb9u3_all.deb… A git-man kicsomagolása (1: 2.11.0-3+deb9u3)… A korábban nem kiválasztott csomag git kiválasztása. A kicsomagolás előkészítése…/git_1%3a2.11.0-3+deb9u3_armhf.deb… A git kicsomagolása (1: 2.11.0-3+deb9u3)… A git-man beállítása (1: 2.11.0-3+deb9u3)… Beállítás liberror-perl (0.17024-1)… A man-db aktiválási szabályainak feldolgozása (2.7.6.1-2)… A git beállítása (1: 2.11.0-3+deb9u3)…
Most térjen vissza a WinSCP -hez, és keresse meg a /home /pi mappát. Ezután a WinScp ablak jobb oldalán kattintson a jobb egérgombbal, és válassza a "parkolás" nevű új könyvtár létrehozását
Visszatérve a PuTTY képernyőre, írja be az ls -t, hogy megerősítse, hogy csak új mappát hozott létre a pi -ben. Akkor ezt írja be:
cd p [TAB]Tipp: A TAB billentyű lenyomásával automatikusan kiegészíti a részleges nevet
Nyomja meg az Enter billentyűt, hogy belépjen ebbe a könyvtárba.
pi@raspberrypi: ~ $ cd parking/
pi@raspberrypi: ~/parking $ ls
Most megkaphatjuk az illesztőprogram fájljait, ha beírjuk a következőket a PuTTY -ba:
git klón
A kimenet valahogy így fog kinézni:
pi@raspberrypi: ~/parking $ git clone
Klónozás „rpi-rgb-led-mátrixba”… távoli: Objektumok számlálása: 3740, kész. távirányító: Összesen 3740 (delta 0), újrafelhasznált 0 (delta 0), újrahasznosított csomag 3740 Fogadó objektumok: 100% (3740/3740), 20,61 MiB | 1,32 MiB/s, kész. Delták feloldása: 100% (2550/2550), kész.
Most állítsa össze a LED-illesztőprogram-fájlokat úgy, hogy belép az új "rpi-rgb-led-mátrix" könyvtárba, és beírja a make parancsot:
cd r [TAB]
készítsen És ez így nézett ki a táblánkon
pi@raspberrypi: ~/parking $ cd rpi-rgb-led-matrix/
pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make make -C./lib make [1]: Belépés a '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++-könyvtárba I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o gpio.o gpio.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o led -matrix.o led-matrix.cc g ++ -I../ include - Fal -O3 -g -fPIC -DDEFAULT_HARDWARE = '"rendes"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"rendes"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o framebuffer.o framebuffer.cc g ++ -I../ include -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '"rendszeres"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o thread.o thread.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = ' "rendes" '-Wextra -Wno -unused -paraméter -fno -kivételek -c -o bdf -font.o bdf -fon t.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o graphics.o graphics.cc g ++ - I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o transzformátor.o transzformátor.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o led -mátrix -co led-matrix-c.cc cc -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -c -o hardware -mapping.o hardware -mapping.c g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"rendes"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o content -streamer.o content-streamer.cc g ++ -I../ include -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -paraméter -fno -kivételek -c -o pixel -mapper.o pixel-mapper.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -excep tions -c -o multiplex-mappers.o multiplex-mappers.cc ar rcs librgbmatrix.a gpio.o led-matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o graphics.o transformer.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers.o g ++ -shared -Wl, -soname, librgbmatrix.so.1 -o librgbmatrix.so.1 gpio.o led -matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o graphics.o transformer.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers. o -lpthread -lrt -lm -lpthread make [1]: A '/home/pi/parking/rpi -rgb -led -matrix/lib' könyvtár elhagyása make -C példa -api -use make [1]: Belépés a könyvtárba /home/pi/parking/rpi -rgb -led -mátrix/example -api -use 'g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -paraméter -c -o demo -main. o demo-main.cc make -C../lib make [2]: Belépés a '/home/pi/parking/rpi-rgb-led-matrix/lib' make [2] könyvtárba: Kilépés a '/home/pi könyvtárból /parking/rpi-rgb-led-matrix/lib 'g ++ demo-main.o -o demo -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -paraméter -c -o minimális -példa.o minimális-példa.cc g ++ minimális -példa.o - o minimális példa -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ include -Wall -O3 -g -Wextra -Wno -unused -paraméter -c -o c -example.o c- example.c cc c -example.o -o c -example -L../ lib -lrgbmatrix -lrt -lm -lpthread -lstdc ++ g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused- paraméter -c -o text -example.o text-example.cc g ++ text -example.o -o text -example -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall - O3 -g -Wextra -Wno-unused-parameter -c -o scrolling-text-example.o scrolling-text-example.cc g ++ scrolling-text-example.o -o scrolling-text-example -L../ lib -lrgbmatrix -lrt -lm -lreadread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o clock.o clock.cc g ++ clock.o -o clock -L.. /lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -paraméter -c -o ledcat.o ledcat.cc g ++ le dcat.o -o ledcat -L../ lib -lrgbmatrix -lrt -lm -lpthread make [1]: A könyvtár elhagyása '/home/pi/parking/rpi -rgb -led -matrix/example -api -use' pi @raspberrypi: ~/parking/rpi-rgb-led-mátrix $
A következő lépés az RGB mátrixkönyvtár Pythonhoz kötése lesz. Ehhez a projekthez az alapértelmezett Python 2 -t használtuk. Tehát a kötés elvégzéséhez a következő sorokat írjuk be, mint korábban:
sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
make build-python sudo make install-python
Megjegyzés: Nyugodtan figyelmen kívül hagyhatja azt az egyetlen figyelmeztetést, amely a „-Wstrict-prototype” kapcsán jelenik meg, amikor a két nyilatkozat fut. A make parancsok futtatása néhány percet vesz igénybe, és elfoglalt idejük alatt nem mondanak semmit. Szóval ne félj - a pi -nek hamarosan vissza kell jönnie;)
Itt található az első make utasítás részleges kimenete:
grafikus kiterjesztés építése
arm -linux -gnueabihf -gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -fno -range -aliasing -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -fPIC -I../../ include -I/usr/include/python2.7 -c rgbmatrix/graphics.cpp -o build/temp.linux- armv6l-2.7/rgbmatrix/graphics.o -O3 -Wall cc1plus: figyelmeztetés: a parancssori "-Wstrict-prototypes" opció érvényes a C/ObjC-re, de nem a C ++ arm-linux-gnueabihf-g ++ -pthread -shared -Wl, -O1 -Wl, -Simbolikus függvények -Wl, -z, relro -fno -szigorú aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototípusok -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -Wl, -z, relro -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7 -kKRR4y/python2.7 -2,7,13 =. -fstack -protector -strong -Wformat -Werror = format -security build/temp.linux -armv6l -2.7/rgbmatrix/graphics.o -L../../ lib -lrgbmatrix -o./rgbmatrix/graphics.so make [1]: Kilépés a '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' pi@raspberrypi könyvtárból: ~/parking/rpi-rgb-led-matrix $
Ezután telepítjük a pigpio C könyvtárat. Ahhoz, hogy ezt megfelelően elvégezzük, forrásból kell elkészítenünk, ezért csak írja be a következő sorokat:
cd ~
sudo rm -rf PIGPIO wget abyz.me.uk/rpi/pigpio/pigpio.zip unzip pigpio.zip cd cd PIGPIO make sudo make install rm pigpio.zip
A fenti telepítés körülbelül 3 percet vesz igénybe.
Most itt az ideje, hogy beszerezzük a Python projektfájljainkat. Írd be a következőt:
cd ~
cd/home/pi/parking/rpi-rgb-led-mátrix/kötések/python/sample wget https://s3.amazonaws.com/microedco/tinyLiDAR/Raspberry+Pi/tinyL_parking.zip unzip -j tinyL_parking.zip rm tinyL_parking.zip
Ezután a végrehajtáshoz írja be a következőt:
sudo python parking.py
De ezt most nem kell megtenni, mert még be kell vezetnünk az egészet…
7. lépés: Vezetékek
Amint azt korábban említettük, a LED panelt ugyanabból a tápegységből tápláltuk, mint a pi. Ennek érdekében össze kell fűznie a vaskos és fekete vezetékeket a hüvelyes fejrészekre, hogy azokat a 40 tűs pi csatlakozó 2. és 9. csatlakozójához lehessen csatlakoztatni.
Húzza ki a tápegységet a pi -ből, és kösse be a LED panelt a fenti kép szerint. Egyelőre tartsa szétkapcsolva a 2 -es tűt.
MEGJEGYZÉS: A LED mátrixpanel néha funky állapotban is bekapcsolhat. Ha ez megtörténik, súlyosan leterhelheti a tápegységet, függetlenül a jelenlegi kapacitásától. Ezt észleltük a fejlesztés során a padon lévő tápegységünkön, amely 4 amper feletti teljesítményt nyújt. A megoldás erre az, hogy először futtassa a pi kódot, majd csatlakoztassa a 2. tűt a LED panel áramellátásához. Ily módon a panel alacsony fogyasztású állapotba kerül, mivel kiöblíti a véletlenszerű LED -állapotokat. A nyugalmi áram (minden LED ki van kapcsolva) a LED panelünkön csak 50mA volt 5V -nál.
CAT5
Egy 25 lábas CAT5 ethernet kábelt használtunk, és úgy módosítottuk, hogy az egyik végén csatlakoztassa a pi fejléc csapjaihoz, és fogadja el a GROVE csatlakozó csapjait a másik oldalon, hogy meghosszabbíthassuk a távolságot az oldalsó apróLiDAR érzékelő elhelyezéséhez. A fenti képeken ez a kábel látható a módosítások előtt és után. Figyelmen kívül hagyja a csatlakozóvezetékek színeit, mivel azok nincsenek összefüggésben az ábrákkal. Csak győződjön meg arról, hogy beköti a rendszert, ahogy az a 3. lépésben korábban bemutatott képi kapcsolási rajzokon látható.
8. lépés: Gyújtsa fel
A megfelelő kezdeti bekapcsolási sorrendnek az kell, hogy csatlakoztassa a microUSB töltőt a pi -hez, és várja meg, amíg a tinyLiDAR érzékelők kék LED -je gyorsan villog, jelezve, hogy mérést végeznek. Ez azt bizonyítja, hogy a kód megfelelően működik.
Ezután lassan, de határozottan csatlakoztathatja a LED -es tápegység 2. tűjét. Vigyázzon, nehogy meghibásodjon közben! Ha a LED panelen néhány fagyott fényes LED látható, akkor valószínűleg meghibásodott, ezért húzza ki a microUSB tápellátását a pi -ből, és várjon néhány másodpercet, hogy újra megpróbálja a bekapcsolási folyamatot.
A kód futtatásához írja be a következőt:
cd/home/pi/parking/rpi-rgb-led-mátrix/kötések/python/sample
sudo python parking.py
Ha minden jól megy, akkor a videóban láthatóhoz hasonló kijelzőt kell kapnia.
Vessen egy gyors pillantást a parking.py kódra, hogy megértse, milyen korlátokat használtunk. Az elülső érzékelő alapértelmezett értéke 200 mm. Mivel az érzékelő hatótávolsága 11 mm és 2 m között van, célszerű a nom_parked_Front távolságot legalább 200 mm -en tartani. A nom_parked_Side oldalérzékelő 600 mm -re van állítva. Lásd a fenti képet a Python kódhoz, amely ezeket a konfigurációs lehetőségeket mutatja.
Ha minden működik, akkor telepítse a rendszert a garázsába, és szükség szerint állítsa be a fenti paramétereket. Mivel Ön pi csatlakozik a WiFi -hez, bármikor beléphet és szerkesztheti a távolság beállításait, ahogy az a szükséges garázsbeállításhoz szükséges, amíg az még fel van szerelve.
Ez most?
Miért igen, igen! - itt az ideje, hogy táncolni kezdj:)
Köszönjük, hogy elolvasta, és élvezze új parkolási asszisztensét!
9. lépés: Választható lépés és hasznos parancsok
Opcionális lépés - FTP kiegészítő a Sublime Text számára
A Python szkriptfájlok közvetlen szerkesztéséhez a pi -n telepíthetjük a Wbond Sublime SFTP nevű FTP -bővítményét. Ezt a kiegészítést az itt található utasítások követésével töltheti le
Ennek a kiegészítőnek a beállításához be kell állítanunk az FTP hitelesítő adatokat a | SFTP/FTP | Szerver beállítása … oldal.
Beállításunkhoz a következőket használtuk:
"type": "sftp", "sync_down_on_open": true, "sync_same_age": true, "host": "192.168.0.200", "user": "pi", "password": "YOUR_RPI_PASSWORD_HERE", "port": "22", "remote_path": "/home/pi/", "file_permissions": "664", "dir_permissions": "775", Használja a Ctrl+S vagy a File | Mentse az adatok mentéséhez. A rendszer megkéri a nevet, hogy hívja ezt a konfigurációt. Egyszerűen "rpizw_0_200" -nak neveztük
Most a SublimeTextből a pi -be való bejelentkezéshez lépjen a Fájl | SFTP/FTP | Böngészés a kiszolgálón…
Válasszon a felbukkanó lehetőségek listájából. Válassza ki a profilt a fent megadott névvel;) Kövesse az utasításokat a mappák közötti navigáláshoz és a kívánt fájl szerkesztéséhez.
Hasznos extrák
Hasznos Linux -parancsok a pi -n.
Mielőtt kihúzná a pi -t, MINDIG győződjön meg róla, hogy leállítja, nehogy fájl sérülést okozzon a microSD -kártyán. Írja be ezt a parancsot:
sudo leállítás most
és várja meg, amíg a zöld led kialszik, mielőtt kihúzza az áramot. Hasonló módon az újraindításhoz beírhatja:
most újra kell indítani a sudo -t
A könyvtárban lévő fájlok listázásához használja ezt:
ls
További hasznos Linux parancsokat találhat itt
Ajánlott:
PIC16F877A alapú RFID rendszer: 5 lépés
PIC16F877A alapú RFID rendszer: Az RFID rendszer olyan rendszer, amely RFID -címkét használó diákok, alkalmazottak és más személyek azonosítását teszi lehetővé jelenlétük, munkájuk, munkaidejük és még sok más megfigyelése érdekében. Ez a cikk a JLCPCB támogatója. Nagyon köszönöm a JLCPCB támogatását
Parkolássegítő Egyszerű javítás / diagnosztizálás: 4 lépés
Parkolássegítő Könnyű javítás / diagnosztizálás: Rendben, kezdjük, van egy 2010 -es Chevrolet Avalanche -m, és 4 parkolási asszisztens van a hátsó lökhárítóban. Ez a megoldhatatlan a legjobb tudásom szerint használható, és járművezhető, ha az időjárás elöl vagy Rea, vagy mindkettő. Szóval a kedvencemhez mentem
Színrendező rendszer: Arduino alapú rendszer két övvel: 8 lépés
Színrendező rendszer: Arduino alapú rendszer két övvel: Az ipari területen lévő termékek és tárgyak szállítása és/vagy csomagolása szállítószalagok segítségével készült vonalakkal történik. Ezek az övek bizonyos sebességgel segítik az elemek egyik pontból a másikba történő áthelyezését. Egyes feldolgozási vagy azonosítási feladatok
Arduino alapú érintésmentes infravörös hőmérő - IR alapú hőmérő Arduino használatával: 4 lépés
Arduino alapú érintésmentes infravörös hőmérő | IR alapú hőmérő Arduino használatával: Sziasztok, ebben az útmutatóban, érintésmentes hőmérőt készítünk arduino segítségével. Mivel néha a folyadék/szilárd anyag hőmérséklete túl magas vagy alacsony, majd nehéz kapcsolatba lépni vele és elolvasni ilyenkor a hőmérséklet
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen