Sisällysluettelo:

Pi -pohjainen pysäköintitutka: 9 vaihetta
Pi -pohjainen pysäköintitutka: 9 vaihetta

Video: Pi -pohjainen pysäköintitutka: 9 vaihetta

Video: Pi -pohjainen pysäköintitutka: 9 vaihetta
Video: 2021 벤츠 S클래스 풀체인지~ Introduction of NEW 2021 Benz S Class 🚗🚓🚘~🤩 (W223 2021년형 NEW S클래스 소개~~😻) 2024, Marraskuu
Anonim
Pi -pohjainen pysäköintitutkajärjestelmä
Pi -pohjainen pysäköintitutkajärjestelmä

Hei siellä! Tässä on hieno viileä projekti, jonka voit tehdä yhdessä iltapäivässä ja käyttää sitä sitten päivittäin. Se perustuu Raspberry Pi Zero W: hen ja auttaa sinua pysäköimään autosi täydellisesti joka kerta.

Tässä on täydellinen luettelo tarvittavista osista:

  • Raspberry Pi Zero W (kutsumme tätä tässä artikkelissa 'rpi' tai 'pi')
  • 4 Gt tai suurempi micro SD -kortti pi -käyttöjärjestelmää varten
  • Kaksi pientä LiDAR Time of Flight -etäisyysanturimoduulia
  • 32x32 RGB -LED -paneeli (tätä varten on monia valmistajia, joilla on erilaiset pistekorkeudet, voit esimerkiksi käyttää Adafruit 1484: ää tai vastaavaa, etsi vain 32x32 LED -matriisi Googlesta). Paneelimme nousu oli 6 mm.
  • 25 jalkaa CAT5 -kaapelia
  • n. 22 värillistä uros -urosliitintä
  • 5v 2Amp microUSB -virtalähde (matkapuhelinlaturi) Onko kaikki valmiina? Mennään!

TL; DR Yhteenveto

  • Lataa Raspibian Lite -käyttöjärjestelmä rpi: lle
  • Määritä pi toimimaan ilman päätä WiFi: n kautta staattisella IP -osoitteella
  • Asenna tietokoneen kehittäjäympäristö PuTTY: n, WinSCP: n ja valinnaisesti SublimeTextin ja FTP -lisäosan avulla
  • Lataa, tee ja sido LED -paneelin ohjain
  • Lataa ja asenna pigpio
  • Lataa Python -koodimme
  • Johda 32x32 LED -näyttöpaneeli
  • Tee sivun tinyLiDAR -anturin CAT5 -jatkojohto
  • Valinnainen vaihe (mutta vain kokeneille käyttäjille): tee nopea iloinen tanssi, kun kaikki toimii;)

Vaihe 1: Mikä on Pi Zero W?

Mikä on Pi Zero W?
Mikä on Pi Zero W?

Olet epäilemättä kuullut Raspberry Pi: stä, mutta mikä ihme on pi 'Zero W'?

Raspberry Pi Zero ja Zero W olivat uudempia lisäyksiä Pi -perheeseen, mikä tarkoitti enemmän IoT: tä ja muita edullisia sulautettuja sovelluksia. Ne ovat riisuttuja versioita alkuperäisestä pi -kortista, mutta silti tehokkaalla 1 GHz: n prosessorilla. Tässä hyvä vertailu kaikista malleista.

Hyöty meille, kun valitsemme Pi Zero W: n muihin ohjainkortteihin verrattuna, on se, että voimme helposti ohjelmoida sen ylemmän tason Python -kielelle samalla, kun käytämme edelleen nopeita C/C ++ LED -paneelinohjaimia. Se on myös houkuttelevasti hinnoiteltu vain 10 dollaria.

Muista, että koska tämä levy on riisuttu versio täydestä pi: stä - jotkut asiat ovat muuttuneet. Erityisesti ethernet -liitäntä on poistettu, HDMI -liitin on muuttunut minikokoiseksi ja neljä USB -porttia on yksinkertaistettu vain yhdeksi mikro -USB -tyypiksi. Laitteessa on toinen mikro -USB -liitin, mutta se on tarkoitettu vain levyn virransyöttöön. Kaikkien täysikokoisten USB -liittimien poistaminen tuo mukanaan joitakin monimutkaisuuksia. Nimittäin kuinka voit kytkeä näppäimistön ja hiiren? Tavalliset USB -oheislaitteet ja keskittimet käyttävät tyypin A liittimiä, ei mikrotyyppisiä.

Joten mitä voimme tehdä?

Voimme mennä päätön!

Ei, emme tarkoita tulla hulluksi, vaan käyttää vaihtoehtoa normaalille langalliselle asetukselle. Päätön tarkoittaa "tunnelointia" pi: hen etäyhteydellä suojatun kuoren (SSH) verkkoyhteyden avulla. Tässä projektissa käytämme päätöntä lähestymistapaa WiFi: n kautta. Tästä syystä olemme valinneet pi -nollan W -version vieläkin halvemman pi -nollan sijaan.

Huomaa, että on myös toinen tapa ajaa pi päättömässä tilassa käyttämällä jotain, jota kutsutaan VNC: ksi. Se vaatii erityistä VNC -ohjelmistoa, joka on käynnissä tietokoneellasi, koska se tarjoaa täyden virtuaalisen graafisen työpöydän tietokoneellasi. Emme vaadi (emmekä todellakaan halua) työpöytää projektillemme, joten pysymme yksinkertaisemmassa SSH -menetelmässä.

Vaihe 2: Scotty, tarvitsemme lisää voimaa

Scotty, tarvitsemme lisää voimaa!
Scotty, tarvitsemme lisää voimaa!

32x32 LED -matriisipaneeli voi yksinään ottaa useita ampeereja virtaa. Ihan totta! Siksi useimmat näistä paneeleista sisältävät joitain ison näköisiä virtajohtoja sen virran saamiseksi. Onneksi meille, vaikka meidän ei tarvitse hankkia massiivista virtalähdettä tähän projektiin. Pystyimme syöttämään koko järjestelmän virtaan vain vara -5V/2amp microUSB -matkapuhelinlaturilla, joka meillä oli makaamassa. Syy pienempään virtaan johtuu siitä, että käytämme suhteellisen yksinkertaista grafiikkaa emmekä sytytä suurinta osaa LED -valoista. Jos aiot tehdä animaatiota tai käyttää videota/kirkasta grafiikkaa, sinun on ehdottomasti harkittava paneelin virran kytkemistä erillisestä virtalähteestä.

Vaihe 3: Anturin sijoittelu ja ohjelmisto

Anturin sijoitus ja ohjelmisto
Anturin sijoitus ja ohjelmisto
Anturin sijoitus ja ohjelmisto
Anturin sijoitus ja ohjelmisto

Huomasitko, että käytämme tässä järjestelmässä kahta pikkuLiDARia yhden sijasta? Kuten autotallin asennuskaaviossa on esitetty, yksi on sijoitettu auton eteen ja toinen auton toiselle puolelle.

Sivutunnistin tunnistaa, jos käännät keskipistettä pysäköidessäsi auton, ja tietysti etuosa kertoo, milloin pysähtyä.

32x32 LED -näyttö auttaa sinua näyttämällä nuolia eteenpäin, vasemmalle tai oikealle ja laskurinäytön, jossa on värilliset kulmat, jotka osoittavat, kuinka paljon sinun on vielä ajettava. Katso lyhyt video kaikista näyttötiloista.

Pelisuunnitelma

Lyhyesti sanottuna käytämme aina suosittua hzeller C -kirjastoa LED -ohjaimelle, Pythonia ohjauskoodille ja pipgpio C -kirjastoa antureidemme asianmukaiseen I2C -hallintaan.

Python on erittäin helppo korkean tason kieli, jota voit muokata helposti millä tahansa tekstieditorilla. Käytämme normaalisti SublimeTextia ja tähän projektiin käytimme myös erittäin hyödyllistä FTP -laajennusta, jonka avulla voimme muokata komentotiedostoja suoraan pi: llä. Tämä on valinnainen vaihe, koska sitä tarvitaan vain, jos haluat muokata koodia. Lisätietoja on tämän artikkelin lopussa.

Kaikki rpi -levyt, kuten ehkä tiedät, eivät tue luonnollisesti I2C -kellon venytystä. Joten käytimme pigpio -kirjastoa uudelleen tässä projektissa ohjaamaan tinyLiDAR -antureita, mutta tällä kertaa hieman …

Useita pieniä LIDAReja

Kun ostat tinyLiDARin, se on aina asetettu orjaosoitteeseen 0x10. Tämä on hyvä, kun käytät yhtä anturia, mutta jos sinulla on useampi kuin yksi väylässä, saattaa olla ongelma, jos kirjoitat komennon 0x10 -numeroon ja kaikki vastaavat takaisin!

Joten meillä on 3 vaihtoehtoa täällä:

Ensinnäkin voimme käyttää (tinyLiDAR) "R" -komentoa uuden orjaosoitteen kirjoittamiseen I2C -väylään kytkettyyn anturiin. Toista sitten tämä kullekin anturille. Kiinnitä, kirjoita ja irrota fyysisesti jokainen anturi tätä menettelyä varten. tinyLiDAR tallentaa annetun osoitteen sisäiseen haihtumattomaan muistiinsa. Osoite säilyy myös virtakierron jälkeen, kunnes poistat sen antamalla RESET -komennon.

Toinen vaihtoehto on käyttää kätevää automaattista määritysominaisuutta, jonka loimme venytystavoitteena IGG -kampanjassa. Tämä edellyttää AR -komennon lähettämistä ja sitten sormen osoittamista kullekin anturille erikseen, jotta se määrittää automaattisesti peräkkäiset I2C -osoitteet yksittäisille antureille, kuten ensimmäinen vaihtoehto, mutta sinun ei tarvitse irrottaa fyysisesti jokaista anturia tätä varten.

Kolmas vaihtoehto on se, jota käytämme täällä tässä projektissa, ja se on mahdollista pigpio -kirjaston ansiosta. Toteuttaaksesi I2C -standardin oikein, pigpio -bitbangs GPIO. Tästä syystä voimme helposti luoda erilliset I2C -väylät lähes mihin tahansa GPIO -varapariin.

Näin ollen useiden LiDAR-antureiden orjaosoitteita ei tarvitse ohjelmoida uudelleen. Voimme käyttää erillistä bussia jokaiselle:)

Huomaa, että 100 kb / s: n nopeudella toimiva I2C -väylä on itse asiassa melko vankka. Käytämme tavallista vanhaa CAT5 -ethernet -kaapelia ajaaksemme I2C -väylän ulos sivulle tinyLiDAR -anturille, joka on täyden 25 metrin päässä ilman aktiivisia toistinkomponentteja! Anturin johdotustiedot on esitetty yllä.

Okei, riittää jibber jabber, aloitetaan koodin lataaminen!

Vaihe 4: Pi: n asentaminen

Pi: n asentaminen
Pi: n asentaminen
Pi: n asentaminen
Pi: n asentaminen

Varoitus: pi käyttää Linux -tiedostojärjestelmää, joten on parasta suorittaa seuraavat vaiheet Linux -pohjaisessa järjestelmässä. Saatat lopulta alustaa SD -korttisi uudelleen, jos teet tämän Windowsissa. Käytimme mahtavaa ja ilmaista Ubuntu 18.04 -työpöytää, joka toimii virtuaalisessa ympäristössä Windows 10 -tietokoneessa, mutta voit kokeilla jotain vastaavaa.

Sinun on ensin ladattava käyttöjärjestelmä raspberrypi.org -sivustolta ja poltettava se sitten microSD -kortillesi. Joten toimi seuraavasti:

(1) Siirry Ubuntussa tänne ja nappaa Raspbian Lite -kuva. Tallenna se latauskansioon.

(2) Lataa seuraavaksi Etcher SD -kortin kirjoitusohjelma. Tiedotus - virallinen Etcher -latauslinkki Linux -versiolle heidän kotisivullaan ei toiminut meille, joten käytimme sen sijaan tässä kuvattua menetelmää:

Yhteenvetona linkissä kuvatut vaiheet olivat:

Lisää Etcher -debian -arkisto:

echo "deb https://dl.bintray.com/resin-io/debian stabil etcher" | sudo tee /etc/apt/sources.list.d/etcher.list

Luota Bintray.comin GPG -avaimeen:

sudo apt-key adv-avainpalvelimen avainpalvelin.ubuntu.com --recv-avaimet 379CE192D401AB61

Päivitä ja asenna:

sudo apt-get päivitys

sudo apt-get install etcher-electron

Kun olet valmis, voit jatkaa ja käynnistää Etcherin Ubuntu -työpöydältäsi. Se kysyy lähdetiedostoa (jonka laitat latauskansioon). Etcherin seuraava askel on valita oikea kohde. Etcher tunnistaa hyvin micro SD -korttisi, mutta sinun pitäisi olla vainoharhainen. Varmistaaksesi, että se löytää oikean määränpään - yritä poistaa microSD -kortti napsauttamalla Poista -painiketta Ubuntu File Explorer -ikkunassa ja varmista, että se poistuu kohdevaihtoehtona Etcherin sisällä. Napsauta se sitten takaisin ja jatka viimeiseen vaiheeseen, joka on tiedoston kirjoittaminen tälle microSD -kortille.

Odota hetki, kunnes se on valmis, ja jatka sitten eteenpäin.

Vaihe 5: WiFi -aika

WiFi -aika
WiFi -aika
WiFi -aika
WiFi -aika

Okei, nyt on aika syöttää WiFi -tiedot.

Vihje: voit aina kopioida (Ctrl+C) ja liittää (hiiren kakkospainike, liitä) tämän artikkelin tiedot PuTTY -pääteikkunaan komentojen kirjoittamisen sijaan. Tarkista tämän artikkelin lopusta myös useita hyödyllisiä Linux -komentoja.

Kun Etcher on kirjoittanut micro SD -kortille, kaksi asemaa näkyy yllä kuvatulla tavalla. Toista kutsutaan bootiksi ja toista rootfiksi

Meidän on käytettävä tiedostonhallintaa mennäksesi käynnistyskansioon ja luomaan tiedoston nimeltä wpa_supplicant.conf.

Voit tehdä tämän vaiheen napsauttamalla vasemmalla puolella, jossa lukee käynnistys, ja sitten näytön oikealla puolella voit napsauttaa hiiren kakkospainikkeella valkoista taustataustaa ja valita Avaa terminaalissa.

Tämä avaa pääteikkunan (samanlainen kuin CMD Windowsissa), johon voit kirjoittaa seuraavan:

sudo nano wpa_supplicant.conf Vinkki: Sinun on annettava Linux -järjestelmän salasanasi, jotta se voi toimia pääkäyttäjänä. Tämä on pakollista, muuten et voi tallentaa tiedostoja muokkaamisen jälkeen

Yllä oleva komento käynnistää sitten nano -tekstieditorin, johon voit syöttää seuraavat tiedot:

maa = 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}

Huomautus: Muista korvata WiFi_SSID ja WiFi_Password omalla WiFi -verkon nimellä ja salasanalla.

Kun olet valmis, poistu napsauttamalla Ctrl+X ja kirjoita tiedosto poistumisen yhteydessä vastaamalla Kyllä.

Seuraava askel on luoda tyhjä tiedosto nimeltä ssh. Tätä varten kirjoitamme vain pääteikkunaan seuraavan:

kosketa ssh

Nyt meidän on annettava pi: lle staattinen IP -osoite, jotta tiedämme missä se on joka kerta, kun haluamme muodostaa yhteyden siihen. Kirjoita pääteikkunaan seuraava:

sudo nano /etc/dhcpcd.conf

Tämän pitäisi avata nano -tekstieditori uudelleen ja voimme lisätä tämän tekstin tiedoston alaosaan:

käyttöliittymä wlan0

staattinen ip_address = 192.168.0.static reitittimet = 192.168.0.1 staattinen domain_name_servers = 192.168.0.1 8.8.8.8

Huomautus: Tämä edellyttää, että verkon etuliite on 192.168.0. Jos sinulla on 192.168.1 jne., Käytä sen sijaan verkkoa. Verkkotunnuksen nimipalvelin 8.8.8.8 on tarkoitettu Googlelle ja se on valinnainen täällä.

Sulje terminaali kirjoittamalla 'exit'. Napsauta sitten hiiren kakkospainikkeella tiedostojen hallinta -ikkunan vasemmassa reunassa olevaa käynnistysnimeä ja valitse Poista.

Voit nyt liittää tämän microSD -kortin pi -laitteeseesi ja kytkeä microUSB -virtajohdon pi -virtalähteeseen.

Jos kaikki menee hyvin, vihreä LED -valo vilkkuu jonkin aikaa, kuten se käyttää kiintolevyä, ja sen pitäisi kirjautua WiFi -verkkoon. Anna sen asettua noin minuutti ja odota, kunnes LED -valo muuttuu tasaisen vihreäksi.

Varmistaaksemme, että kaikki toimi, voimme yrittää pingata sen.

Joten kirjoita alla oleva rivi ja tarkista vastaus.

ping 192.168.0.200

Ubuntussa sinun pitäisi saada jotain vastaavaa:

ping 192.168.0.200

PING 192.168.0.200 (192.168.0.200) 56 (84) tavua dataa. 64 tavua 192.168.0.200: icmp_seq = 1 ttl = 128 aika = 752 ms 64 tavua 192.168.0.200: icmp_seq = 2 ttl = 128 aika = 5.77 ms 64 tavua 192.168.0.200: icmp_seq = 3 ttl = 128 aika = 7.33 ms ^C --- 192.168.0.200 ping-tilastot --- 3 lähetettyä pakettia, 3 vastaanotettua, 0% paketin menetys, aika 2001ms rtt min/avg/max/mdev = 5.777/255.346/752.922/351.839 ms

Huomaa, että ping jatkaa toimintaansa, kunnes lopetat painamalla Ctrl+C.

Windowsissa sinun pitäisi saada jotain tällaista:

ping 192.168.0.200

Pinging 192.168.0.200 ja 32 tavua dataa: Vastaus 192.168.0.200: tavua = 32 aika = 4 ms TTL = 64 Vastaus käyttäjältä 192.168.0.200: tavua = 32 aika = 5 ms TTL = 64 Vastaus käyttäjältä 192.168.0.200: tavua = 32 kertaa = 6 ms TTL = 64 Vastaus käyttäjältä 192.168.0.200: tavua = 32 aika = 5 ms TTL = 64 Ping -tilastot 192.168.0.200: Paketit: Lähetetty = 4, Vastaanotettu = 4, Kadonnut = 0 (0%: n menetys), Arvioitu edestakainen matka -aika millisekunteina: minimi = 4 ms, maksimi = 6 ms, keskiarvo = 5 ms

Kaikki hyvin? Tästä eteenpäin…

Vaihe 6: Kirjautuminen sisään

Kirjautua sisään
Kirjautua sisään

Nyt kun meillä on yhteys pi: hen, haluamme lähettää sille komentoja. Mutta miten? PuTTY tietysti! Voit ladata PuTTY: n täältä.

Isäntänimi (tai IP -osoite): 192.168.0.200 Yhteystyyppi: SSH Anna tälle profiilille nimi Tallennetut istunnot -kohdassa ja paina Tallenna. Voit käyttää mitä tahansa haluamaasi nimeä, esimerkiksi "rpizw_200"

Kirjaudu sisään valitsemalla se luettelosta ja napsauttamalla Lataa. Paina sitten Avaa. Anna käyttäjätunnus ja salasana kirjautuaksesi sisään:

kirjautumisnimi: pi

Defalt -salasana: vadelma

Tässä on esimerkki istunnosta, joka näkyy PuTTY: ssä, kun kirjaudut sisään:

kirjaudu sisään: pi

[email protected] salasana: Linux raspberrypi 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l Debian GNU/Linux -järjestelmän mukana tulevat ohjelmat ovat ilmaisia ohjelmistoja; kunkin ohjelman tarkat jakeluehdot on kuvattu yksittäisissä tiedostoissa/usr/share/doc/*/copyright. Debian GNU/Linux sisältää EHDOTTOMASTI TAKUUN sovellettavan lain sallimissa rajoissa. Viimeinen kirjautuminen: [päivämäärä ja aika] alkaen 192.168.0. [Ip -osoite] SSH on käytössä eikä pi -käyttäjän oletussalasanaa ole muutettu. Tämä on tietoturvariski - kirjaudu sisään "pi" -käyttäjänä ja kirjoita "passwd" asettaaksesi uuden salasanan.

Ensimmäisen kirjautumisen yhteydessä se varoittaa, ettet ole vielä vaihtanut salasanaa. Sinun pitäisi muuttaa se johonkin vahvaan mutta yksinkertaiseen muistettavaksi, joten siirry eteenpäin ja muuta se kirjoittamalla passwd ja noudattamalla ohjeita.

Seuraavaksi meidän pitäisi päivittää pi: n ohjelmisto kirjoittamalla tämä:

sudo apt-get update && sudo apt-get update

Tämä lataa tarvitsemansa päivitykset Internet -yhteydestäsi. Vastaa KYLLÄ, jos sinua kehotetaan sallimaan sen jatkaminen, ja anna sitten jonkin aikaa päivittää.

Tällä hetkellä meidän pitäisi luultavasti myös sammuttaa pi: n ääni, koska sillä on huono juju LED -ohjainkirjaston kanssa. Kopioi, liitä seuraavat rivit yksi kerrallaan ja paina enter jokaisen rivin jälkeen:

cd ~

kissa << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf musta lista snd_bcm2835 EOF sudo update-initramfs -u

Tulos on jotain tällaista:

pi@raspberrypi: ~ $ cd ~

pi@raspberrypi: ~ $ cat <> musta lista snd_bcm2835>> EOF -musta lista snd_bcm2835 pi@raspberrypi: ~ $ sudo update -initramfs -u pi@raspberrypi: ~ $

Sitten meidän on käynnistettävä pi uudelleen, jotta muutokset tulevat voimaan, joten kirjoita seuraava:

sudo uudelleenkäynnistys nyt

Yhteys katkeaa tietysti, kun pi käynnistyy uudelleen, joten voit sulkea PuTTY: n. Yritä kirjautua sisään minuutin kuluttua.

Nyt on aika hankkia graafinen FTP -tiedostonhallinta nimeltä WinSCP. Voit ladata WinSCP: n täältä

WinSCP on paljon kuin tiedostonhallinta Windowsissa ja Ubuntussa. Sen avulla voimme helposti vetää ja pudottaa tiedostoja pi: lle ja sieltä ja luoda otsikoita vain hiiren oikealla painikkeella.

Kun olet ladannut, sinun on määritettävä profiili pi: lle.

WinSCP -asennus Valitse Kirjaudu -ponnahdusikkunasta Uusi sivusto. Käytä istunnossa seuraavia asetuksia:

Tiedostoprotokolla: SFTP -isäntänimi: 192.168.0.200 Käyttäjänimi: pi Salasana: {mikä salasana olet muuttanut oletusarvoiseksi yllä olevassa PuTTY -vaiheessa}

Siirry sivuston lisäasetuksissa kohtaan Ympäristö | Hakemistot ja kirjoita /home /pi etähakemistoon ja mitä haluat paikalliseen hakemistoon.

Siirry sivuston lisäasetuksissa kohtaan Ympäristö | Shell ja valitse Sudo su - Shell -pudotusvalikosta.

Napsauta sitten Tallenna.

Pidä sekä WinSCP että PuTTY auki, kun suoritat seuraavat vaiheet

Siirry PuTTY -päätelaitteeseen ja kirjoita seuraava:

cd ~

Tämä johtaa meidät kotihakemistoomme pi: n sisällä.

Voimme nyt napata LED -ohjainkirjaston githubista. Jotta voimme käyttää uusinta koodia, meidän on vedettävä reposta, joten meidän on asennettava git -apuohjelma.

Kirjoita tämä PuTTY:

sudo apt-get install git

Vastaa Y jatkaaksesi ja kestää muutaman sekunnin ennen kuin asennat gitin meille Internetistä.

Tuloksen pitäisi näyttää tältä:

pi@raspberrypi: ~ $ sudo apt-get install git

Pakettiluettelojen lukeminen… Valmis Riippuvuuspuun luonti Tilatietojen lukeminen… Valmis Seuraavat lisäpaketit asennetaan: git-man liberror-perl Ehdotetut paketit: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn Seuraavat uudet paketit asennetaan: git git-man liberror-perl 0 päivitetty, 3 juuri asennettu, 0 poistettava ja 0 ei päivitetty. Tarvitset 4,848 kt arkistoja. Tämän toimenpiteen jälkeen käytetään 26,4 Mt lisää levytilaa. Haluatko jatkaa? [Y/n] y Hanki: 1 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf liberror-perl kaikki 0.17024-1 [26.9 kB] Hanki: 2 https://muug.ca/mirror/ raspbian/raspbian stretch/main armhf git-man all 1: 2.11.0-3+deb9u3 [1, 433 kB] Hanki: 3 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] Haettu 4, 848 kB 5 sekunnissa (878 kt/s) Aiemmin valitsemattoman paketin valitseminen liberror-perl.(Luetaan tietokantaa… 34363 tiedostoa ja hakemistoa on tällä hetkellä asennettu.) Pakkauksen purkamista valmistellaan…/liberror-perl_0.17024-1_all.deb… Liberror-perl (0.17024-1) -pakkauksen purkaminen… Aiemmin valitsemattoman paketin git-man valitseminen. Valmistautuminen pakkauksen purkamiseen…/git-man_1%3a2.11.0-3+deb9u3_all.deb… Git-manin purkaminen pakkauksesta (1: 2.11.0-3+deb9u3)… Aiemmin valitsemattoman paketin git valitseminen. Valmistautuminen pakkauksen purkamiseen…/git_1%3a2.11.0-3+deb9u3_armhf.deb… git-pakkauksen purkaminen (1: 2.11.0-3+deb9u3)… git-manin määrittäminen (1: 2.11.0-3+deb9u3)… Asetukset liberror-perl (0.17024-1)… Käsittelee man-db-liipaisimia (2.7.6.1-2)… Gitin määrittäminen (1: 2.11.0-3+deb9u3)…

Palaa nyt WinSCP: hen ja siirry kansioon /home /pi. Napsauta sitten tämän WinScp -ikkunan oikealla puolella hiiren kakkospainiketta ja valitse luoda uusi hakemisto nimeltä "pysäköinti"

Takaisin PuTTY -näyttöön voit kirjoittaa ls vahvistaaksesi, että olet juuri tehnyt uuden kansion pi. Kirjoita sitten tämä:

cd p [TAB]Vihje: TAB -näppäimen painaminen täydentää osan nimen automaattisesti

Paina Enter -näppäintä päästäksesi tähän hakemistoon.

pi@raspberrypi: ~ $ cd parking/

pi@raspberrypi: ~/parking $ ls

Nyt voimme saada ohjaintiedostot kirjoittamalla seuraavat PuTTY:

git-klooni

Tulos näyttää suunnilleen tältä:

pi@raspberrypi: ~/parking $ git klooni

Kloonaus rpi-rgb-led-matrixiksi… etänä: Objektien laskeminen: 3740, valmis. kauko: Yhteensä 3740 (delta 0), uudelleenkäytetty 0 (delta 0), pakkaus uudelleenkäytetty 3740 Vastaanottavat kohteet: 100% (3740/3740), 20,61 MiB | 1,32 MiB/s, valmis. Deltojen ratkaiseminen: 100% (2550/2550), valmis.

Kokoa nyt LED-ajuritiedostot siirtymällä tähän uuteen rpi-rgb-led-matrix -hakemistoon ja kirjoittamalla make-komento:

cd r [TAB]

tehdä Ja tältä se näytti hallituksessamme

pi@raspberrypi: ~/parking $ cd rpi-rgb-led-matrix/

pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make make -C./lib make [1]: Hakemiston '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++-syöttäminen I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parametr -fno -exceptions -c -o gpio.o gpio.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parametr -fno -Exceptions -c -o led -matrix.o led-matrix.cc g ++ -I../ include - Seinä -O3 -g -fPIC -DDEFAULT_HARDWARE = '"tavallinen"' -Wextra -Wno -käyttämätön parametri -fno -poikkeukset -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"tavallinen"' -Wextra -Wno -käyttämätön -parametri -fno -poikkeukset -c -o framebuffer.o framebuffer.cc g ++ -I../ include -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '"tavallinen"' -Wextra -Wno -käyttämätön -parametri -fno -poikkeukset -c -o thread.o thread.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = ' "tavallinen" -Wextra -Wno -käyttämätön -parametri -fno -poikkeukset -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 -Exceptions -c -o graphics.o graphics.cc g ++ - I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parametr -fno -exceptions -c -o transformer.o transformer.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parametr -fno -Exceptions -c -o led -matrix -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 = '"regular"' -Wextra -Wno -unused -parameter -fno -exceptions -c -o content -streamer.o content-streamer.cc g ++ -I../ include -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '"tavallinen"' -Wextra -Wno -käyttämätön -parametri -fno -poikkeukset -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 ++ -jaettu -Wl, -sukunimi, 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]: Poistuminen hakemistosta '/home/pi/parking/rpi -rgb -led -matrix/lib' make -C example -api -use make [1]: Hakemiston syöttäminen ' /home/pi/parking/rpi -rgb -led -matrix/example -api -use 'g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o demo -main. o demo-main.cc make -C../lib make [2]: Hakemiston '/home/pi/parking/rpi-rgb-led-matrix/lib' make [2] syöttäminen: Hakemistosta '/home/pi poistuminen /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 -parameter -c -o minimal -example.o minimaalinenesimerkki.cc g ++ minimaalinen esimerkki.o - o minimaalinen esimerkki -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o c -example.o c- esimerkki.c cc c -esimerkki.o -o c -esimerkki -L../ lib -lrgbmatrix -lrt -lm -lpthread -lstdc ++ g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused- parametri -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 -parameter -c -o ledcat.o ledcat.cc g ++ le dcat.o -o ledcat -L../ lib -lrgbmatrix -lrt -lm -lpthread make [1]: Poistuminen hakemistosta '/home/pi/parking/rpi -rgb -led -matrix/example -api -use' pi @raspberrypi: ~/parking/rpi-rgb-led-matrix $

Seuraava askel on sitoa RGB -matriisikirjasto Pythoniin. Tässä projektissa käytimme oletusarvoista Python 2: ta. Tämän sitomisen suorittamiseksi syötämme seuraavan rivin kerrallaan kuten ennen:

sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y

tee build-python sudo make install-python

Huomautus: Voit turvallisesti jättää huomiotta yhden varoituksen '-Wstrict-prototyypistä', joka tulee näkyviin suoritettaessa molempia lausekkeita. Make -komentojen suorittaminen kestää muutaman minuutin, eivätkä ne sano mitään ollessaan kiireisiä. Joten älä pelkää - piisi pitäisi palata pian;)

Tässä on osittainen tulos ensimmäisestä merkintälausekkeesta:

grafiikkalaajennuksen rakentaminen

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: varoitus: komentorivivaihtoehto '-Wstrict-prototypes' pätee C/ObjC: lle, mutta ei C ++ arm-linux-gnueabihf-g ++ -pthread -shared -Wl, -O1 -Wl, -Symboliset toiminnot -Wl, -z, relro -fno -range -aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototypes -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 tee [1]: Poistuminen hakemistosta '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $

Seuraavaksi asennamme pigpio C -kirjaston. Jotta voimme tehdä tämän oikein, meidän on tehtävä se lähteestä, joten kirjoita vain seuraavat rivit:

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

Yllä oleva asennus kestää noin 3 minuuttia.

Nyt on aika hankkia Python -projektitiedostomme. Kirjoita seuraava:

cd ~

cd/home/pi/parking/rpi-rgb-led-matrix/siteet/python/sample wget https://s3.amazonaws.com/microedco/tinyLiDAR/Raspberry+Pi/tinyL_parking.zip unzip -j tinyL_parking.zip rm tinyL_parking.zip

Suorita se kirjoittamalla seuraava:

sudo python parking.py

Mutta sinun ei tarvitse tehdä tätä juuri nyt, koska meidän on vielä johdettava kaikki…

Vaihe 7: Johdot

Johdot
Johdot
Johdot
Johdot
Johdot
Johdot
Johdot
Johdot

Kuten aiemmin mainittiin, saimme virtalähteeksi LED -paneelin samasta virtalähteestä, joka käyttää pi: tä. Tätä varten sinun on liitettävä isot punaiset ja mustat johdot urospuolisiin liittimiin, jotta ne voidaan kytkeä 40 -nastaisen pi -liittimen nastoihin 2 ja 9.

Irrota pistorasian virta ja kytke LED -paneeli johtoon yllä olevan kuvakaavion mukaisesti. Pidä nasta 2 irrotettuna toistaiseksi.

HUOMAUTUS: LED -matriisipaneeli voi joskus käynnistyä funky -tilassa. Jos näin tapahtuu, se voi ladata virtalähteesi vakavasti riippumatta sen nykyisestä kapasiteetista. Huomasimme tämän kehitystyössä penkkimme, joka voi tuottaa yli 4 ampeeria. Ratkaisu tähän on ajaa ensin pi -koodi ja kytkeä sitten nasta 2 virtalähteeseen LED -paneeliin. Tällä tavalla paneelin pitäisi tulla virransäästötilaan, koska se huuhtelee satunnaiset LED -tilat. Lepovirta (kaikki LEDit pois päältä) LED -paneelillamme oli vain 50 mA 5 voltin jännitteellä.

CAT5

Käytimme 25 jalan CAT5 -ethernet -kaapelia ja muutimme sen yhdistämään pi -otsikkotapit toisesta päästä ja hyväksymään GROVE -liittimen nastat toisella puolella, jotta voisimme pidentää etäisyyttä sivumme tinyLiDAR -anturin sijoittamiseen. Yllä olevat valokuvat osoittavat tämän kaapelin ennen ja jälkeen muutosten. Jätä huomiotta nastatapin johtimien värit, koska ne eivät korreloi kaavioihin. Varmista vain, että liität järjestelmän järjestelmään kuten vaiheessa 3 esitetyissä kuvakytkentäkaavioissa.

Vaihe 8: Sytytä se

Image
Image
Valinnainen vaihe ja hyödyllisiä komentoja
Valinnainen vaihe ja hyödyllisiä komentoja

Oikea käynnistysjärjestys on kytkeä microUSB -laturi pi -laitteeseen ja odottaa, että tinyLiDAR -antureiden siniset LED -valot vilkkuvat nopeasti osoittaen, että ne suorittavat mittauksia. Tämä osoittaa, että koodi toimii oikein.

Voit sitten liittää hitaasti mutta lujasti nastan 2 LED -paneelin syöttöön. Varo, ettet häiritse sitä tehdessäsi tätä! Jos LED -paneelissa näkyy muutama jäädytetty kirkas LED, se on luultavasti häiriintynyt, joten poista microUSB -virta pi -laitteesta ja odota muutama sekunti kokeillaksesi käynnistysjärjestystä uudelleen.

Suorita koodi kirjoittamalla seuraava:

cd/home/pi/parking/rpi-rgb-led-matrix/siteet/python/sample

sudo python parking.py

Jos kaikki menee hyvin, sinun pitäisi saada samanlainen näyttö kuin videossa.

Tutustu nopeasti parking.py -koodiin ymmärtääksesi käyttämiämme rajoituksia. Etuanturin oletusarvo on 200 mm. Koska anturin kantama on 11 mm - 2 m, on hyvä pitää nom_parked_Front -etäisyys vähintään 200 mm. Sivuanturi nom_parked_Side on asetettu arvoon 600 mm. Katso yllä olevasta kuvasta Python -koodi, joka näyttää nämä kokoonpanovaihtoehdot.

Jos kaikki toimii, voit asentaa järjestelmän autotalliisi ja säätää yllä olevia parametreja tarpeen mukaan. Koska pi on yhteydessä Wi -Fi -verkkoon, voit aina mennä sisään ja muokata etäisyysasetuksiasi tarvitsemallasi autotallin asetuksella, kun se on vielä asennettuna.

Onko tämä nyt?

Miksi kyllä, niin on! - aika tanssia iloisesti:)

Kiitos, että luit ja nauti uudesta pysäköintiavustimesta!

Vaihe 9: Valinnainen vaihe ja hyödyllisiä komentoja

Valinnainen vaihe - FTP -lisäosa Sublime Textille

Jos haluat muokata Python -komentotiedostoja suoraan pi: llä, voimme asentaa FTP -lisäosan nimeltä Sublime SFTP by Wbond. Voit ladata tämän lisäosan noudattamalla täällä olevia ohjeita

Tämän lisäosan asentamiseksi meidän on määritettävä FTP -tunnistetiedot Tiedosto | SFTP/FTP | Setup Server… -sivu.

Asetuksissamme käytimme:

"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", Käytä Ctrl+S tai Tiedosto | Tallenna tallentaaksesi nämä tiedot. Sinulta kysytään nimeä, jotta voit kutsua tätä kokoonpanoa. Kutsuimme sitä yksinkertaisesti "rpizw_0_200"

Kirjaudu nyt SublimeTextistä pi: hen siirtymällä tiedostoon | SFTP/FTP | Selaa palvelinta…

Valitse avautuvista vaihtoehdoista. Haluat valita profiilin, jonka nimi on edellä määritetty;) Selaa ohjeita ja muokkaa haluamaasi tiedostoa noudattamalla ohjeita.

Hyödyllisiä lisäominaisuuksia

Hyödyllisiä Linux -komentoja pi: lle.

Ennen kuin irrotat pistorasian, muista AINA sammuttaa se, jotta et vahingoita tiedostoja microSD -kortillasi. Kirjoita tämä komento:

sudo sammuu nyt

ja odota, että vihreä merkkivalo sammuu, ennen kuin irrotat virran. Samalla tavalla voit käynnistää sen uudelleen syöttämällä:

sudo uudelleenkäynnistys nyt

Voit luetteloida hakemiston tiedostot seuraavasti:

ls

Löydät muita hyödyllisiä Linux -komentoja täältä

Suositeltava: