Sisukord:
- Samm: mis on Pi Zero W?
- 2. samm: Scotty, me vajame rohkem jõudu
- 3. samm: anduri paigutus ja tarkvara
- Samm: Pi seadistamine
- Samm: WiFi -aeg
- Samm: sisselogimine
- Samm: juhtmed
- 8. samm: süttige
- 9. samm: valikuline samm ja kasulikud käsud
Video: Pi -põhine parkimisabisüsteem: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Tere! Siin on väike lahe projekt, mille saate teha ühe pärastlõunaga ja seejärel kasutada seda iga päev. See põhineb Raspberry Pi Zero W -l ja aitab teil igal ajal oma auto ideaalselt parkida.
Siin on vajalike osade täielik loetelu:
- Vaarika Pi Zero W (me nimetame seda selles artiklis rpi või pi)
- 4 GB või suurem mikro -SD -kaart pi OS -i jaoks
- Kaks väikest LiDARi lennuaja kaugusanduri moodulit
- 32x32 RGB LED -paneel (selle jaoks on palju tootjaid, kellel on erinevad punktikõrgused, näiteks võite kasutada Adafruit 1484 või sarnast, otsige lihtsalt Google'ist sõna „32x32 LED Matrix”). Meie paneelil oli 6 mm samm.
- 25 jalga CAT5 kaablit
- umbes 22 värvilist isast -isasesse päisepistiku hüppaja juhtmest
- 5v 2Amp microUSB toiteallikas (mobiiltelefoni laadija) Kas kõik komplektis? Lähme!
TL; DR kokkuvõte
- Laadige rpi jaoks alla Raspbian Lite OS
- Seadistage pi nii, et see töötaks staatilise IP -ga WiFi kaudu
- Seadistage oma arvuti arenduskeskkond PuTTY, WinSCP ja valikuliselt SublimeText koos FTP lisandmooduliga
- Laadige LED -paneeli draiver alla, tehke ja segage
- Laadige alla ja installige pigpio
- Laadige alla meie Pythoni kood
- Ühendage 32x32 LED -ekraanipaneel
- Tehke külgmise pisikese LiDAR -anduri jaoks CAT5 pikenduskaabel
- Valikuline samm (kuid ainult kogenud kasutajatele): tehke kiiret rõõmsat tantsu, kui kõik töötab;)
Samm: mis on Pi Zero W?
Olete kahtlemata kuulnud Raspberry Pi -st, kuid mis kurat on pi 'Zero W'?
Raspberry Pi Zero ja Zero W olid uuemad lisandused Pi perekonda, mis tähendas rohkem asjade Interneti ja muude odavate sisseehitatud rakenduste jaoks. Need on algse pi -plaadi versioonid, kuid siiski võimsa 1 GHz protsessoriga. Siin on hea kõigi mudelite võrdlus.
Pi Zero W valimisel teiste kontrolleritahvlite eeliseks on see, et saame selle hõlpsalt programmeerida kõrgema taseme Pythoni keeles, kasutades samal ajal kiireid C/C ++ LED -paneelidraivereid. See on ka atraktiivselt hinnaga vaid 10 USD.
Pidage meeles, et kuna see plaat on täispi eemaldatud versioon - mõned asjad on muutunud. Eelkõige on kaotatud Etherneti pistikupesa, HDMI -pistik on muutunud minisuuruseks ja neli USB -porti on lihtsustatud vaid üheks mikro -USB -tüübiks. Pardal on veel üks mikro -USB -pistik, kuid see on mõeldud ainult plaadi toiteks. Kõigi täissuuruses USB -pistikute kõrvaldamine toob kaasa mõned keerukused. Nimelt, kuidas saab klaviatuuri ja hiirt ühendada? Tavalistes USB -lisaseadmetes ja jaoturites kasutatakse A -tüüpi pistikuid, mitte mikro -tüüpi.
Mida me siis teha saame?
Me võime ilma peata!
Ei, me ei taha hulluks minna, vaid kasutada alternatiivi tavalisele juhtmega otseühendusele. Peata tähendab "tunnelit" pi sisse eemalt, kasutades turvalise kesta (SSH) võrguühendust. Selle projekti puhul kasutame peata lähenemist WiFi kaudu. Siit ka põhjus, miks me valisime pi nulli W versiooni veelgi odavama pi nullkulu asemel.
Pange tähele, et on olemas ka teine viis pi juhtimiseks peata režiimis, kasutades midagi, mida nimetatakse VNC -ks. See vajab teie arvutis töötavat spetsiaalset VNC -tarkvara, kuna see pakub teie arvutis täielikku virtuaalset graafilist töölauda. Me ei nõua (ja tõesti ei taha) oma projekti jaoks töölauda, seega jääme lihtsama SSH -meetodi juurde.
2. samm: Scotty, me vajame rohkem jõudu
32x32 LED -maatrikspaneel võib iseenesest võtta mitu amprit voolu. Ilma naljata! Sellepärast sisaldab enamik neist paneelidest mõningaid kopsakaid toitekaableid. Meie õnneks ei pea me selle projekti jaoks tohutut toiteallikat hankima. Suutsime kogu seda süsteemi toita ainult varu 5v/2amp microUSB mobiiltelefoni laadijast, mis meil oli. Väiksema voolu põhjus on see, et kasutame suhteliselt lihtsat graafikat ja seetõttu ei lülita enamus LED -e sisse. Kui mõtlete animatsiooni tegemisele või video/ereda graafika kasutamisele, peaksite kindlasti kaaluma paneeli toiteallikat eraldi toiteallikast.
3. samm: anduri paigutus ja tarkvara
Kas märkasite, et kasutame selles süsteemis ainult ühte pisikest LiDAR -i ühe asemel? Nagu on näidatud garaaži seadistusskeemil, asetatakse üks auto ette ja teine piki auto ühte külge.
Küljeandur tuvastab, kui auto parkimisel keskpunktist kõrvale kaldute, ja muidugi ütleb eesmine, millal peatuda.
32x32 LED -ekraan aitab teid, näidates edasi, vasakule või paremale liikumiseks nooli ja värviliste nurkadega loendurinäidikut, mis näitab, kui kaugele peate veel sõitma. Vaadake meie lühivideot kõigi kuvamisolekute kohta.
Mänguplaan
Lühidalt öeldes kasutame LED -draiveri jaoks üha populaarsemat hzeller C raamatukogu, juhtimiskoodi jaoks Pythonit ja teeki pipgpio C meie andurite nõuetekohaseks I2C juhtimiseks.
Python on ülilihtne kõrgetasemeline keel, mida saate hõlpsasti muuta mis tahes tekstiredaktoris. Tavaliselt kasutame SublimeTextit ja selle projekti jaoks kasutasime ka väga kasulikku FTP -pistikprogrammi, mis võimaldab meil skriptifaile otse pi -l redigeerida. See on valikuline samm, kuna seda on vaja ainult siis, kui soovite koodi muuta. Lisateavet leiate selle artikli lõpus.
Kõik rpi -tahvlid, nagu te teate, ei toeta loomulikult I2C kella venitamist. Nii kasutasime selle projekti jaoks uuesti pigpio raamatukogu, et juhtida tillukesi LiDAR andureid, kuid seekord kerge keerdumusega …
Mitu väikest LIDAR -i
Kui ostate tinyLiDARi, on see alati seatud orja vaikimisi aadressile 0x10. See sobib hästi, kui kasutate ühte andurit, kuid kui bussis on rohkem kui üks, võib see olla probleem, kui kirjutate käsu 0x10 -le ja kõik vastavad!
Seega on meil siin 3 võimalust:
Esiteks saame kasutada (tinyLiDAR) "R" käsku, et kirjutada I2C siiniga ühendatud andurile uus alam -aadress. Seejärel korrake seda iga anduri puhul. Selle protseduuri jaoks iga anduri füüsiline kinnitamine, kirjutamine ja eemaldamine. tinyLiDAR salvestab antud aadressi oma püsimällu. Aadress püsib ka pärast vooluringi, kuni kustutate selle käsuga RESET.
Teine võimalus on kasutada mugavat automaatse määramise funktsiooni, mille lõime IGG kampaania venituseesmärgina. See hõlmab käsu "AR" saatmist ja seejärel igale andurile eraldi sõrmega osutamist, et automaatselt määrata järjestikused I2C -aadressid üksikutele anduritele sarnaselt esimesele võimalusele, kuid selleks ei pea te igat andurit füüsiliselt lahti ühendama.
Kolmas võimalus on see, mida me siin selles projektis kasutame ja see on võimalik tänu pigpio raamatukogule. I2C standardi nõuetekohaseks rakendamiseks löövad pigpio bitipulgad GPIO -le. Seetõttu saame hõlpsasti luua eraldi I2C siinid peaaegu igale paarile GPIO -nööpnõelale.
Seega ei ole vaja mitme LiDAR anduri alam-aadresse ümber programmeerida. Saame igaühe jaoks kasutada eraldi bussi:)
Pange tähele, et 100 Kbps kiirusega I2C buss on tegelikult üsna vastupidav. Me kasutame tavalist vana CAT5 Etherneti kaablit, et juhtida I2C buss pisikese LiDAR -anduri külge, mis on 25 meetri kaugusel ilma aktiivsete repiiterkomponentideta! Anduri juhtmestiku üksikasjad on näidatud ülal.
Olgu, piisavalt jibber jabberit, alustame koodi allalaadimist!
Samm: Pi seadistamine
Ettevaatust: pi kasutab Linuxi failisüsteemi, nii et Linuxi põhises süsteemis on kõige parem teha järgmised toimingud. Kui teete seda Windowsis, võite SD -kaardi uuesti vormindada. Kasutasime suurepärast ja tasuta Ubuntu 18.04 töölauda, mis töötab Windows 10 arvutis virtuaalses keskkonnas, kuid võite proovida midagi sarnast.
Peate esmalt alla laadima operatsioonisüsteemi saidilt raspberrypi.org ja seejärel selle oma microSD -kaardile põletama. Nii et järgige neid samme:
(1) Minge Ubuntus siia ja haarake Raspbian Lite'i pilt. Salvestage see oma allalaadimiste kausta.
(2) Järgmisena laadige alla Etcheri SD -kaardi kirjutamise utiliit. FYI - ametlik Etcheri allalaadimislink Linuxi versiooni jaoks nende kodulehel ei töötanud meie jaoks, seega kasutasime siin kirjeldatud meetodit:
Kokkuvõttes olid lingil kirjeldatud sammud järgmised:
Lisage Etcheri debianihoidla:
echo "deb https://dl.bintray.com/resin-io/debian stabiilne söövitaja" | sudo tee /etc/apt/sources.list.d/etcher.list
Usaldage Bintray.com GPG -võtit:
sudo apt-key adv-võtmeserveri võtmeserver.ubuntu.com --recv-võtmed 379CE192D401AB61
Värskendage ja installige:
sudo apt-get update
sudo apt-get install etcher-electron
Kui olete lõpetanud, võite jätkata ja käivitada Etcher oma Ubuntu töölaualt. See küsib teilt lähtefaili (mille panete allalaadimiste kausta). Etcheri järgmine samm on valida õige sihtmärk. Etcher teeb teie mikro -SD -kaardi tuvastamisel head tööd, kuid siin peaksite olema paranoiline. Et kontrollida, kas see leiab õige sihtkoha - proovige microSD -kaart välja võtta, klõpsates Ubuntu failiuurija aknas nuppu Eject ja veenduge, et see kaob Etcheri sihtmärgina. Seejärel pange see tagasi ja jätkake viimase etapiga, milleks on faili kirjutamine sellele microSD -kaardile.
Oodake natuke, kuni see on valmis, ja jätkake siis edasi.
Samm: WiFi -aeg
Olgu, nüüd on aeg sisestada oma WiFi andmed.
Näpunäide. Käskude väljakirjutamise asemel saate selle artikli teabe alati kopeerida (Ctrl+C) ja kleepida (paremklõps, kleepimine) PuTTY terminaliekraanile. Selle artikli lõpus leiate ka mitmeid kasulikke Linuxi käske.
Kui Etcher on micro SD -kaardile kirjutamise lõpetanud, kuvatakse ülaltoodud viisil 2 draivi. Ühte nimetatakse alglaadimiseks, teist aga rootfiks
Peame kasutama failihaldurit, et minna alglaadimiskausta ja teha fail nimega wpa_supplicant.conf.
Selle sammu tegemiseks võite lihtsalt klõpsata vasakul küljel, kus on kirjas buut, ja seejärel ekraani paremal küljel paremklõps valgel taustal ja valida Ava terminalis.
See avab terminaliakna (sarnane Windowsi CMD -ga), kuhu saate sisestada järgmise:
sudo nano wpa_supplicant.conf Näpunäide. Peate sisestama oma Linuxi süsteemi parooli, et seda saaks kasutada superkasutajana. See on vajalik, vastasel juhul ei saa te redigeerimise lõppedes faile salvestada
Ülaltoodud käsk käivitab seejärel tekstiredaktori "nano", kuhu saate sisestada järgmise teabe:
riik = 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}
Märkus. Ärge unustage asendada WiFi_SSID ja WiFi_Password oma WiFi -võrgu nime ja parooliga.
Kui olete lõpetanud, klõpsake väljumiseks lihtsalt Ctrl+X ja väljumisel faili kirjutamiseks vastake Jah.
Meie järgmine samm on luua tühi fail nimega ssh. Selleks kirjutame terminaliaknasse järgmise:
puuduta ssh
Nüüd peame andma oma pi -le staatilise IP -aadressi, et me teaksime, kus see on, iga kord, kui tahame sellega ühenduse luua. Sisestage terminaliaknas järgmine tekst:
sudo nano /etc/dhcpcd.conf
See peaks nano -tekstiredaktori uuesti avama ja saame selle teksti faili lõppu lisada:
liides wlan0
staatiline ip_address = 192.168.0.static ruuterid = 192.168.0.1 staatiline domeeninime_serverid = 192.168.0.1 8.8.8.8
Märkus. See eeldab, et teie võrgu eesliide on 192.168.0. Kui teil on 192.168.1 jne, kasutage selle asemel oma võrku. Domeeninimeserver 8.8.8.8 on mõeldud Google'ile ja siin on see valikuline.
Selle sulgemiseks tippige terminali 'exit'. Seejärel paremklõpsake failihalduri akna vasakus servas käivitusnime kohal ja valige Eject.
Nüüd saate ühendada selle microSD -kaardi oma pi -ga ja ühendada microUSB toitekaabli oma pi toiteks.
Kui kõik läheb hästi, vilgub roheline valgusdiood mõnda aega nagu juurdepääs kõvakettale ja peaks logima teid oma WiFi -võrku. Oodake umbes minut, et rahuneda ja oodake, kuni LED muutub roheliseks.
Et kontrollida, kas see kõik töötas, võime proovida seda pingutada.
Nii et lihtsalt sisestage allolev rida ja kontrollige vastust.
ping 192.168.0.200
Ubuntus peaksite saama midagi sarnast:
ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56 (84) baiti andmeid. 64 baiti alates 192.168.0.200: icmp_seq = 1 ttl = 128 aeg = 752 ms 64 baiti alates 192.168.0.200: icmp_seq = 2 ttl = 128 aeg = 5.77 ms 64 baiti alates 192.168.0.200: icmp_seq = 3 ttl = 128 aeg = 7.33 ms ^C --- 192.168.0.200 pingistatistika --- 3 edastatud paketti, 3 vastuvõetud, 0% pakettide kadu, aeg 2001ms rtt min/keskm/max/mdev = 5.777/255.346/752.922/351.839 ms
Pange tähele, et ping töötab edasi, kuni lõpetamiseks vajutate klahvikombinatsiooni Ctrl+C.
Windowsis peaksite saama midagi sellist:
ping 192.168.0.200
Pingutamine 192.168.0.200 ja 32 baiti andmeid: Vastus 192.168.0.200: baiti = 32 aeg = 4 ms TTL = 64 Vastus 192.168.0.200: baiti = 32 aeg = 5 ms TTL = 64 Vastus kasutajalt 192.168.0.200: baiti = 32 korda = 6 ms TTL = 64 Vastus kasutajalt 192.168.0.200: baiti = 32 aega = 5 ms TTL = 64 Pingistatistikat 192.168.0.200 kohta: paketid: saadetud = 4, saadud = 4, kaotatud = 0 (0% kaotus), ligikaudsed edasi -tagasi ajad millisekundites: minimaalne = 4 ms, maksimaalne = 6 ms, keskmine = 5 ms
Kõik hästi? Edasi…
Samm: sisselogimine
Nüüd, kui meil on ühenduvus pi -ga, tahame sellele käske saata. Aga kuidas? PuTTY muidugi! PuTTY seadistamine Pärast PuTTY tarkvara allalaadimist tehke oma pi jaoks profiil, mis sisaldab järgmist teavet:
Hosti nimi (või IP -aadress): 192.168.0.200 Ühenduse tüüp: SSH Andke sellele profiilile nimi Salvestatud seansid ja klõpsake nuppu Salvesta. Võite kasutada mis tahes nime, näiteks "rpizw_200"
Sisselogimiseks valige see loendist ja klõpsake nuppu Laadi. Seejärel vajutage Ava. Sisestage sisselogimiseks kasutajanimi ja parool:
sisselogimisnimi: pi
Defalt parool: vaarikas
Siin on sisselogimisel PuTTY -s näidatud näidissessioon:
logige sisse kui: pi
[email protected] parool: Linux raspberrypi 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l Debian GNU/Linux süsteemiga kaasas olevad programmid on tasuta tarkvara; iga programmi täpsed levitamistingimused on kirjeldatud üksikfailides kataloogis/usr/share/doc/*/copyright. Debian GNU/Linuxiga ei kaasne absoluutselt MITTE GARANTIID, niivõrd kui seda lubab kehtiv seadus. Viimane sisselogimine: [kuupäev ja kellaaeg] alates 192.168.0. [Ip -aadress] SSH on lubatud ja 'pi' kasutaja vaikeparooli pole muudetud. See on turvarisk - palun logige sisse kui „pi” kasutaja ja tippige „passwd”, et määrata uus parool.
Esmakordsel sisselogimisel hoiatab see, et te pole parooli veel muutnud. Peaksite selle muutma millekski tugevaks, kuid samas lihtsalt meeldejäävaks, nii et jätkake ja muutke seda, kirjutades passwd ja järgige juhiseid.
Järgmisena peaksime pi tarkvara uuendama, tippides selle:
sudo apt-get update && sudo apt-get upgrade
See laadib teie Interneti -ühendusest alla kõik vajalikud värskendused. Kui teil palutakse jätkata, vastake JAH ja andke seejärel veidi aega värskendamiseks.
Sel ajal peaksime ilmselt ka heli pi välja lülitama, kuna sellel on LED -draiveriteekiga halb juju. Kopeerige, kleepige järgmised read ükshaaval ja vajutage iga rea järel sisestusklahvi:
cd ~
kass << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf must nimekiri snd_bcm2835 EOF sudo update-initramfs -u
Väljund saab olema umbes selline:
pi@vaarika: ~ $ cd ~
pi@raspberrypi: ~ $ cat <> blacklist snd_bcm2835>> EOF -i must nimekiri snd_bcm2835 pi@raspberrypi: ~ $ sudo update -initramfs -u pi@raspberrypi: ~ $
Seejärel peame muudatuste jõustumiseks pi taaskäivitama, nii et tippige järgmine:
nüüd taaskäivitage sudo
Ühendus katkeb loomulikult, kui pi taaskäivitub, nii et saate PuTTY sulgeda. Proovige minuti pärast uuesti sisse logida.
Nüüd on aeg hankida graafiline FTP -failihaldur nimega WinSCP. WinSCP saate alla laadida siit
WinSCP sarnaneb Windowsi ja Ubuntu failide halduriga. See võimaldab meil hõlpsalt lohistada faile pi -le ja sealt ning luua katalooge vaid hiire parema hiireklõpsuga.
Kui olete alla laadinud, peate oma pi jaoks profiili seadistama.
WinSCP häälestus Valige sisselogimise hüpikaknas Uus sait. Seansi jaoks kasutage järgmisi seadeid.
Failiprotokoll: SFTP hosti nimi: 192.168.0.200 Kasutajanimi: pi Parool: {mis iganes parooliks muutsite vaikimisi ülaltoodud PuTTY sammu}
Minge saidi täpsemates sätetes keskkonda | Kaustad ja sisestage /home /pi kaugkataloogi jaoks ja mis iganes soovite kohaliku kataloogi jaoks.
Avage saidi täpsemad seaded jaotisse Keskkond | Shell ja valige ripploendist Shell sudo su.
Seejärel klõpsake nuppu Salvesta.
Järgmiste toimingute tegemisel hoidke nii WinSCP kui ka PuTTY lahti
Minge PuTTY terminali ja sisestage järgmine:
cd ~
See viib meid meie kodukataloogi pi sees.
Nüüd saame LED -draiverite kogu hankida githubist. Viimase koodi kasutamiseks peame repot tõmbama, nii et peame installima utiliidi git.
Sisestage see PuTTY -sse:
sudo apt-get install git
jätkake vastusega Y ja meie jaoks Interneti kaudu giti installimiseks kulub mõni sekund.
Väljund peaks välja nägema umbes selline:
pi@raspberrypi: ~ $ sudo apt-get install git
Pakettide loendite lugemine… Valmis Sõltuvuspuu ehitamine Olekuteabe lugemine… Valmis Paigaldatakse järgmised lisapaketid: git-man liberror-perl Soovitatavad paketid: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn Paigaldatakse järgmised uued paketid: git git-man liberror-perl 0 täiendatud, 3 äsja installitud, 0 eemaldamiseks ja 0 pole täiendatud. Vaja saada 4 848 kB arhiive. Pärast seda toimingut kasutatakse 26,4 MB täiendavat kettaruumi. Kas sa tahad jätkata? [Y/n] y Hangi: 1 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf liberror-perl kõik 0.17024-1 [26.9 kB] Hangi: 2 https://muug.ca/mirror/ raspbian/raspbian stretch/main armhf git-man all 1: 2.11.0-3+deb9u3 [1, 433 kB] Hangi: 3 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] Laaditud 4, 848 kB 5s (878 kB/s) Varem valimata paketi liberror-perl valimine.(Andmebaasi lugemine … Praegu on installitud 34363 faili ja kataloogi.) Ettevalmistus lahtipakkimiseks…/liberror-perl_0.17024-1_all.deb… Liberror-perl (0.17024-1) lahtipakkimine… Varem valimata paketi git-man valimine. Ettevalmistus lahtipakkimiseks…/git-man_1%3a2.11.0-3+deb9u3_all.deb… git-man lahtipakkimine (1: 2.11.0-3+deb9u3)… Eelnevalt valimata paketi git valimine. Ettevalmistus lahtipakkimiseks…/git_1%3a2.11.0-3+deb9u3_armhf.deb… giti lahtipakkimine (1: 2.11.0-3+deb9u3)… git-man seadistamine (1: 2.11.0-3+deb9u3)… Seadistamine liberror-perl (0.17024-1)… Käivitab käivitajad man-db jaoks (2.7.6.1-2)… giti seadistamine (1: 2.11.0-3+deb9u3)…
Nüüd minge tagasi WinSCP -sse ja navigeerige kausta /home /pi. Seejärel paremklõpsake selle WinScp akna paremas servas ja valige uue kataloogi loomine nimega "parking"
Tagasi PuTTY ekraanile saate sisestada ls, et kinnitada, et tegite lihtsalt uue kausta pi. Seejärel sisestage see:
cd p [TAB]Näpunäide. TAB -klahvi vajutamine täidab osalise nime automaatselt
Sellesse kataloogi sisenemiseks vajutage sisestusklahvi.
pi@raspberrypi: ~ $ cd parking/
pi@raspberrypi: ~/parking $ ls
Nüüd saame draiverifailid hankida, sisestades PuTTY -sse järgmise:
git kloon
Väljund näeb välja umbes selline:
pi@raspberrypi: ~/parking $ git kloon
Kloonimine rpi-rgb-led-maatriksisse… kaugjuhtimine: objektide loendamine: 3740, valmis. kaugjuhtimispult: kokku 3740 (delta 0), taaskasutatud 0 (delta 0), pakendis taaskasutatud 3740 Vastuvõtvad objektid: 100% (3740/3740), 20,61 MiB | 1,32 MiB/s, tehtud. Deltade lahendamine: 100% (2550/2550), valmis.
Nüüd kompileerige LED-draiverifailid, minnes sellesse uude kataloogi „rpi-rgb-led-matrix” ja tippides käsu make:
cd r [TAB]
tegema Ja see nägi välja meie pardal
pi@raspberrypi: ~/parking $ cd rpi-rgb-led-matrix/
pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make make -C./lib make [1]: kataloogi '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++-sisestamine I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o gpio.o gpio.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o led -matrix.o led-matrix.cc g ++ -I../ include - Sein -O3 -g -fPIC -DDEFAULT_HARDWARE = '"tavaline"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"tavaline"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o framebuffer.o framebuffer.cc g ++ -I../ include -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '"tavaline"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o teema.o teema.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = ' "tavaline" '-Wextra -Wno -unused -parameeter -fno -erandid -c -o bdf -font.o bdf -fon t.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o graphics.o graphics.cc graphics+ c -+ - - I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o trafo.o trafo.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o led -maatriks -co led-matrix-c.cc cc -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -c -o hardware -mapping.o hardware -mapping.c g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"tavaline"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o content -streamer.o content-streamer.cc g ++ -I../ include -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '"tavaline"' -Wextra -Wno -unused -parameeter -fno -erandid -c -o pixel -mapper.o pixel-mapper.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameeter -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]: Lahkudes kataloogist '/home/pi/parking/rpi -rgb -led -matrix/lib' make -C example -api -use make [1]: kataloogi sisestamine /home/pi/parking/rpi -rgb -led -maatriks/näited -api -use 'g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameeter -c -o demo -main. o demo-main.cc make -C../lib make [2]: kataloogi '/home/pi/parking/rpi-rgb-led-matrix/lib' make sisestamine [2]: kataloogist '/home/pi lahkumine /parking/rpi-rgb-led-matrix/lib 'g ++ demo-main.o -o demo -L../ lib -lrgbmatrix -lrt -lm -lreadread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameeter -c -o minimaalne -example.o minimaalne-näide.cc g ++ minimaalne -näide.o - o minimaalne näide -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameeter -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- parameeter -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-parameeter -c -o scroll-text-example.o scroll-text-example.cc g ++ scroll-text-example.o -o scroll-text-example -L../ lib -lrgbmatrix -lrt -lm -lreadread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameeter -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 -parameeter -c -o ledcat.o ledcat.cc g ++ le dcat.o -o ledcat -L../ lib -lrgbmatrix -lrt -lm -lpthread make [1]: Lahkumine kataloogist '/home/pi/parking/rpi -rgb -led -matrix/example -api -use' pi @raspberrypi: ~/parking/rpi-rgb-led-maatriks $
Meie järgmine samm on siduda RGB maatriksiteek Pythoniga. Selle projekti jaoks kasutasime vaikimisi Python 2. Niisiis sisestame selle sidumise jaoks järgmise rida korraga nagu varem:
sudo apt-get update && sudo apt-get install python2.7-dev python-padi -y
make build-python sudo make install-python
Märkus. Võite ohutult ignoreerida hoiatust „-Wstrict-prototype” kohta, mis ilmub nende esitamise ajal. Käskude käivitamine võtab paar minutit ja nad ei ütle hõivatud ajal midagi. Nii et ärge kartke - teie pi peaks varsti tagasi tulema;)
Siin on esimese väljundi osaline väljund:
graafika laienduse loomine
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: hoiatus. -O1 -Wl, -Sümbolifunktsioonid -Wl, -z, relro -fno -range -aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefiks -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 teha [1]: lahkumine kataloogist '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $
Järgmisena installime pigpio C raamatukogu. Selleks, et seda õigesti teha, peame selle tegema allikast, nii et lihtsalt sisestage järgmised read:
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
Ülaltoodud installimine võtab umbes 3 minutit.
Nüüd on aeg hankida meie Pythoni projektifailid. Sisestage järgmised:
cd ~
cd/home/pi/parking/rpi-rgb-led-maatriks/köited/python/sample wget https://s3.amazonaws.com/microedco/tinyLiDAR/Raspberry+Pi/tinyL_parking.zip unzip -j tinyL_parking.zip rm tinyL_parking.zip
Seejärel tippige selle täitmiseks järgmine käsk:
sudo python parking.py
Kuid te ei pea seda praegu tegema, kuna peame selle kõik veel kokku panema …
Samm: juhtmed
Nagu varem mainitud, toitsime LED -paneeli samast toiteadapterist, mis toidab pi -d. Selleks peate ühendama kopsakad punased ja mustad juhtmed isaste päise tihvtidega, et need saaks ühendada 40 -pin pi pistiku 2. ja 9. tihvtiga.
Eemaldage nüüd toiteallikas pi ja ühendage LED -paneel vastavalt ülaltoodud joonisele. Hoidke tihvt 2 praegu lahti ühendatud.
MÄRKUS. LED -maatrikspaneel võib mõnikord sisse lülituda funky olekus. Kui see juhtub, võib see teie toiteallika tõsiselt alla laadida, olenemata selle praegusest võimsusest. Märkasime seda arendamisel meie pingivarustuses, mis võib pakkuda üle 4 amprit. Selle lahenduseks on esmalt pi -koodi käivitamine ja seejärel LED -paneeli toiteks pistiku 2 ühendamine. Sel viisil peaks paneel olema väikese energiatarbega, kuna see kustutab juhuslikud LED -olekud. Vaikne vool (kõik LED -id välja lülitatud) oli meie LED -paneelil ainult 50 mA 5 V juures.
CAT5
Kasutasime 25 jala pikkust CAT5 Etherneti kaablit ja muutsime seda, et ühendada pi otspistikutega ühes otsas ja nõustuda GROVE pistiku tihvtidega teisel küljel, et saaksime pikendada kaugust, et asetada meie külje tilluke LiDAR andur. Ülaltoodud fotodel on see kaabel enne ja pärast muudatusi. Ärge võtke päise tihvtide juhtmete värve, kuna need ei ole diagrammidega korrelatsioonis. Lihtsalt veenduge, et ühendate oma süsteemi juhtmega, nagu on näidatud joonisel 3 näidatud ühendusskeemidel.
8. samm: süttige
Õige esialgne sisselülitamisjärjestus peaks olema microUSB laadija ühendamine pi -ga ja ootamine, kuni pisikeste LiDAR -andurite sinised LED -id hakkavad kiiresti vilkuma, näidates, et nad teevad mõõtmisi. See tõestab, et kood töötab korralikult.
Seejärel saate LED -paneeli toite jaoks tihvti 2 aeglaselt, kuid kindlalt ühendada. Olge selle tegemise ajal ettevaatlik, et mitte tõrkeid tekitada! Kui LED -paneelil on mõned külmutatud eredad LED -id, on see tõenäoliselt tõrkunud, nii et eemaldage microUSB toide pi ja oodake mõni sekund, et uuesti sisse lülitada.
Koodi käivitamiseks sisestage järgmine:
cd/home/pi/parking/rpi-rgb-led-maatriks/köited/python/sample
sudo python parking.py
Kui kõik läheb hästi, peaksite hankima videoga sarnase kuva.
Vaadake kiiresti park.py koodi, et mõista, milliseid piiranguid kasutasime. Esianduri vaikeseade on 200 mm. Kuna anduri kaugus on 11 mm kuni 2 m, on soovitatav hoida nom_parked_Front kaugus 200 mm või rohkem. Küljeandur nom_parked_Side on seatud väärtusele 600 mm. Vaadake ülaltoodud pilti Pythoni koodi kohta, mis näitab neid konfiguratsioonivalikuid.
Kui kõik töötab, võite süsteemi paigaldada oma garaaži ja kohandada ülaltoodud parameetreid vastavalt vajadusele. Kuna olete oma WiFi -ga ühendatud, saate alati siseneda ja muuta oma vahemaa seadeid vastavalt oma garaažiseadistustele, kui see on veel paigaldatud.
Kas see on nüüd?
Miks jah, jah, see on! - aeg teha oma rõõmsat tantsu:)
Täname lugemise eest ja nautige oma uut parkimisabilist!
9. samm: valikuline samm ja kasulikud käsud
Valikuline samm - FTP lisand Sublime Textile
Pythoni skriptifailide redigeerimiseks otse pi -le saame installida FTP lisandmooduli nimega Sublime SFTP by Wbond. Selle lisandmooduli saate alla laadida, järgides siin toodud juhiseid
Selle lisandmooduli seadistamiseks peame konfigureerima FTP mandaadi faili | SFTP/FTP | Serveri seadistamise leht …
Meie seadistamiseks kasutasime:
"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", Kasutage Ctrl+S või faili | Selle teabe salvestamiseks salvestage. Teilt küsitakse selle konfiguratsiooni helistamiseks nime. Me nimetasime seda lihtsalt "rpizw_0_200"
Nüüd SublimeTextist pi sisse logimiseks minge faili | SFTP/FTP | Sirvi serverit…
Valige avanevate valikute loendist. Soovite valida profiili ülalnimetatud nimega;) Kaustades navigeerimiseks ja soovitud faili muutmiseks järgige juhiseid.
Kasulikud lisad
Kasulikud Linuxi käsud pi jaoks kasutamiseks.
Enne pi pistikupesast lahti ühendamist lülitage see ALATI kindlasti välja, et te ei saaks oma microSD -kaardile failirikkumist. Sisestage see käsk:
sudo kohe välja lülitatud
ja oodake enne toite väljalülitamist, kuni roheline tuli kustub. Sarnaselt selle taaskäivitamiseks võite sisestada:
nüüd taaskäivitage sudo
Kataloogis olevate failide loetlemiseks kasutage järgmist.
ls
Siit leiate muid kasulikke Linuxi käske
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust