Satura rādītājs:

Uz Pi balstīta stāvēšanas palīgsistēma: 9 soļi
Uz Pi balstīta stāvēšanas palīgsistēma: 9 soļi

Video: Uz Pi balstīta stāvēšanas palīgsistēma: 9 soļi

Video: Uz Pi balstīta stāvēšanas palīgsistēma: 9 soļi
Video: Un Aperçu du Syndrome de Tachycardie Orthostatique Posturale (POTS) 2024, Novembris
Anonim
Pi balstīta autostāvvietas palīgsistēma
Pi balstīta autostāvvietas palīgsistēma

Sveiks! Šeit ir foršs mazs projekts, ko varat izveidot vienā pēcpusdienā un pēc tam izmantot katru dienu. Tas ir balstīts uz Raspberry Pi Zero W un palīdzēs jums ideāli novietot automašīnu katru reizi.

Šeit ir pilns nepieciešamo detaļu saraksts:

  • Raspberry Pi Zero W (šajā rakstā mēs to sauksim par “rpi” vai “pi”)
  • 4 GB vai lielāka micro SD karte operētājsistēmai pi
  • Divi tinyLiDAR lidojuma attāluma sensora moduļi
  • 32x32 RGB LED panelis (šim nolūkam ir daudz ražotāju ar dažādu punktu augstumu, piemēram, varat izmantot Adafruit 1484 vai līdzīgu, vienkārši meklējiet Google tīklā “32x32 LED Matrix”). Mūsu panelim bija 6 mm solis.
  • 25 pēdas CAT5 kabeļa
  • aptuveni 22 krāsaini tērauda līdz vīrieša galvenes tapas vadi
  • 5v 2Amp microUSB barošanas avots (mobilā tālruņa lādētājs) Vai viss ir iestatīts? Ejam!

TL; DR kopsavilkums

  • Lejupielādējiet Raspbian Lite OS rpi
  • Konfigurējiet pi, lai bez galvas darbotos bezvadu tīklā ar statisku IP
  • Iestatiet sava datora izstrādātāju vidi, izmantojot PuTTY, WinSCP un pēc izvēles SublimeText ar FTP papildinājumu
  • Lejupielādējiet, izveidojiet un piesaistiet LED paneļa draiveri
  • Lejupielādējiet un instalējiet pigpio
  • Lejupielādējiet mūsu Python kodu
  • Pievienojiet 32x32 LED displeja paneli
  • Izveidojiet CAT5 pagarinājuma kabeli sānu tinyLiDAR sensoram
  • Neobligāts solis (bet tikai pieredzējušiem lietotājiem): veiciet ātru laimīgu deju, kad viss darbojas;)

1. darbība: kas ir Pi Zero W?

Kas ir Pi Zero W?
Kas ir Pi Zero W?

Jūs neapšaubāmi esat dzirdējuši par Raspberry Pi, bet kas, pie velna, ir pi 'Zero W'?

Raspberry Pi Zero un Zero W bija jaunāki Pi saimes papildinājumi, kas vairāk domāti IoT un citām zemu izmaksu iegultām lietojumprogrammām. Tās ir nojauktas sākotnējās pi plates versijas, bet joprojām ar jaudīgu 1 GHz procesoru. Šeit ir labs visu modeļu salīdzinājums.

Ieguvums mums, izvēloties Pi Zero W šeit, salīdzinot ar citām vadības paneļiem, ir tas, ka mēs to varam viegli ieprogrammēt augstākā līmeņa Python valodā, vienlaikus izmantojot ātros C/C ++ LED paneļu draiverus. Tā cena ir arī pievilcīga - tikai USD 10.

Paturiet prātā, ka, tā kā šī tāfele ir pilna pi versija, dažas lietas ir mainījušās. Jo īpaši ir novērsta Ethernet ligzda, HDMI savienotājs ir mainīts uz mini izmēru un četri USB porti ir vienkāršoti līdz vienam mikro USB tipam. Ir vēl viens mikro USB savienotājs, bet tas ir paredzēts tikai plates barošanai. Pilna izmēra USB savienotāju likvidēšana rada dažas sarežģītības. Proti, kā jūs varat savienot tastatūru un peli? Standarta USB perifērijas ierīcēs un centrmezglos tiek izmantoti A tipa savienotāji, nevis mikro.

Tātad, ko mēs varam darīt?

Mēs varam palikt bez galvas!

Nē, mēs nedomājam trakot, bet gan izmantot alternatīvu parastajai tiešajai vadu iestatīšanai. Bez galvas nozīmē “tunelēt” pi pi, izmantojot drošu apvalku (SSH) tīkla savienojumu. Šim projektam mēs izmantosim pieeju bez galvas, izmantojot WiFi. Tāpēc mēs izvēlējāmies pi nulles W versiju, nevis vēl zemākas izmaksas pi nulle.

Ņemiet vērā, ka ir arī cits veids, kā palaist pi bezgalvu režīmā, izmantojot kaut ko tādu, ko sauc par VNC. Tam ir nepieciešama īpaša VNC programmatūra, kas darbojas jūsu datorā, jo tā nodrošina pilnu virtuālo grafisko darbvirsmu jūsu datorā. Mēs neprasām (un patiešām nevēlamies) darbvirsmu mūsu projektam, tāpēc mēs pieturēsimies pie vienkāršākas SSH metodes.

2. solis: Skotij, mums vajag vairāk enerģijas

Skotij, mums vajag vairāk spēka!
Skotij, mums vajag vairāk spēka!

32x32 LED matricas panelis pats par sevi var uzņemt vairākus ampērus strāvas. Bez jokiem! Tāpēc lielākajā daļā šo paneļu ir daži dūšīgi izskatās strāvas kabeļi, lai to darbinātu. Mums par laimi, lai gan šim projektam mums nevajadzēs iegūt milzīgu barošanas avotu. Mēs varējām barot visu šo sistēmu tikai ar rezerves 5v/2amp microUSB mobilā tālruņa lādētāju, kas mums bija apkārt. Zemākas strāvas iemesls ir tas, ka mēs izmantojam salīdzinoši vienkāršu grafiku un tāpēc neieslēdzam lielāko daļu gaismas diožu. Ja domājat veidot animāciju vai izmantot video/spilgtu grafiku, noteikti apsveriet paneļa barošanu no atsevišķa barošanas avota.

3. solis: Sensora izvietojums un programmatūra

Sensora izvietojums un programmatūra
Sensora izvietojums un programmatūra
Sensora izvietojums un programmatūra
Sensora izvietojums un programmatūra

Vai ievērojāt, ka šajā sistēmā mēs izmantojam divus sīkos LiDAR, nevis tikai vienu? Kā parādīts garāžas uzstādīšanas shēmā, viens ir novietots automašīnas priekšā, bet otrs - gar automašīnas vienu pusi.

Sānu sensors noteiks, ja novietojat automašīnu novietojot centru, un, protams, priekšējais pateiks, kad apstāties.

32x32 LED displejs jums palīdzēs, parādot bultiņas, lai pārvietotos uz priekšu, pa kreisi vai pa labi, un atpakaļskaitīšanas displejs ar krāsainiem stūriem, kas norāda, cik tālu jums vēl jābrauc. Apskatiet mūsu īso video par visiem displeja stāvokļiem.

Spēles plāns

Īsumā, mēs izmantojam arvien populārāko hzeller C bibliotēku LED draiverim, Python - kontroles kodam un pipgpio C bibliotēku, lai pareizi kontrolētu mūsu sensorus.

Python ir ļoti vienkārša augsta līmeņa valoda, kuru varat viegli rediģēt jebkurā teksta redaktorā. Mēs parasti izmantojam SublimeText, un šim projektam mēs izmantojām arī ļoti noderīgu FTP spraudni, kas ļauj mums rediģēt skripta failus tieši uz pi. Šī ir neobligāta darbība, jo tā ir nepieciešama tikai tad, ja vēlaties rediģēt kodu. Sīkāka informācija ir pieejama šī raksta beigās.

Visi rpi dēļi, kā jūs zināt, sākotnēji neatbalsta I2C pulksteņa stiepšanu. Tāpēc šim projektam mēs atkal izmantojām pigpio bibliotēku, lai kontrolētu tinyLiDAR sensorus, bet šoreiz ar nelielu pagriezienu …

Vairāki sīki LIDAR

Pērkot tinyLiDAR, tā vienmēr ir iestatīta uz noklusējuma vergu adresi 0x10. Tas ir labi, ja izmantojat vienu sensoru, bet, ja autobusā ir vairāk nekā viens, tas var būt problēma, ja rakstāt komandu uz 0x10 un visi atbildēs!

Tātad mums ir 3 iespējas:

Pirmkārt, mēs varam izmantot (tinyLiDAR) "R" komandu, lai uzrakstītu jaunu verga adresi vienam sensoram, kas pievienots I2C kopnei. Pēc tam atkārtojiet to katram sensoram. Katra sensora fiziska pievienošana, rakstīšana un noņemšana šai procedūrai. tinyLiDAR saglabās norādīto adresi savā borta nemainīgajā atmiņā. Adrese saglabāsies pat pēc strāvas padeves cikla, līdz jūs to izdzēsīsit, izsniedzot komandu RESET.

Otra iespēja ir izmantot ērto automātiskās piešķiršanas funkciju, ko mēs izveidojām kā IGG kampaņas paplašināšanas mērķi. Tas ietver komandas "AR" nosūtīšanu un pēc tam rādītājpirkstu uz katru sensoru atsevišķi, lai automātiski piešķirtu secīgas I2C adreses atsevišķiem sensoriem, kas līdzīgi pirmajai opcijai, taču jums nav fiziski jāatvieno katrs sensors, lai to izdarītu.

Trešā iespēja ir tā, kuru mēs šeit izmantojam šajā projektā, un tas ir iespējams, pateicoties pigpio bibliotēkai. Lai pareizi ieviestu I2C standartu, pigpio bitbangs GPIO. Tāpēc šī iemesla dēļ mēs varam viegli izveidot atsevišķus I2C autobusus gandrīz uz jebkura rezerves GPIO tapas.

Līdz ar to nav nepieciešams pārprogrammēt vairāku LiDAR sensoru vergu adreses. Katram varam izmantot atsevišķu autobusu:)

Ņemiet vērā, ka I2C kopne, kas darbojas ar ātrumu 100 kbps, patiesībā ir diezgan stabila. Mēs izmantojam vienkāršu veco CAT5 Ethernet kabeli, lai I2C autobusu izvadītu uz sāniem tinyLiDAR sensoru, kas atrodas 25 pēdu attālumā bez aktīviem retranslatora komponentiem! Sensora vadu detaļas ir parādītas iepriekš.

Labi!

4. solis: Pi iestatīšana

Pi iestatīšana
Pi iestatīšana
Pi iestatīšana
Pi iestatīšana

Uzmanību: pi izmanto Linux failu sistēmu, tāpēc vislabāk ir veikt šādas darbības sistēmā, kuras pamatā ir Linux. Jūs varat pārformatēt SD karti, ja to darāt operētājsistēmā Windows. Mēs izmantojām satriecošo un bezmaksas Ubuntu 18.04 darbvirsmu, kas darbojas virtuālā vidē datorā Windows 10, taču varat izmēģināt kaut ko līdzīgu.

Vispirms lejupielādējiet OS no raspberrypi.org un pēc tam ierakstiet to savā microSD kartē. Tāpēc rīkojieties šādi:

(1) Ubuntu dodieties šeit un paņemiet Raspbian Lite attēlu. Saglabājiet to savā lejupielāžu mapē.

(2) Pēc tam lejupielādējiet Etcher SD kartes rakstīšanas utilītu. FYI - oficiālā Etcher lejupielādes saite Linux versijai viņu mājas lapā mums nedarbojās, tāpēc mēs izmantojām šeit aprakstīto metodi:

Kopumā saitē aprakstītās darbības bija šādas:

Pievienot Etcher debian repozitoriju:

echo "deb https://dl.bintray.com/resin-io/debian stabilais kodinātājs" | sudo tee /etc/apt/sources.list.d/etcher.list

Uzticieties Bintray.com GPG atslēgai:

sudo apt-key adv-atslēgu servera atslēgu serveris.ubuntu.com-recv-keys 379CE192D401AB61

Atjauniniet un instalējiet:

sudo apt-get update

sudo apt-get instalēt etcher-electron

Kad esat pabeidzis, varat turpināt un palaist Etcher no Ubuntu darbvirsmas. Tas lūgs jums avota failu (kuru ievietojat mapē lejupielādes). Nākamais Etcher solis ir izvēlēties pareizo mērķi. Etcher dara labu darbu, lai atklātu jūsu micro SD karti, taču šeit jums vajadzētu būt paranoiskam. Lai pārbaudītu, vai tas atrod pareizo galamērķi - mēģiniet izņemt microSD karti, Ubuntu failu pārlūkprogrammas logā noklikšķinot uz izņemt, un pārbaudiet, vai tā pazūd kā mērķa opcija Etcher iekšpusē. Pēc tam ievietojiet to atpakaļ un turpiniet uz pēdējo soli, proti, ierakstiet failu šajā microSD kartē.

Pagaidiet kādu laiku, līdz tas ir pabeigts, un pēc tam turpiniet.

5. solis: WiFi laiks

WiFi laiks
WiFi laiks
WiFi laiks
WiFi laiks

Labi, tagad ir pienācis laiks ievadīt savu WiFi informāciju.

Padoms. Jūs vienmēr varat kopēt (Ctrl+C) un ielīmēt (labo klikšķi, ielīmēt) informāciju no šī raksta PuTTY termināļa ekrānā, nevis ierakstīt komandas. Pārbaudiet šī raksta beigās arī vairākas noderīgas Linux komandas.

Kad Etcher ir beidzis rakstīt uz micro SD karti, tiks parādīti 2 diskdziņi, kā parādīts iepriekš. Vienu sauc par boot, otru sauc par rootfs

Mums ir jāizmanto failu pārvaldnieks, lai ieietu sāknēšanas mapē un izveidotu failu ar nosaukumu wpa_supplicant.conf.

Lai to izdarītu, varat vienkārši noklikšķināt uz kreisās puses, kur rakstīts boot, un pēc tam ekrāna labajā pusē ar peles labo pogu noklikšķiniet uz baltās fona un izvēlieties Atvērt terminālī.

Tiks atvērts termināļa logs (līdzīgs CMD sistēmā Windows), kurā varat ierakstīt:

sudo nano wpa_supplicant.conf Padoms. Jums būs jāievada Linux sistēmas parole, lai tā varētu darboties kā superlietotājs. Tas ir nepieciešams, pretējā gadījumā jūs nevarēsit saglabāt failus, kad būsit pabeidzis rediģēšanu

Iepriekš minētā komanda palaidīs teksta redaktoru "nano", kurā varat ievadīt šādu informāciju:

valsts = ASV

ctrl_interface = DIR = /var /run /wpa_supplicant GROUP = netdev update_config = 1 tīkls = {ssid = "WiFi_SSID" scan_ssid = 1 psk = "WiFi_Password" key_mgmt = WPA - PSK}

Piezīme: neaizmirstiet nomainīt WiFi_SSID un WiFi_Password ar savu WiFi tīkla nosaukumu un paroli.

Kad esat pabeidzis, vienkārši noklikšķiniet uz Ctrl+X, lai izietu, un izejot atbildiet uz Jā, lai rakstītu failu.

Nākamais solis ir izveidot tukšu failu ar nosaukumu ssh. Lai to izdarītu, termināļa logā mēs vienkārši ierakstām:

pieskaries ssh

Tagad mums ir jāpiešķir mūsu pi statiska IP adrese, lai mēs zinātu, kur tā atrodas katru reizi, kad vēlamies ar to izveidot savienojumu. Termināla logā ierakstiet šo:

sudo nano /etc/dhcpcd.conf

Tam vajadzētu atkal atvērt nano teksta redaktoru, un mēs varam pievienot šo tekstu faila apakšdaļai:

interfeiss wlan0

statiskā ip_adrese = 192.168.0.statiskie maršrutētāji = 192.168.0.1 statiskais domēna_vārda_serveris = 192.168.0.1 8.8.8.8

Piezīme. Tas pieņem, ka jūsu tīkla prefikss ir 192.168.0. Ja jums ir 192.168.1 utt., Izmantojiet tā vietā savu tīklu. Domēna vārdu serveris 8.8.8.8 ir paredzēts Google, un šeit tas nav obligāts.

Lai to aizvērtu, terminālī ierakstiet “exit”. Pēc tam ar peles labo pogu noklikšķiniet uz sāknēšanas nosaukuma loga Failu pārvaldnieks kreisajā pusē un atlasiet Izstumt.

Tagad varat pievienot šo microSD karti savam pi un pievienot microUSB barošanas kabeli, lai barotu savu pi.

Ja viss ir kārtībā, zaļā gaismas diode kādu laiku mirgos, tāpat kā piekļūstot cietajam diskam, un tai vajadzētu pieteikties jūsu WiFi tīklā. Dodiet apmēram minūti, lai apmestos, un pagaidiet, līdz gaismas diode kļūst zaļa.

Lai pārbaudītu, vai viss darbojas, mēs varam mēģināt to pingēt.

Tāpēc vienkārši ierakstiet zemāk esošo rindiņu un pārbaudiet, vai nav atbildes.

ping 192.168.0.200

Ubuntu jums vajadzētu iegūt kaut ko līdzīgu šim:

ping 192.168.0.200

PING 192.168.0.200 (192.168.0.200) 56 (84) datu baiti. 64 baiti no 192.168.0.200: icmp_seq = 1 ttl = 128 laiks = 752 ms 64 baiti no 192.168.0.200: icmp_seq = 2 ttl = 128 laiks = 5.77 ms 64 baiti no 192.168.0.200: icmp_seq = 3 ttl = 128 laiks = 7.33 ms ^C --- 192.168.0.200 ping statistika --- 3 nosūtītas paketes, 3 saņemtas, 0% pakešu zuduma, laiks 2001ms rtt min/avg/max/mdev = 5.777/255.346/752.922/351.839 ms

Ņemiet vērā, ka ping turpina darboties, līdz nospiežat Ctrl+C, lai izietu.

Operētājsistēmā Windows jums vajadzētu iegūt kaut ko līdzīgu:

ping 192.168.0.200

Pingings 192.168.0.200 ar 32 baitiem datiem: Atbilde no 192.168.0.200: baiti = 32 laiks = 4 ms TTL = 64 Atbilde no 192.168.0.200: baiti = 32 laiks = 5ms TTL = 64 Atbilde no 192.168.0.200: baiti = 32 laiks = 6ms TTL = 64 Atbilde no 192.168.0.200: baiti = 32 laiks = 5ms TTL = 64 Ping statistika par 192.168.0.200: paketes: nosūtīts = 4, saņemts = 4, zaudēts = 0 (0% zaudējums), aptuvenie turp un atpakaļ brauciena laiki milisekundēs: minimums = 4 ms, maksimālais = 6 ms, vidējais = 5 ms

Viss labi? Tālāk…

6. darbība: pieteikšanās

Ielogoties
Ielogoties

Tagad, kad mums ir savienojums ar pi, mēs vēlamies tam nosūtīt komandas. Bet kā? PuTTY, protams! PuTTY iestatīšana Pēc PuTTY programmatūras lejupielādes izveidojiet savu pi profilu ar šādu informāciju:

Saimnieka nosaukums (vai IP adrese): 192.168.0.200 Savienojuma veids: SSHPiešķiriet šim profilam nosaukumu sadaļā Saglabātās sesijas un nospiediet Saglabāt. Varat izmantot jebkuru nosaukumu, piemēram, "rpizw_200"

Lai pieteiktos, vienkārši atlasiet to sarakstā un nospiediet Ielādēt. Pēc tam nospiediet Atvērt. Ievadiet lietotājvārdu un paroli, lai pieteiktos:

pieteikšanās vārds: pi

Defalt parole: aveņu

Šeit ir parauga sesija, kas parādīta PuTTY, kad piesakāties:

piesakieties kā: pi

[email protected] parole: Linux raspberrypi 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l Debian GNU/Linux sistēmā iekļautās programmas ir bezmaksas programmatūra; precīzie katras programmas izplatīšanas noteikumi ir aprakstīti atsevišķos failos mapē/usr/share/doc/*/copyright. Debian GNU/Linux tiek piegādāta BEZ GARANTIJAS, ciktāl to atļauj piemērojamie tiesību akti. Pēdējā pieteikšanās: [datums un laiks] no 192.168.0. [Ip adrese] SSH ir iespējots un noklusējuma parole “pi” lietotājam nav mainīta. Tas ir drošības risks - lūdzu, piesakieties kā “pi” lietotājs un ierakstiet “passwd”, lai iestatītu jaunu paroli.

Pirmoreiz piesakoties, tas brīdinās, ka vēl neesat mainījis paroli. Jums tas jāmaina uz kaut ko spēcīgu, taču vienkārši atcerējamu, tāpēc turpiniet un mainiet to, ierakstot passwd un izpildiet norādījumus.

Tālāk mums vajadzētu atjaunināt pi programmatūru, ierakstot šo:

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

Tādējādi no jūsu interneta savienojuma tiks lejupielādēti visi nepieciešamie atjauninājumi. Atbildiet JĀ, ja tiek prasīts atļaut to turpināt, un pēc tam dodiet laiku atjaunināšanai.

Šajā laikā mums, iespējams, vajadzētu arī izslēgt skaņu uz pi, jo tai ir slikta juju ar LED draiveru bibliotēku. Kopējiet, ielīmējiet šādas rindas pa vienam un pēc katras rindas nospiediet taustiņu Enter:

cd ~

kaķis << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf melnais saraksts snd_bcm2835 EOF sudo update-initramfs -u

Rezultāts būs aptuveni šāds:

pi@aveņu: ~ $ cd ~

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

Tad mums ir jāpārstartē pi, lai izmaiņas stātos spēkā, tāpēc ierakstiet šo:

sudo tagad atsāknēšana

Savienojums, protams, pārtrauksies, kad pi tiks restartēts, lai jūs varētu aizvērt PuTTY. Pēc minūtes mēģiniet pieteikties.

Tagad ir pienācis laiks iegūt grafisku FTP failu pārvaldnieku ar nosaukumu WinSCP. Jūs varat lejupielādēt WinSCP no šejienes

WinSCP ir līdzīgs failu pārvaldniekam operētājsistēmā Windows un Ubuntu. Tas ļauj mums viegli vilkt un nomest failus uz un no pi un izveidot direktorijus tikai ar peles labo pogu.

Pēc lejupielādes jums būs jāiestata profils jūsu pi.

WinSCP iestatīšana Uznirstošajā logā Piesakieties izvēlieties Jauna vietne. Sesijai izmantojiet šādus iestatījumus:

Faila protokols: SFTP saimniekdatora nosaukums: 192.168.0.200 Lietotājvārds: pi Parole: {jebkura parole, kuru mainījāt pēc noklusējuma, veicot iepriekš minēto PuTTY darbību}

Vietnes papildu iestatījumos dodieties uz Vide | Katalogi un ievadiet /home /pi, lai ievadītu attālo direktoriju, un visu, kas jums patīk iestatījumam Local Directory.

Vietnes papildu iestatījumos dodieties uz Vide | Shell un nolaižamajā sarakstā Shell izvēlieties sudo su.

Pēc tam noklikšķiniet uz Saglabāt.

Veicot tālāk norādītās darbības, turiet atvērtu gan WinSCP, gan PuTTY

Dodieties uz PuTTY termināli un ievadiet šādu informāciju:

cd ~

Tādējādi mēs nokļūsim mājas direktorijā pi.

Tagad mēs varam paņemt LED draiveru bibliotēku no github. Lai izmantotu jaunāko kodu, mums būs jāvelk repo, lai mums būtu jāinstalē utilīta git.

Ievadiet to PuTTY:

sudo apt-get instalēt git

atbildiet Y, lai turpinātu, un būs nepieciešamas dažas sekundes, lai instalētu git mums no interneta.

Rezultātam vajadzētu izskatīties apmēram šādi:

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

Pakotņu sarakstu lasīšana … Gatavs Atkarības koka veidošana Statusa informācijas lasīšana … Gatavs Tiks instalētas šādas papildu pakotnes: git-man liberror-perl Ieteiktās pakotnes: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn Tiks instalētas šādas JAUNAS pakotnes: git git-man liberror-perl 0 modernizēts, 3 tikko instalēts, 0 noņemams un 0 nav jaunināts. Nepieciešams iegūt 4 848 kB arhīvu. Pēc šīs darbības tiks izmantota 26,4 MB papildu vietas diskā. Vai vēlaties turpināt? [Y/n] y Iegūt: 1 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf liberror-perl viss 0.17024-1 [26.9 kB] Iegūt: 2 https://muug.ca/mirror/ raspbian/raspbian stretch/main armhf git-man all 1: 2.11.0-3+deb9u3 [1, 433 kB] Iegūt: 3 https://muug.ca/mirror/raspbian/raspbian stretch/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] Ielādēts 4, 848 kB 5 sekundēs (878 kB/s) Atlasot iepriekš neizvēlēto pakotni liberror-perl.(Notiek datu bāzes lasīšana … Pašlaik ir instalēti 34363 faili un direktoriji.) Gatavošanās izpakošanai…/liberror-perl_0.17024-1_all.deb… Liberror-perl (0.17024-1) izpakošana… Atlasot iepriekš neizvēlēto pakotni git-man. Gatavošanās izpakošanai…/git-man_1%3a2.11.0-3+deb9u3_all.deb… git-man izpakošana (1: 2.11.0-3+deb9u3)… Atlasot iepriekš neizvēlēto pakotni git. Gatavošanās izpakošanai…/git_1%3a2.11.0-3+deb9u3_armhf.deb… git izpakošana (1: 2.11.0-3+deb9u3)… git-man iestatīšana (1: 2.11.0-3+deb9u3)… Iestatīšana liberror-perl (0.17024-1)… Man-db trigeru apstrāde (2.7.6.1-2)… Git iestatīšana (1: 2.11.0-3+deb9u3)…

Tagad atgriezieties WinSCP un dodieties uz mapi /home /pi. Pēc tam šī WinScp loga labajā pusē ar peles labo pogu noklikšķiniet un izvēlieties izveidot jaunu direktoriju ar nosaukumu "parking"

Atpakaļ PuTTY ekrānā varat ierakstīt ls, lai apstiprinātu, ka vienkārši izveidojāt jaunu mapi pi. Pēc tam ievadiet šo:

cd p [TAB]Padoms. Nospiežot taustiņu TAB, daļējais nosaukums tiks automātiski pabeigts

Nospiediet ievadīšanas taustiņu, lai nokļūtu šajā direktorijā.

pi@raspberrypi: ~ $ cd autostāvvieta/

pi@raspberrypi: ~/parking $ ls

Tagad mēs varam iegūt draivera failus, PuTTY ievadot šādu informāciju:

git klons

Rezultāts izskatīsies apmēram šādi:

pi@raspberrypi: ~/parking $ git clone

Klonēšana “rpi-rgb-led-matrix”… tālvadība: objektu skaitīšana: 3740, darīts. tālvadība: kopā 3740 (delta 0), atkārtoti izmantota 0 (delta 0), atkārtoti izmantota 3740 Saņemošie objekti: 100% (3740/3740), 20,61 MiB | 1,32 MiB/s, darīts. Deltas noregulēšana: 100% (2550/2550), darīts.

Tagad apkopojiet LED draivera failus, dodoties uz šo jauno "rpi-rgb-led-matrix" direktoriju un ierakstot komandu make:

cd r [TAB]

veidot Un tā tas izskatījās mūsu padomē

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

pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make make -C./lib make [1]: ievadot direktoriju '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++- I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o gpio.o gpio.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o led -matrix.o led-matrix.cc g ++ -I../ include - Siena -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o framebuffer.o framebuffer.cc g ++ -I../ include -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o thread.o thread.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = ' "parasts" -Wextra -Wno -unused -parametrs -fno -izņēmumi -c -o bdf -font.o bdf -fon t.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o graphics.o graphics.cc g ++ - I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -c -o transformators.o transformators.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -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 -izņēmumi -c -o content -streamer.o content-streamer.cc g ++ -I../ include -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '"regular"' -Wextra -Wno -unused -parameter -fno -izņēmumi -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 ++ -hared -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]: atstājot direktoriju '/home/pi/parking/rpi -rgb -led -matrix/lib' make -C example -api -use make [1]: ievadot direktoriju ' /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]: ievadot direktoriju '/home/pi/parking/rpi-rgb-led-matrix/lib' make [2]: atstājot direktoriju '/home/pi /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 minimal-example.cc g ++ minimal -example.o - o minimālais piemērs -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ include -Wall -O3 -g -Wextra -Wno -unused -parameter -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- parametrs -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]: Iziešana no direktorija '/home/pi/parking/rpi -rgb -led -matrix/example -api -use' pi @raspberrypi: ~/parking/rpi-rgb-led-matrix $

Mūsu nākamais solis būs saistīt RGB matricas bibliotēku ar Python. Šim projektam mēs izmantojām noklusējuma Python 2. Tātad, lai veiktu šo saistīšanu, mēs ievadām šādu rindu vienlaikus kā iepriekš:

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

izveidojiet build-python sudo make install-python

Piezīme: Jūs varat droši ignorēt vienu brīdinājumu par “-Wstrict-prototype”, kas tiek parādīts, palaižot abus paziņojumus. Izpildīšanas komandu izpilde aizņem dažas minūtes, un aizņemtajā laikā tās neko nesaka. Tāpēc nebaidieties - jūsu pi drīz atgriezīsies;)

Šeit ir daļēja izeja no pirmā paziņojuma:

“grafikas” paplašinājuma izveide

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: brīdinājums: komandrindas opcija '-Wstrict-prototypes' ir derīga C/ObjC, bet ne C ++ arm-linux-gnueabihf-g ++ -pthread -shared -Wl, -O1 -Wl, -Simboliskas funkcijas -Wl, -z, relro -fno -stingri aizstājējs -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -prototipi -Datuma laiks -D_FORTIFY_SOURCE = 2 -g -fdebug -prefikss -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 padarīt [1]: atstājot direktoriju '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $

Tālāk mēs instalēsim pigpio C bibliotēku. Lai to izdarītu pareizi, mums tas jāizveido no avota, tāpēc vienkārši ievadiet šādas rindas:

cd ~

sudo rm -rf PIGPIO wget abyz.me.uk/rpi/pigpio/pigpio.zip unzip pigpio.zip cd PIGPIO make sudo make install rm pigpio.zip

Iepriekš minētā instalēšana ilgst apmēram 3 minūtes.

Tagad ir pienācis laiks iegūt mūsu Python projekta failus. Ievadiet sekojošo:

cd ~

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

Pēc tam, lai to izpildītu, ierakstiet šo:

sudo python parking.py

Bet jums tas nav jādara tieši tagad, jo mums viss vēl ir jānoslēdz…

7. solis: vadi

Vadi
Vadi
Vadi
Vadi
Vadi
Vadi
Vadi
Vadi

Kā minēts iepriekš, LED paneli darbinājām no tā paša strāvas adaptera, kas baro pi. Lai to izdarītu, jums būs jāsaliek dūšīgi sarkanie un melnie vadi ar vīriešu galvenes tapām, lai tos varētu iespraust 40 kontaktu savienotāja 2. un 9. tapā.

Tagad atvienojiet strāvas padevi un pievienojiet LED paneli saskaņā ar iepriekš redzamo attēlu. Pagaidām atvienojiet 2. tapu.

PIEZĪME: LED matricas panelis dažreiz var ieslēgties bailīgā stāvoklī. Ja tas notiek, tas var nopietni noslogot strāvas padevi neatkarīgi no tā pašreizējās jaudas. Mēs to pamanījām, izstrādājot mūsu stenda piegādi, kas var nodrošināt vairāk nekā 4 ampērus. Risinājums tam ir vispirms palaist pi kodu un pēc tam pievienot kontaktdakšu 2, lai barotu LED paneli. Šādā veidā panelim vajadzētu būt mazjaudas stāvoklī, jo tas izskalo nejaušos LED stāvokļus. Mierīgā strāva (visas gaismas diodes izslēgtas) mūsu LED panelim bija tikai 50 mA pie 5 v.

CAT5

Mēs izmantojām 25 pēdu CAT5 Ethernet kabeli un pārveidojām to, lai vienā galā pievienotos pi galvenes tapām un otrā pusē pieņemtu GROVE savienotāja tapas, lai mēs varētu pagarināt attālumu, lai novietotu mūsu sānu tinyLiDAR sensoru. Iepriekš redzamajos fotoattēlos ir redzams šis kabelis pirms un pēc izmaiņām. Neņem vērā galvenes tapas vadu krāsas, jo tās nav saistītas ar diagrammām. Vienkārši pārliecinieties, ka esat pieslēdzis sistēmu, kā parādīts attēla savienojuma shēmās, kas parādītas iepriekš 3. darbībā.

8. solis: iededziet to

Image
Image
Neobligāts solis un noderīgas komandas
Neobligāts solis un noderīgas komandas

Pareizai sākotnējai ieslēgšanas secībai vajadzētu pievienot microUSB lādētāju pī un gaidīt, kamēr tinyLiDAR sensoru zilās gaismas diodes ātri mirgos, norādot, ka tās veic mērījumus. Tas pierāda, ka kods darbojas pareizi.

Pēc tam jūs varat lēnām, bet stingri pieslēgt tapu 2 LED paneļa barošanai. Esiet piesardzīgs, lai to nesabojātu, to darot! Ja LED panelī ir redzamas dažas iesaldētas spilgtas gaismas diodes, iespējams, tas ir kļūdaini, tāpēc noņemiet microUSB barošanu no pi un pagaidiet dažas sekundes, lai vēlreiz izmēģinātu ieslēgšanas secību.

Lai palaistu kodu, ievadiet šādu informāciju:

cd/home/pi/parking/rpi-rgb-led-matrix/stiprinājumi/python/paraugi

sudo python parking.py

Ja viss ir kārtībā, jums vajadzētu iegūt displeju, kas līdzīgs videoklipā redzamajam.

Ātri apskatiet kodu parking.py, lai saprastu, kādus ierobežojumus mēs izmantojām. Priekšējā sensora noklusējuma vērtība ir 200 mm. Tā kā sensora diapazons ir no 11 mm līdz 2 m, ieteicams nominālo attālumu no priekšpuses saglabāt 200 mm vai augstāku. Sānu sensors nom_parked_Side ir iestatīts uz 600 mm. Skatiet iepriekš redzamo Python koda attēlu, kurā parādītas šīs konfigurācijas opcijas.

Ja viss darbojas, varat turpināt uzstādīt sistēmu savā garāžā un pēc vajadzības pielāgot iepriekš minētos parametrus. Tā kā jūsu pi ir savienots ar jūsu WiFi, jūs vienmēr varat ieiet un rediģēt attāluma iestatījumus, kas nepieciešami jūsu garāžas uzstādīšanai, kamēr tas vēl ir uzstādīts.

Vai tas ir tagad?

Kāpēc jā, jā tā ir! - laiks dejot laimīgo:)

Paldies, ka izlasījāt un izbaudiet savu jauno autostāvvietu palīgu!

9. darbība. Neobligāts solis un noderīgas komandas

Neobligāts solis - FTP papildinājums cildenam tekstam

Lai rediģētu Python skripta failus tieši pi, mēs varam instalēt FTP papildinājumu, ko Wbond sauc par Sublime SFTP. Šo papildinājumu var lejupielādēt, izpildot šeit sniegtos norādījumus

Lai iestatītu šo papildinājumu, mums ir jākonfigurē FTP akreditācijas dati failā | SFTP/FTP | Iestatīt serveri….

Iestatīšanai mēs izmantojām:

"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", Izmantojiet Ctrl+S vai Fails | Saglabāt, lai saglabātu šo informāciju. Jums tiks prasīts vārds, lai izsauktu šo konfigurāciju. Mēs to vienkārši nosaucām par "rpizw_0_200"

Tagad, lai pieteiktos pi no SublimeText, dodieties uz Fails | SFTP/FTP | Pārlūkot serveri…

Uznirstošo opciju sarakstā izvēlieties. Jūs vēlaties izvēlēties profilu ar iepriekš norādīto nosaukumu;) Izpildiet norādījumus, lai pārvietotos mapēs un rediģētu vajadzīgo failu.

Noderīgas ekstras

Noderīgas Linux komandas, ko izmantot pi.

Pirms pi atvienošanas vienmēr VIENMĒR izslēdziet to, lai jūsu microSD kartē netiktu bojāti faili. Ievadiet šo komandu:

sudo tagad izslēdzas

un pagaidiet, līdz zaļais indikators izslēdzas, pirms atvienojat strāvu. Līdzīgi, lai to restartētu, varat ievadīt:

sudo tagad atsāknēšana

Lai uzskaitītu direktorijā esošos failus, izmantojiet šo:

ls

Šeit varat atrast citas noderīgas Linux komandas

Ieteicams: