Kazalo:
- 1. korak: Kaj je raztezanje ure?
- 2. korak: Mala pomoč prašičev, ki letijo
- 3. korak: TL; DR različica
- 4. korak: Namestitev
- 5. korak: Namestite Pigpio
- 6. korak: Izbirno: nastavitev sistema Dev
- 7. korak: Nastavitev WinSCP
- 8. korak: (w) pridobitev kode
- 9. korak: Opomba za bodoče hekerje
Video: TinyLiDAR na Pi?: 9 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Pozdravljeni še enkrat!
No, zdaj, ko ste preživeli nekaj kvalitetnega časa z tinyLiDAR -om in vašim Arduinom - vaš Raspberry Pi se morda počuti nekoliko osamljeno;)
Pi ima vrata I2C kajne? Zakaj ga torej ne bi priklopili in preizkusili tam ?! Dober načrt, če pa ste že poskusili - ste morda opazili, da so podatki nekoliko čudni.
Da, pi je že vgradil 1,8K vleke, tako da boste morali izrezati blazinice I2C na tinyLiDAR-u, da izvlečete 4,7K vleke iz vezja-za podrobnosti glejte referenčni priročnik. Toda to ni razlog za čudne podatke.
To je zato, ker pi -jevo vodilo I2C ni ravno v skladu s specifikacijami. Tako je že od prve predstavitve pi zaradi nabora čipov Broadcom. Od vsega začetka niso ustrezno podpirali funkcije I2C, imenovane "raztezanje ure".
Več o tej h/w hrošči si lahko preberete tukaj.
1. korak: Kaj je raztezanje ure?
Kot morda veste, vodilo I2C je sestavljeno iz 3 žic. To so za uro (SCL), podatke (SDA) in skupne točke. Ura in podatkovni vodi so tipa z odprtim zbiralnikom/odprtim odtokom, kar pomeni, da potrebujejo vlečne upore, priključene na pozitivno napajalno tirnico, da jim omogočijo visoko logiko. Da bi zmanjšali logiko, lahko katera koli naprava na vodilu povleče linijo do skupnega jezika.
V skladu s standardom I2C je glavna naprava tista, ki oddaja signal ure na liniji SCL, če pa je ta hitrost prehitra, jo lahko podrejena naprava upočasni tako, da preprosto zadrži uro, dokler ni pripravljena za delo. s podatki. Temu pravimo "raztezanje ure".
Uradno je bilo raztezanje ure navedeno kot izbirna funkcija v standardu I2C, vendar je zelo pogosta funkcija, ki je potrebna za večino "inteligentnih" podrejenih, ki potrebujejo nekaj več časa za posredovanje podatkov senzorjev itd.
2. korak: Mala pomoč prašičev, ki letijo
Za reševanje te napake I2C h/w smo našli lepo brezplačno knjižnico, imenovano "pigpio". To je zelo priljubljena, hitra in lahka knjižnica, napisana v C. Deluje kot demon ozadja za Raspberry Pi in nam omogoča preprost nadzor nad I2C in katerim koli GPIO iz pythona. Knjižnica obravnava vrata I2C bolj kot GPIO in je tako zaobšla napako raztezanja ure I2C. Kot vsa programska oprema na pi, je knjižnica pigpio le preprosto "vključi", zato pojdimo!
3. korak: TL; DR različica
Nastavitev PiEnable SSH za prijavo s programom Putty Namestitev knjižnice pigpio Pridobite datoteko ZIP z majhno datoteko LiDAR Razpakirajte in zaženite iz programa Putty
Neobvezno:
Nastavite SublimeText z WinSCP
4. korak: Namestitev
Za naš Raspberry Pi 3 smo uporabili standardni operacijski sistem New Out of the Box Software (NOOBS Lite v2.4). Vsebuje privzeto različico Pythona, ki je že nameščena za kodiranje. OS lahko prenesete od tukaj.
Ko ste nameščeni na kartico micro SD, morate povezati tipkovnico in monitor, da se lahko prvič prijavite v pi:
Uporabniško ime: pi Geslo: malina
Nato lahko zaženete strežnik zaščitene lupine (SSH) s temi ukazi:
sudo systemctl omogoči sshsudo systemctl zažene ssh
Nato bomo potrebovali IP naslov pi v vašem omrežju, da se bomo lahko prijavili s PuTTY. Če želite to narediti, samo vnesite:
ime gostitelja -I
In poiščite naslov v formatu IPv4 (za našo nastavitev je bil: 192.168.0.27)
Zgornji koraki bodo pi omogočili izvajanje "brez glave", kar pomeni, da vam ne bo treba več tipkati na tej tipkovnici in tudi ni več potreben video monitor. V prihodnje se bomo prijavljali prek omrežja prek varne povezave SSH. Zgornji ukaz povzroči, da se strežnik SSH samodejno zažene ob vsakem vklopu pi. To je za nas priročno, ko kodiramo, vendar bi lahko kasneje predstavljalo varnostno tveganje (paranoičnost je dobra), zato lahko, ko ste pripravljeni, onemogočite to funkcijo samodejnega zagona SSH s tem ukazom:
sudo systemctl onemogoči ssh
Ta ukaz je treba vnesti na tipkovnici, ki je seveda povezana s pi.
PuTTY je terminalski program, ki je potreben za oddajanje ukazov iz računalnika v pi, zato morate od tukaj vzeti najnovejšo kopijo.
Namestite in zaženite PuTTY. Pri vnosu imena gostitelja boste morali vnesti naslov IP od zgoraj in uporabiti privzete nastavitve SSH. Dajte seji poljubno ime in pritisnite shrani. Nato pritisnite obremenitev in kliknite OPEN za začetek seje.
Moral bi vas odpreti na prijavni zaslon za pi. Uporabite isto uporabniško ime in geslo, ki ste ga uporabili prej.
5. korak: Namestite Pigpio
Edino, kar moramo po tem namestiti, je knjižnica pigpio, kar lahko storimo z naslednjimi ukazi.
Nasvet: Lahko preprosto kopirate [ctrl+c] in prilepite [desni klik miške] te in vse druge ukaze v terminal PuTTY
sudo apt-get posodobitev
sudo apt-get install pigpio python-pigpio python3-pigpio
6. korak: Izbirno: nastavitev sistema Dev
Torej, tukaj je nasvet, ki vam lahko pomaga prihraniti nekaj časa v svetu razvoja kode. Zelo sovražimo urejevalnike besedil, ki temeljijo na unixu. Uporabniški vmesnik je običajno okoren in pisave zanič. GNU nano je skoraj znosno, vendar noben ni tako izpopolnjen kot SublimeText, ki ga lahko prenesete od tukaj
Imamo razvojno okolje, ki temelji na sistemu Windows, in radi uporabljamo ta urejevalnik besedil, kadar koli je to mogoče. Nasvet tukaj je torej v nastavitvi vašega sistema, da lahko uporabljate ta profesionalni urejevalnik besedil na svojem namizju Windows za neposredno kodiranje na pi brez glave.
Kako? Z brezplačno aplikacijo WinSCP, ki jo lahko prenesete od tukaj
7. korak: Nastavitev WinSCP
WinSCP je varen program za prenos datotek, ki grafično prikazuje datoteke, prisotne na vašem rpi, podobno tistemu, kar vidite v upravitelju datotek na računalniku z operacijskim sistemom Windows.
Zato nadaljujte z namestitvijo zgornjih dveh programov.
Nato boste morali narediti nekaj prilagoditev, da bodo vse delovale pravilno.
Za WinSCP lahko kliknete na NOVO spletno mesto. Uporabili bomo privzete nastavitve SFTP in vnesti morate le naslov IP (za ime gostitelja) pi in uporabniško ime (za uporabniško ime). Če želite, lahko geslo pustite prazno - ob vsaki prijavi vas bo vprašalo za geslo.
Nato kliknite gumb Napredno in nato kliknite na levi strani za nastavitve Okoljske lupine. Na desni strani spremenite »Privzeto«, povlecite navzdol na možnost »sudo su -«. To bo omogočilo zapisovanje sprememb v vaš pi brez napak pri dovoljenju, ko pritisnete shrani iz SublimeText.
Nastavite SublimeText na privzeti urejevalnik v WinSCP
Če želite to narediti, kliknite gumb Orodja na zaslonu z nastavitvami prijave za WinSCP, kjer ste zagnali pogovorno okno NewSite. Dva posnetka zaslona prikazujeta, kako je to konfigurirano, v bistvu pa kliknete, da konfigurirate nastavitve urejevalnikov in dodate urejevalnika, ki bo zunanji urejevalnik. Nato lahko poiščete datoteko.exe, v kateri je ta urejevalnik v vašem računalniku.
8. korak: (w) pridobitev kode
Ko končate, se prijavite in se prijavite z WinSCP in PuTTY.
Zdaj smo pripravljeni, lahko začnemo z našo kodo tinyLiDAR.
Naredite imenik tinyLiDAR v svojem domačem/pi imeniku.
To lahko storite tako, da z desno miškino tipko kliknete na desni strani zaslona WinSCP in izberete New / Directory.
Zdaj lahko na terminalu PuTTY tipkate
cd t
in pritisnite zavihek, da samodejno dokonča vaš ukaz za dostop do imenika tinyLiDAR.
Tukaj enkrat vnesite naslednje:
wget
da datoteke dobimo neposredno z našega strežnika. Nato jih lahko odpremo z vnosom
odpakiraj r
in pritisnite zavihek, da znova samodejno dokončate ime
Če ga želite zagnati, samo vnesite
python tlgui.py
In vaš tinyLiDAR se bo odzval na vsak vaš ukaz na pi:)
9. korak: Opomba za bodoče hekerje
Pojdite in poglejte pod pokrovom, tako da dvokliknete katero koli datoteko kode iz WinSCP. To so tisti z razširitvijo.py. Datoteke bi se morale odpreti v SublimeText neposredno v računalniku. Spremenite kar želite in nato pritisnite shrani. Vaše spremembe bodo shranjene neposredno v vašo pi.
Ko je pripravljen, ga znova zaženete s puščično tipko gor za zadnji vneseni ukaz ali pa ga znova vnesete in pritisnete enter:
python tlgui.py
Morda ste opazili, da je postavitev terminalskega grafičnega vmesnika nekoliko lepša od različice Arduino. To je zato, ker PuTTY podpira znake unicode, zato smo lahko uporabili nekaj dodatnih kontrolnih znakov kurzorja, da bi bil videti bolj izpopolnjen.
Tu je tudi dodaten ukaz (v primerjavi z različico Arduino), ki je "dc" za funkcijo neprekinjenega branja. Preizkusite in poglejte, kaj mislite.
To je vse!
Hvala za branje in uživajte v krampanju pi:)
Priporočena:
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-sliko in slikami: 7 korakov (s slikami)
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-imagerjem in slikami: Ta Rapberry PI nameravam uporabiti v kopici zabavnih projektov v svojem blogu. Vabljeni, da to preverite. Želel sem se vrniti v uporabo Raspberry PI, vendar na novi lokaciji nisem imel tipkovnice ali miške. Nekaj časa je minilo, odkar sem nastavil malino
CircuitPython in TinyLiDAR: Preprost primer: 3 koraki
CircuitPython in TinyLiDAR: Preprost primer: MicroElectronicDesign tinyLiDAR je modul za merjenje časa letenja (ToF), ki temelji na ST VL53L0X, s povezavo z vodilom i2c. Plošče mikrokrmilnika Adafruit so enostavno povezane s tem senzorjem, saj lahko govorijo protokol i2c prek svojega podatkovnega zatiča
TinyLiDAR v vaši garaži!: 10 korakov
TinyLiDAR v vaši garaži!: Projekt odpiranja garažnih vrat za WiFi DIY Svet IoT šele začenja eksplodirati - vsako tehnološko podjetje po vsem svetu poskuša ugotoviti, kako se bodo prilegali temu novemu svetu. To je tako velika priložnost! Zato sem za to navodilo
TinyLiDAR za IoT: 3 koraki
TinyLiDAR za IoT: Če pogledate okoli, boste opazili, da se v vsakdanjem življenju uporablja veliko pametnih malih naprav. Običajno delujejo na baterije in so običajno nekako povezani z internetom (znan tudi kot "oblak"). Vse to imenujemo naprave IoT in
Ali lahko uporabljam TinyLiDAR v Scratch?: 3 koraki
Ali lahko uporabljam TinyLiDAR v … Scratch?: Vsake toliko časa dobimo zahteve za vprašanje, ali bo tinyLiDAR deloval na njihovi računalniški platformi. Čeprav je bil tinyLiDAR zasnovan kot enostaven za uporabo senzor LiDAR za Arduino UNO, ga nič ne ovira pri uporabi na drugih platformah