Taula de continguts:
- Pas 1: què és l'estirament del rellotge?
- Pas 2: una mica d’ajuda dels porcs que volen
- Pas 3: TL; Versió DR
- Pas 4: Instal·lació
- Pas 5: instal·leu Pigpio
- Pas 6: Opcional: Configuració del sistema de desenvolupament
- Pas 7: Configuració de WinSCP
- Pas 8: (w) obtenir el codi
- Pas 9: Nota per als futurs hackers
Vídeo: TinyLiDAR en un Pi ?: 9 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Hola de nou!
Bé, ara que heu passat un temps de qualitat amb tinyLiDAR i el vostre Arduino: el vostre Raspberry Pi potser us sentiu una mica sol;)
El pi té un port I2C no? Llavors, per què no el connecteu i proveu-hi ?! Bon pla, però si ja ho heu provat, és possible que hàgiu notat que les dades semblen una mica estranyes.
Sí, el pi ha incorporat 1,8 K pull-ups, de manera que haureu de tallar els coixinets I2C de tinyLiDAR per treure els pulls de 4,7 K del circuit. Consulteu el manual de referència per obtenir més informació. Però aquest no és el motiu de les dades estranyes.
Es deu al fet que el bus I2C del pi no està exactament a l’alçada de les especificacions. Ha estat així des que es va introduir el pi per primera vegada a causa del conjunt de xips Broadcom. Des del principi no han suportat adequadament una característica I2C anomenada "estirament del rellotge".
Podeu llegir més sobre aquest error h / w aquí.
Pas 1: què és l'estirament del rellotge?
Com ja sabreu, el bus I2C consta de 3 cables. Aquests són per al rellotge (SCL), les dades (SDA) i el terreny comú. El rellotge i les línies de dades són de tipus open-collector / open-drain, cosa que significa que necessiten resistències de tracció connectades a un rail d’alimentació positiu per donar-los un nivell lògic. Per baixar la lògica, qualsevol dispositiu del bus pot fer caure la línia cap a un terreny comú.
Segons l'estàndard I2C, el dispositiu Master és el que subministra el senyal de rellotge a la línia SCL, però si aquesta velocitat és massa ràpida, es permet al dispositiu esclau frenar-lo simplement mantenint premuda la línia del rellotge fins que estigui llest per tractar amb la informació. Això és el que anomenem "estirament del rellotge".
Oficialment, l'estirament del rellotge es va incloure com a característica opcional a l'estàndard I2C, però és una característica molt comuna que és necessària per a la majoria d'esclaus "intel·ligents" que necessiten una mica de temps addicional per proporcionar dades del sensor, etc.
Pas 2: una mica d’ajuda dels porcs que volen
Per fer front a aquest error I2C h / w, hem trobat una petita biblioteca gratuïta anomenada "pigpio". És una biblioteca molt popular, ràpida i lleugera escrita en C. Funciona com a dimoni de fons per al Raspberry Pi i ens permet controlar tant l’I2C com qualsevol GPIO des de Python. La biblioteca tracta els ports I2C més com GPIO i, per tant, ha passat per alt l’error d’estirament del rellotge I2C. Com tots els programes del pi, la biblioteca pigpio només és una simple "inclusió" de distància, així que anem.
Pas 3: TL; Versió DR
Configureu Pi Habiliteu SSH per iniciar sessió amb Putty Instal·leu la biblioteca pigpio Obteniu el fitxer zip tinyLiDAR Descomprimiu-lo i executeu-lo des de Putty
Opcional:
Configureu SublimeText amb WinSCP
Pas 4: Instal·lació
Per al nostre Raspberry Pi 3, hem utilitzat el sistema operatiu estàndard New Out of the Box Software (NOOBS Lite v2.4). Conté una versió predeterminada de Python ja instal·lada per a nosaltres preparada per codificar. Podeu descarregar el sistema operatiu des d’aquí.
Un cop instal·lat a una targeta micro SD, heu de connectar un teclat i un monitor perquè pugueu iniciar sessió al pi per primera vegada:
Nom d’usuari: pi Contrasenya: gerd
A continuació, podeu iniciar un servidor d'intèrpret d'ordres segur (SSH) amb aquestes ordres:
sudo systemctl habilita sshsudo systemctl inicia ssh
A continuació, necessitarem l'adreça IP del pi a la vostra xarxa per poder iniciar la sessió amb PuTTY. Per obtenir-ho, només cal escriure:
nom d'amfitrió -I
I busqueu una adreça de format IPv4 (per a la nostra configuració era: 192.168.0.27)
Els passos anteriors permetran que el pi funcioni "sense cap", cosa que significa que no caldrà que torneu a escriure en aquest teclat i tampoc no necessiteu cap monitor de vídeo. Iniciarem la sessió a través de la xarxa mitjançant una connexió SSH segura en el futur. L'ordre anterior fa que el servidor SSH s'iniciï automàticament cada vegada que s'encén el pi. Això és convenient per a nosaltres mentre estem codificant, però pot suposar un risc de seguretat més tard (ser paranoic és bo), de manera que, quan estigueu a punt, podeu desactivar aquesta funció SSH d'inici automàtic mitjançant aquesta ordre:
sudo systemctl desactiva ssh
Aquesta ordre s’ha d’escriure al teclat connectat al pi, per descomptat.
PuTTY és un programa de terminal que és necessari per emetre ordres del PC al pi, de manera que hauríeu d’agafar la còpia més recent d’aquí.
Instal·leu i inicieu PuTTY. Haureu d’escriure l’adreça IP des de dalt a l’entrada del nom de l’amfitrió i utilitzar la configuració SSH per defecte. Doneu a la sessió el nom que vulgueu i premeu Desa. A continuació, feu clic a Carrega i feu clic a OBRIR per iniciar una sessió.
Us hauria de portar a la pantalla d'inici de sessió del pi. Utilitzeu el vostre mateix nom d'usuari i contrasenya que vau utilitzar anteriorment.
Pas 5: instal·leu Pigpio
Ara, l’únic que hem d’instal·lar després d’això seria la biblioteca pigpio i ho podem fer utilitzant les ordres següents.
Consell: Simplement podeu copiar [ctrl + c] i enganxar [clic dret del ratolí] aquestes i qualsevol altra ordre al terminal PuTTY
sudo apt-get update
sudo apt-get install pigpio python-pigpio python3-pigpio
Pas 6: Opcional: Configuració del sistema de desenvolupament
Per tant, aquí teniu un consell que us pot ajudar a estalviar una mica de temps al vostre món de desenvolupament de codi. Odiam molt els editors de text basats en Unix. La interfície d'usuari és normalment maldestra i els tipus de lletra són una xucleta. GNU nano és gairebé suportable, però cap és tan refinat com SublimeText que podeu descarregar des d'aquí
Tenim un entorn de desenvolupament basat en Windows i ens agrada utilitzar aquest editor de text sempre que sigui possible. Així, doncs, el consell aquí és configurar el vostre sistema per poder utilitzar aquest editor de text professional de forma nativa a l’escriptori de Windows per codificar directament al vostre pi sense cap.
Com? Mitjançant una aplicació gratuïta anomenada WinSCP que podeu descarregar des d’aquí
Pas 7: Configuració de WinSCP
WinSCP és un programa segur de transferència de fitxers que proporciona una representació gràfica dels fitxers presents al vostre tipus de rpi, com el que veieu al gestor de fitxers del vostre PC amb Windows.
Així que endavant, instal·leu ara els dos programes anteriors.
A continuació, haureu de fer alguns ajustos perquè tots funcionin correctament.
Per a WinSCP, podeu fer clic a NOU lloc. Utilitzarem la configuració SFTP per defecte i només cal que introduïu l’adreça IP (per al nom d’amfitrió) del vostre pi i el nom d’inici de sessió (per al nom d’usuari). Podeu deixar la contrasenya buida si voleu: us demanarà la contrasenya cada vegada que inicieu la sessió.
A continuació, feu clic al botó Avançat i, a continuació, feu clic a la part esquerra per obtenir la configuració de Environment Shell. A la part dreta, canvieu el botó desplegable "Per defecte" a l'opció "sudo su -". Això permetrà escriure canvis al vostre pi sense errors de permís quan premeu Desa des de SublimeText.
Establiu SublimeText com a editor predeterminat a WinSCP
Per fer-ho, feu clic al botó Eines de la pantalla de configuració de l'inici de sessió de WinSCP on vau iniciar el diàleg NewSite. Les dues captures de pantalla mostren com es configura això, però bàsicament feu clic per configurar la preferència Editors i Afegiu un editor que serà un editor extern. A continuació, podeu cercar el fitxer.exe d’on es troba aquest editor a l’ordinador.
Pas 8: (w) obtenir el codi
Un cop fet, seguiu endavant i inicieu sessió amb WinSCP i amb PuTTY.
Ara estem a punt per començar el nostre codi tinyLiDAR.
Feu un directori anomenat tinyLiDAR al directori home / pi.
Podeu fer-ho fent un clic dret a la part dreta de la pantalla de WinSCP i seleccioneu Nou / Directori.
Ara al terminal PuTTY podeu escriure
cd t
i premeu tabulador per deixar que completi automàticament la vostra comanda per arribar al directori tinyLiDAR.
Un cop aquí escriviu el següent:
wget
per obtenir els fitxers directament del nostre servidor. A continuació, podem descomprimir-los escrivint
descomprimir r
i premeu tabulador per completar de nou el nom de nou
Per executar-lo, només cal escriure
python tlgui.py
I el vostre tinyLiDAR respondrà a totes les vostres ordres del pi:)
Pas 9: Nota per als futurs hackers
Seguiu endavant i feu una ullada sota el capó fent doble clic a qualsevol dels fitxers de codi de WinSCP. Són els que tenen una extensió.py. Els fitxers s’han d’obrir a SublimeText directament al vostre PC. Canvieu el que vulgueu i premeu Desa. Els vostres canvis es desaran directament al vostre pi.
Quan estigueu a punt, torneu a executar-lo fent servir la tecla de fletxa cap amunt per a l'última ordre escrita o simplement escriviu-la de nou i premeu Retorn:
python tlgui.py
És possible que hàgiu notat que el disseny de la interfície gràfica d’usuari del terminal sembla una mica més agradable que la versió d’Arduino. Es deu al fet que PuTTY admet caràcters Unicode, de manera que hem pogut utilitzar alguns caràcters de control de cursor addicionals per fer que sembli més refinat.
Aquí també hi ha una ordre addicional (en comparació amb la versió Arduino) que és "dc" per a la funció de lectura contínua. Proveu-ho i vegeu què en penseu.
Això és tot!
Gràcies per llegir i gaudir del pirateig al pi:)
Recomanat:
Llum (s) LED amb bateria amb càrrega solar: 11 passos (amb imatges)
Llums LED amb bateria amb càrrega solar: la meva dona ensenya a la gent a fer sabó, la majoria de les seves classes eren al vespre i aquí a l’hivern es fa fosc cap a les 4:30 de la tarda, alguns dels seus alumnes tenien problemes per trobar el nostre casa. Teníem un rètol frontal però fins i tot amb un lligam al carrer
Porta imatges amb altaveu incorporat: 7 passos (amb imatges)
Suport d'imatges amb altaveu incorporat: aquí teniu un gran projecte per dur a terme durant el cap de setmana, si voleu que us poseu un altaveu que pugui contenir imatges / postals o fins i tot la vostra llista de tasques. Com a part de la construcció, utilitzarem un Raspberry Pi Zero W com a centre del projecte i un
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Gesture Hawk: robot controlat amb gestos manuals mitjançant la interfície basada en el processament d’imatges: 13 passos (amb imatges)
Gesture Hawk: robot controlat amb gestos manuals mitjançant interfície basada en el processament d’imatges: Gesture Hawk es va mostrar a TechEvince 4.0 com una interfície simple màquina basada en el processament d’imatges. La seva utilitat rau en el fet que no es requereixen cap sensor addicional ni un dispositiu portàtil, excepte un guant, per controlar el cotxe robòtic que funciona amb diferents
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge