Indholdsfortegnelse:
- Trin 1: Hvad er urstrækning?
- Trin 2: Lidt hjælp fra svin, der flyver
- Trin 3: TL; DR -version
- Trin 4: Installation
- Trin 5: Installer Pigpio
- Trin 6: Valgfrit: Dev System Setup
- Trin 7: Opsætning af WinSCP
- Trin 8: (w) Hentning af koden
- Trin 9: Note til snart-til-være hackere
Video: TinyLiDAR på en Pi?: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Hej igen!
Nu hvor du har brugt lidt kvalitetstid med tinyLiDAR og din Arduino - føler din Raspberry Pi sig måske lidt ensom;)
Pi har en I2C port ikke? Så hvorfor ikke tilslutte det og prøve det der ?! God plan, men hvis du allerede har prøvet - har du muligvis bemærket, at dataene ser lidt mærkelige ud.
Ja, pi'en har allerede indbygget 1.8K pull-ups, så du bliver nødt til at skære I2C-puderne på tinyLiDAR for at få 4.7K pull-ups ud af kredsløbet-se referencehåndbogen for detaljer. Men det er ikke årsagen til de mærkelige data.
Det er fordi pi's I2C -bus ikke ligefrem er op til specifikationerne. Det har været sådan siden pi'en først blev introduceret på grund af Broadcom -chipsættet. Fra begyndelsen har de ikke korrekt understøttet en I2C -funktion kaldet "urstrækning".
Du kan læse mere om denne h/w -fejl her.
Trin 1: Hvad er urstrækning?
Som du måske ved, består I2C -bussen af 3 ledninger. Disse er til ur (SCL), data (SDA) og fælles grundlag. Uret og datalinjerne er af åben-kollektor/åben-afløbstype, hvilket betyder, at de har brug for pull-up-modstande forbundet til en positiv forsyningsskinne for at give dem en logisk højde. For at få en logisk lav, kan enhver enhed i bussen trække linjen ned til fælles grund.
I henhold til I2C -standarden er master -enheden den, der leverer urets signal på SCL -linjen, men hvis denne hastighed er for hurtig, får slaveenheden lov til at bremse den ved blot at holde urlinjen nede, indtil den er klar til at håndtere med oplysningerne. Det er det, vi kalder "urstrækning".
Officielt blev urstrækning angivet som en valgfri funktion i I2C -standarden, men det er en meget almindelig funktion, der er nødvendig for de fleste "intelligente" slaver, der har brug for lidt ekstra tid til at levere sensordata osv.
Trin 2: Lidt hjælp fra svin, der flyver
For at håndtere denne I2C h/w -fejl fandt vi et dejligt lille gratis bibliotek kaldet "pigpio". Det er et meget populært, hurtigt og let bibliotek skrevet i C. Det kører som baggrundsdæmon for Raspberry Pi og giver os mulighed for let at styre I2C såvel som enhver GPIO fra python. Biblioteket behandler I2C -portene mere som GPIO og har derved omgået I2C -urets strækningsfejl. Som al software på pi'en er pigpio -biblioteket kun et simpelt "inklusiv" væk, så lad os gå!
Trin 3: TL; DR -version
Konfigurer Pi Aktiver SSH for at logge ind med Putty Installer pigpio -bibliotek Få lilleLiDAR zip -fil Unzip og kør fra Putty
Valgfri:
Opsætning af SublimeText med WinSCP
Trin 4: Installation
Til vores Raspberry Pi 3 brugte vi standard operativsystemet New Out Of the Box (NOOBS Lite v2.4). Den indeholder en standardversion af Python, der allerede er installeret, så vi er klar til at kode med. Du kan downloade OS'et herfra.
Når det er installeret på et micro SD -kort, skal du tilslutte et tastatur og en skærm, så du kan logge på pi for første gang:
Brugernavn: pi Adgangskode: hindbær
Derefter kan du starte en sikker shell -server (SSH) med disse kommandoer:
sudo systemctl aktiver sshsudo systemctl start ssh
Dernæst skal vi bruge pi'ens IP -adresse på dit netværk, så vi kan logge ind med PuTTY. For at få dette skal du bare skrive:
værtsnavn -I
Og se efter en IPv4 -formatadresse (til vores opsætning var det: 192.168.0.27)
Ovenstående trin giver pi'en mulighed for at køre "hovedløs", hvilket betyder, at du ikke behøver at skrive på dette tastatur igen, og der er heller ikke behov for en videomonitor længere. Vi logger ind via netværket via en sikker SSH -forbindelse fremover. Ovenstående kommando får SSH -serveren til at starte automatisk, hver gang pi'en tændes. Dette er praktisk for os, mens vi koder, men det kan være en sikkerhedsrisiko senere (at være paranoid er godt), så når du er klar, kan du deaktivere denne autostart -SSH -funktion ved hjælp af denne kommando:
sudo systemctl deaktiver ssh
Denne kommando skal selvfølgelig skrives på tastaturet, der er forbundet til pi.
PuTTY er et terminalprogram, der er påkrævet for at udstede kommandoer fra pc'en til pi'et, så du bør få fat i den nyeste kopi herfra.
Installer og start PuTTY. Du bliver nødt til at indtaste IP -adressen ovenfra ved indtastning af værtsnavn og bruge standard SSH -indstillingerne. Giv sessionen et navn, du ønsker, og tryk på Gem. Tryk derefter på load, og klik på OPEN for at starte en session.
Det skulle få dig til login -skærmen til pi. Brug dit samme brugernavn og adgangskode, som du brugte tidligere.
Trin 5: Installer Pigpio
Nu er det eneste, vi skal installere efter dette, pigpio -biblioteket, og vi kan gøre dette ved at bruge følgende kommandoer.
Tip: Du kan simpelthen kopiere [ctrl+c] og indsætte [højreklik med musen] disse og andre kommandoer i PuTTY -terminalen
sudo apt-get opdatering
sudo apt-get installer pigpio python-pigpio python3-pigpio
Trin 6: Valgfrit: Dev System Setup
Så her er et tip, der kan hjælpe med at spare tid i din kodeudviklingsverden. Vi hader virkelig de unix -baserede tekstredaktører. Brugergrænsefladen er normalt klodset, og skrifttyperne sutter. GNU nano er næsten tålelig, men ingen er så raffinerede som SublimeText, som du kan downloade herfra
Vi har et Windows -baseret udviklingsmiljø og elsker at bruge denne tekst editor, når det er muligt. Så tip her er i opsætningen af dit system for at kunne bruge denne professionelle tekstredigerer indbygget på dit Windows -skrivebord til direkte kode på din hovedløse pi.
Hvordan? Ved hjælp af en gratis app kaldet WinSCP, som du kan downloade herfra
Trin 7: Opsætning af WinSCP
WinSCP er et sikkert filoverførselsprogram, der giver en grafisk fremstilling af de filer, der er til stede på din rpi, ligesom det du ser i filhåndtering på din Windows -pc.
Så gå videre og installer ovenstående to programmer også nu.
Dernæst skal du foretage et par justeringer for at få dem alle til at fungere korrekt.
For WinSCP kan du klikke på NYT websted. Vi bruger standard SFTP -indstillingerne, og du behøver kun at indtaste IP -adressen (for værtsnavn) på din pi og login -navnet (for brugernavn). Du kan vælge at lade adgangskoden være tom, hvis du vil - det vil bede dig om adgangskoden hver gang du logger ind.
Klik derefter på knappen Avanceret, og klik derefter på venstre side for miljøindstillinger. På højre side skal du ændre "Standard" træk ned til "sudo su -" mulighed. Dette vil tillade ændringer at blive skrevet til din pi uden tilladelsesfejl, når du trykker på gem fra SublimeText.
Indstil SublimeText til at være standardeditor i WinSCP
For at gøre dette skal du klikke på knappen Funktioner på skærmen til indstillinger for WinSCP -login, hvor du startede din NewSite -dialog. De to skærmbilleder viser, hvordan dette er konfigureret, men dybest set klikker du for at konfigurere redaktørpræferencen og Tilføj en editor, som vil være en ekstern editor. Du kan derefter søge efter.exe -filen, hvor denne editor er placeret på din computer.
Trin 8: (w) Hentning af koden
Når det er gjort, skal du gå videre og logge ind med WinSCP og med PuTTY.
Nu er vi klar, vi kan starte vores tinyLiDAR -kode.
Lav et bibliotek kaldet tinyLiDAR under dit hjem/pi -bibliotek.
Du kan gøre dette ved at højreklikke på højre side af WinSCP -skærmen og vælge Ny / bibliotek.
Nu på PuTTY -terminalen kan du skrive
cd t
og tryk på fanen for at lade den autofuldføre din kommando for at komme til tinyLiDAR -biblioteket.
Når du er her, skal du skrive følgende:
wget
at få filerne direkte fra vores server. Vi kan derefter pakke dem ud ved at skrive
udpakke r
og tryk på fanen for at autofuldføre navnet igen
For at køre det skal du bare skrive
python tlgui.py
Og din tinyLiDAR reagerer på alle dine kommandoer på pi’en:)
Trin 9: Note til snart-til-være hackere
Tag et kig under emhætten ved at dobbeltklikke på en af kodefilerne fra WinSCP. Det er dem med en.py -udvidelse. Filerne skal åbne i SublimeText direkte på din pc. Skift hvad du vil, og tryk derefter på Gem. Dine ændringer gemmes direkte på din pi.
Når du er klar, kører du den igen ved at bruge pil op til den sidst indtastede kommando eller bare indtaste den igen og trykke enter:
python tlgui.py
Du har måske bemærket, at Terminal GUI -layoutet ser lidt pænere ud end Arduino -versionen. Det er fordi PuTTY understøtter unicode -tegn, så vi kunne bruge nogle ekstra markørstyringstegn for at få det til at se mere raffineret ud.
Der er også en ekstra kommando her (sammenlignet med Arduino -versionen), som er "dc" til funktionen Kontinuerlig læsning. Prøv det og se hvad du synes.
Det er alt!
Tak fordi du læste og nyd hacking på pi:)
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores
CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trin
CircuitPython og TinyLiDAR: Enkelt eksempel: MicroElectronicDesign tinyLiDAR er et ST VL53L0X baseret time-of-flight (ToF) -modul med en i2c-busforbindelse. Adafruit -mikrokontrollerkortene kan let tilsluttes denne sensor, da de kan tale i2c -protokollen over deres datapind