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, Juli
Anonim
TinyLiDAR na Pi -u?
TinyLiDAR na Pi -u?

Zdravo opet!

Pa sad kad ste proveli neko kvalitetno vrijeme sa tinyLiDAR -om i vašim Arduinom - vaša Raspberry Pi se 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 za čudne podatke.

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

Ovdje možete pročitati više o ovoj grešci.

Korak 1: Šta je istezanje sata?

Šta je istezanje sata?
Šta je istezanje sata?

Kao što možda znate, I2C sabirnica sastoji se od 3 žice. To su za sat (SCL), podatke (SDA) i zajedničko tlo. Sat i linije za prenos podataka su otvorenog kolektora/otvorenog odvoda, što znači da im trebaju otpornici za povlačenje spojeni na pozitivnu opskrbnu šinu kako bi im dali visoku logiku. 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 dozvoljeno da ga uspori jednostavnim držanjem satne linije dok ne bude spreman za rad. sa informacijama. To je ono što nazivamo "istezanje sata".

Zvanično, istezanje sata je navedeno kao opcionalna funkcija u I2C standardu, ali to je vrlo uobičajena karakteristika koja je neophodna većini "inteligentnih" robova kojima je potrebno dodatno vrijeme za davanje 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 biblioteka napisana na C. Pokreće se kao pozadinski demon za Raspberry Pi i omogućava nam da lako kontroliramo I2C, kao i bilo koji GPIO, s pythona. Biblioteka 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 samo je jednostavno "uključi", pa idemo!

Korak 3: TL; DR verzija

Postavite PiEnable SSH za prijavu sa PuttyInstall pigpio bibliotekom Nabavite tinyLiDAR zip datoteku Raspakujte i pokrenite sa Putty

Opciono:

Postavite SublimeText s WinSCP -om

Korak 4: Instalacija

Instalacija
Instalacija

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

Nakon instaliranja na mikro SD karticu morate povezati tastaturu 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 ovo dobili, samo upišite:

hostname -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 pisati 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 servera svaki put kada se pi uključi. Ovo nam je zgodno dok kodiramo, ali kasnije bi mogao biti sigurnosni rizik (paranoičnost je dobra) pa kad budete spremni, možete onemogućiti ovu funkciju automatskog pokretanja SSH -a pomoću ove naredbe:

sudo systemctl onemogući ssh

Ovu naredbu bi trebalo otkucati na tastaturi koja je povezana sa pi, naravno.

PuTTY je terminalni program koji je potreban za izdavanje naredbi s računala na pi, pa odavde preuzmite 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 da započnete sesiju.

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

Korak 5: Instalirajte Pigpio

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

Savjet: Možete jednostavno kopirati [ctrl+c] i zalijepiti [desnim klikom miša] ove i bilo koje druge naredbe u terminal PuTTY

sudo apt-get update

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

Korak 6: Opcionalno: Dev System Setup

Opcionalno: Dev System Setup
Opcionalno: Dev System Setup

Dakle, evo savjeta koji bi vam mogao uštedjeti neko vrijeme u svijetu razvoja koda. Zaista mrzimo uređivače teksta zasnovane 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 rafiniran kao SublimeText koji možete preuzeti odavde

Imamo razvojno okruženje zasnovano na Windowsima i volimo koristiti ovaj uređivač teksta kad god je to moguće. Dakle, savjet ovdje je u postavljanju vašeg sistema da biste mogli koristiti ovaj profesionalni uređivač teksta izvorno na radnoj površini vašeg Windowsa za direktno kodiranje na vašem pi bez glave.

Kako? Koristeći besplatnu aplikaciju 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 -u, poput onih koje vidite u upravitelju datoteka na svom Windows računaru.

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 lokaciju. Koristit ćemo zadane postavke SFTP -a, a vi samo trebate unijeti IP adresu (za ime hosta) vašeg pi -a i ime za prijavu (za korisničko ime). Ako želite, možete ostaviti lozinku praznom - od vas će se tražiti lozinka svaki put kada se prijavite.

Zatim kliknite gumb Napredno, a zatim s lijeve strane kliknite za postavke Okolinske ljuske. Sa desne strane promijenite "Default" povucite prema dolje na "sudo su -" opciju. Ovo će omogućiti da se promjene upisuju na vaš pi bez grešaka u dozvoli kada pritisnete save iz SublimeText.

Postavite SublimeText na Default Editor 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 ovo konfigurirano, ali 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čunaru.

Korak 8: (w) dobivanje koda

(w) dobijanje Kodeksa
(w) dobijanje Kodeksa

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

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

Napravite direktorij koji se zove tinyLiDAR u vašem home/pi direktoriju.

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

Sada na PuTTY terminalu možete tipkati

cd t

i pritisnite taster da dopustite da automatski dovrši vašu komandu za pristup direktoriju tinyLiDAR.

Ovdje upišite sljedeće:

wget

za preuzimanje datoteka direktno s našeg servera. Zatim ih možemo otpakirati otkucavanjem

otpakiraj 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 buduće hakere

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

Kad ste spremni, ponovo ga pokrećete pomoću tipke sa strelicom prema gore za posljednju otkucanu naredbu ili je samo ponovo unesite i pritisnite enter:

python tlgui.py

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

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

To je sve!

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

Preporučuje se: