Sadržaj:

TinyLiDAR na Pi?: 9 koraka (sa slikama)
TinyLiDAR na Pi?: 9 koraka (sa slikama)

Video: TinyLiDAR na Pi?: 9 koraka (sa slikama)

Video: TinyLiDAR na Pi?: 9 koraka (sa slikama)
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Studeni
Anonim
TinyLiDAR na Pi?
TinyLiDAR na Pi?

Bok opet!

Pa sad kad ste proveli neko kvalitetno vrijeme s tinyLiDAR -om i svojim Arduinom - vaša se Raspberry Pi možda osjeća malo usamljeno;)

Pi ima I2C port zar ne? Pa zašto ga ne biste spojili i isprobali tamo ?! Dobar plan, ali ako ste već pokušali - možda ste primijetili da podaci izgledaju pomalo čudno.

Da, pi je već ugradio 1,8K pull-upa, pa ćete morati izrezati I2C jastučiće na tinyLiDAR-u da biste izvukli 4,7K pull-upa iz kruga-za detalje pogledajte referentni priručnik. No, to nije razlog čudnih podataka.

To je zato što pi -jeva I2C sabirnica nije baš dorasla specifikacijama. Ovako je bilo otkad je pi prvi put predstavljen zbog Broadcom seta čipova. Od samog početka nisu pravilno podržavali I2C značajku koja se zove "istezanje sata".

Više o ovom h/w bugu možete pročitati ovdje.

Korak 1: Što je rastezanje sata?

Što je istezanje sata?
Što je istezanje sata?

Kao što možda znate, sabirnica I2C sastoji se od 3 žice. To su za sat (SCL), podatke (SDA) i zajedničko tlo. Sat i podatkovne linije su tipa otvorenog kolektora/otvorenog odvoda, što znači da im trebaju otpornici koji se vuku spojeni na pozitivnu opskrbnu tračnicu kako bi im logika bila visoka. Da bi se logika smanjila, bilo koji uređaj na sabirnici može povući liniju do zajedničke tačke.

Prema I2C standardu, master uređaj je onaj koji opskrbljuje signal sata na SCL liniji, ali ako je ta brzina prebrza, slave uređaju je dopušteno usporiti ga jednostavno držeći satnu liniju dok ne bude spreman za rad. s informacijama. To je ono što nazivamo "istezanje sata".

Službeno je istezanje sata navedeno kao izborna značajka u I2C standardu, ali to je vrlo uobičajena značajka koja je potrebna većini "inteligentnih" robova kojima je potrebno dodatno vrijeme za pružanje podataka senzora itd.

Korak 2: Mala pomoć svinja koje lete

Za rješavanje ove greške I2C h/w pronašli smo lijepu besplatnu biblioteku pod nazivom "pigpio". To je vrlo popularna, brza i lagana knjižnica napisana na C. Pokreće se kao pozadinski demon za Raspberry Pi i omogućuje nam da lako kontroliramo I2C, kao i bilo koji GPIO, s pythona. Knjižnica tretira I2C portove više kao GPIO i time je zaobišla grešku istezanja sata I2C. Kao i sav softver na pi, biblioteka pigpio udaljena je samo jednostavnim "uključivanjem" pa idemo!

Korak 3: TL; DR verzija

Postavljanje PiEnable SSH -a za prijavu pomoću PuttyInstall pigpio knjižnice Nabavite tinyLiDAR zip datoteku Raspakirajte i pokrenite s Puttyja

Izborno:

Postavite SublimeText s WinSCP -om

Korak 4: Instalacija

Montaža
Montaža

Za naš Raspberry Pi 3 koristili smo standardni operacijski sustav New Out of the Box Software (NOOBS Lite v2.4). Sadrži zadanu verziju Pythona koja je već instalirana za nas, spremni za kodiranje. Ovdje možete preuzeti OS.

Nakon instaliranja na mikro SD karticu morate spojiti tipkovnicu i monitor kako biste se mogli prvi put prijaviti na pi:

Korisničko ime: pi Lozinka: malina

Zatim možete pokrenuti zaštićeni poslužitelj ljuske (SSH) s ovim naredbama:

sudo systemctl omogućiti sshsudo systemctl pokrenuti ssh

Zatim će nam trebati IP adresa pi na vašoj mreži kako bismo se mogli prijaviti s PuTTY. Da biste to dobili, samo upišite:

naziv hosta -I

I potražite adresu formata IPv4 (Za naše postavljanje to je bila: 192.168.0.27)

Gore navedeni koraci omogućit će pi da radi "bez glave", što znači da nećete morati ponovno tipkati na ovoj tipkovnici, a više nema potrebe ni za video monitorom. Od sada ćemo se prijavljivati putem mreže putem sigurne SSH veze. Gornja naredba uzrokuje automatsko pokretanje SSH poslužitelja svaki put kada se pi uključi. To nam je prikladno dok kodiramo, ali kasnije bi mogao biti sigurnosni rizik (paranoičnost je dobra) pa kad budete spremni, možete onemogućiti ovu značajku automatskog pokretanja SSH -a pomoću ove naredbe:

sudo systemctl onemogućiti ssh

Naravno, ovu naredbu treba upisati na tipkovnici spojenoj na pi.

PuTTY je terminalni program koji je potreban za izdavanje naredbi s računala na pi pa biste ovdje trebali preuzeti najnoviju kopiju.

Instalirajte i pokrenite PuTTY. Morat ćete upisati IP adresu odozgo pri unosu Host Name i koristiti zadane SSH postavke. Dajte sesiji bilo koje ime i pritisnite Spremi. Zatim pritisnite učitavanje i kliknite OTVORI za početak sesije.

Trebao bi vas odvesti na zaslon za prijavu pi. Upotrijebite isto korisničko ime i lozinku koje ste koristili ranije.

Korak 5: Instalirajte Pigpio

Sada, jedino što trebamo instalirati nakon ovoga bila bi pigpio knjižnica, a to možemo učiniti pomoću sljedećih naredbi.

Savjet: Možete jednostavno kopirati [ctrl+c] i zalijepiti [desni klik mišem] ove i sve druge naredbe u terminal PuTTY

sudo apt-get ažuriranje

sudo apt-get install pigpio python-pigpio python3-pigpio

Korak 6: Izborno: Postavljanje sustava Dev

Izborno: Postavljanje sustava Dev
Izborno: Postavljanje sustava Dev

Dakle, evo savjeta koji bi vam mogao uštedjeti neko vrijeme u svijetu razvoja koda. Zaista mrzimo uređivače teksta temeljene na unixu. Korisničko sučelje je obično nespretno i fontovi su loši. GNU nano je gotovo podnošljiv, ali nijedan nije toliko profinjen kao SublimeText koji možete preuzeti odavde

Imamo Windows razvojno okruženje i volimo koristiti ovaj uređivač teksta kad god je to moguće. Stoga je savjet ovdje u postavljanju vašeg sustava kako biste mogli koristiti ovaj profesionalni uređivač teksta izvorno na radnoj površini sustava Windows za izravno kodiranje na vašem pi bez glave.

Kako? Pomoću besplatne aplikacije pod nazivom WinSCP koju možete preuzeti odavde

Korak 7: Postavljanje WinSCP -a

Postavljanje WinSCP -a
Postavljanje WinSCP -a
Postavljanje WinSCP -a
Postavljanje WinSCP -a

WinSCP je siguran program za prijenos datoteka koji grafički prikazuje datoteke prisutne na vašem rpi -ju poput onih koje vidite u upravitelju datoteka na vašem Windows računalu.

Zato nastavite i sada instalirajte gore navedena dva programa.

Zatim ćete morati izvršiti nekoliko prilagodbi kako bi svi radili ispravno.

Za WinSCP možete kliknuti na NOVU web stranicu. Koristit ćemo zadane postavke SFTP -a, a vi samo trebate unijeti IP adresu (za naziv hosta) vašeg pi i ime za prijavu (za korisničko ime). Ako želite, lozinku možete ostaviti praznom - od vas će se tražiti lozinka pri svakoj prijavi.

Zatim kliknite gumb Napredno, a zatim s lijeve strane kliknite za postavke Okolinske ljuske. Na desnoj strani promijenite "Zadano" povucite prema dolje na "sudo su -" opciju. To će omogućiti pisanje promjena na vaš pi bez pogrešaka dopuštenja kada pritisnete spremi iz SublimeText.

Postavite SublimeText na zadani uređivač u WinSCP -u

Da biste to učinili, kliknite gumb Alati na zaslonu postavki prijave za WinSCP gdje ste pokrenuli dijalog Nova web lokacija. Dva snimka zaslona pokazuju kako je to konfigurirano, no u osnovi ćete kliknuti za konfiguriranje postavki Uređivači i Dodavanje uređivača koji će biti vanjski uređivač. Zatim možete potražiti.exe datoteku gdje se ovaj uređivač nalazi na vašem računalu.

Korak 8: (w) dobivanje koda

(w) dobivanje Kodeksa
(w) dobivanje Kodeksa

Kad završite, prijavite se s WinSCP -om i PuTTY -om.

Sada smo spremni i možemo započeti naš tinyLiDAR kod.

Napravite direktorij koji se zove tinyLiDAR pod vašim home/pi imenikom.

To možete učiniti tako da desnom tipkom miša kliknete desnu stranu zaslona WinSCP i odaberete Novo / Imenik.

Sada na terminalu PuTTY možete upisivati

cd t

i pritisnite tab kako biste pustili automatsko dovršavanje vaše naredbe za pristup direktoriju tinyLiDAR.

Ovdje upišite sljedeće:

wget

za preuzimanje datoteka izravno s našeg poslužitelja. Zatim ih možemo raspakirati upisivanjem

otpakirati r

i pritisnite taster za ponovno automatsko dovršavanje imena

Da biste ga pokrenuli, samo upišite

python tlgui.py

I vaš tinyLiDAR će reagirati na svaku vašu naredbu na pi:)

Korak 9: Napomena za uskoro hakere

Samo naprijed i pogledajte ispod haube dvostrukim klikom na bilo koju datoteku koda iz WinSCP -a. Oni su ti s nastavkom.py. Datoteke bi se trebale otvoriti u SublimeText izravno na vašem računalu. Promijenite što god želite, a zatim pritisnite Spremi. Vaše promjene bit će spremljene izravno na vaš pi.

Kad je spremno, ponovno ga pokrećete pomoću tipke sa strelicom prema gore za zadnju otkucanu naredbu ili ga jednostavno upišite ponovno i pritisnite enter:

python tlgui.py

Možda ste primijetili da izgled grafičkog sučelja terminala izgleda malo ljepše od verzije Arduina. To je zato što PuTTY podržava znakove unicode, pa smo mogli upotrijebiti neke dodatne kontrolne znakove pokazivača kako bismo izgledali profinjenije.

Ovdje postoji i dodatna naredba (u usporedbi s Arduino verzijom) koja je "dc" za funkciju kontinuiranog čitanja. Isprobajte i vidite što mislite.

To je sve!

Hvala na čitanju i uživajte u hakiranju pi:)

Preporučeni: