Sadržaj:
- Korak 1: Što je rastezanje sata?
- Korak 2: Mala pomoć svinja koje lete
- Korak 3: TL; DR verzija
- Korak 4: Instalacija
- Korak 5: Instalirajte Pigpio
- Korak 6: Izborno: Postavljanje sustava Dev
- Korak 7: Postavljanje WinSCP -a
- Korak 8: (w) dobivanje koda
- Korak 9: Napomena za uskoro hakere
Video: TinyLiDAR na Pi?: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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?
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
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
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
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
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:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) s Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
CircuitPython i TinyLiDAR: Jednostavan primjer: 3 koraka
CircuitPython i TinyLiDAR: Jednostavan primjer: MicroElectronicDesign tinyLiDAR je ST VL53L0X bazirani modul za mjerenje vremena leta (ToF) s povezivanjem sabirnice i2c. Ploče mikrokontrolera Adafruit lako se povezuju s ovim senzorom jer mogu govoriti i2c protokolom preko svog podatkovnog pina
TinyLiDAR u vašoj garaži!: 10 koraka
TinyLiDAR u vašoj garaži !: Projekt otvaranja WiFi vrata za garažna vrataSvijet IoT -a tek počinje eksplodirati - svaka tehnološka tvrtka širom svijeta pokušava shvatiti kako će se uklopiti u ovaj novi svijet. To je samo velika prilika! Dakle, za ovu instrukciju, ja
TinyLiDAR za IoT: 3 koraka
TinyLiDAR za IoT: Ako pogledate oko sebe, primijetit ćete da se u svakodnevnom životu koristi mnogo pametnih malih uređaja. Obično se napajaju iz baterija i obično su nekako povezani s internetom (poznat i kao "oblak"). To su sve ono što nazivamo 'IoT' uređajima i oni
Mogu li koristiti TinyLiDAR u ogrebotini?: 3 koraka
Mogu li koristiti TinyLiDAR u … Scratchu?: S vremena na vrijeme dobivamo zahtjeve da pitamo hoće li tinyLiDAR raditi na njihovoj određenoj računalnoj platformi. Iako je tinyLiDAR zamišljen kao jednostavan za korištenje LiDAR senzor za Arduino UNO, ništa ga ne sprječava da se koristi na drugim platformama