INHOUDSOPGAWE:

TinyLiDAR op 'n Pi?: 9 stappe (met foto's)
TinyLiDAR op 'n Pi?: 9 stappe (met foto's)

Video: TinyLiDAR op 'n Pi?: 9 stappe (met foto's)

Video: TinyLiDAR op 'n Pi?: 9 stappe (met foto's)
Video: Йога для начинающих дома с Алиной Anandee #2. Здоровое гибкое тело за 40 минут. Универсальная йога. 2024, Oktober
Anonim
TinyLiDAR op 'n Pi?
TinyLiDAR op 'n Pi?

Hallo weer!

Noudat u kwaliteit tyd saam met tinyLiDAR en u Arduino deurgebring het, voel u Raspberry Pi miskien 'n bietjie eensaam;)

Het die pi 'n I2C -poort? Waarom sou u dit nie daar aansluit nie? Goeie plan, maar as u dit al probeer het, het u moontlik opgemerk dat die data 'n bietjie vreemd lyk.

Ja, die pi het reeds 1.8K pull-ups ingebou, sodat u die I2C pads op tinyLiDAR moet sny om die 4.7K pull-ups uit die kring te kry-sien die verwysingshandleiding vir meer inligting. Maar dit is nie die rede vir die vreemde gegewens nie.

Dit is omdat die pi se I2C -bus nie presies aan die spesifikasies voldoen nie. Dit is so sedert die pi die eerste keer bekendgestel is weens die Broadcom -chipstel. Van die begin af het hulle nie 'n I2C -funksie genaamd 'klok rek' behoorlik ondersteun nie.

U kan hier meer lees oor hierdie h/w -fout.

Stap 1: Wat is die rek van 'n horlosie?

Wat is die rek van 'n horlosie?
Wat is die rek van 'n horlosie?

Soos u dalk weet, bestaan die I2C -bus uit 3 drade. Dit is vir klok (SCL), data (SDA) en gemeenskaplike grond. Die horlosie en datalyne is van 'n oop-versamelaar/oop drein tipe, wat beteken dat hulle optrekweerstands nodig het wat gekoppel is aan 'n positiewe toevoerrail om hulle 'n logiese hoogtepunt te gee. Om die logika laag te kry, kan enige toestel in die bus die lyn na gemeenskaplike grond af trek.

Volgens die I2C -standaard is die meesterapparaat die een wat die kloksignaal op die SCL -lyn lewer, maar as hierdie koers te vinnig is, kan die Slave -toestel dit vertraag deur eenvoudig die kloklyn in te hou totdat dit gereed is om te hanteer met die inligting. Dit is wat ons 'klok rek' noem.

Amptelik is die rek van die klok in die I2C -standaard as 'n opsionele funksie gelys, maar dit is 'n baie algemene funksie wat nodig is vir die meeste 'intelligente' slawe wat ekstra tyd nodig het om sensordata, ens.

Stap 2: 'n Bietjie hulp van varke wat vlieg

Om hierdie I2C h/w -fout te hanteer, het ons 'n lekker klein gratis biblioteek genaamd "pigpio" gevind. Dit is 'n baie gewilde, vinnige en ligte biblioteek geskryf in C. Dit werk as 'n agtergrond -demoon vir die Raspberry Pi en stel ons in staat om die I2C sowel as enige GPIO maklik vanaf python te beheer. Die biblioteek behandel die I2C -poorte meer soos GPIO en het daarmee die I2C -rekrekwis omseil. Soos alle sagteware op die pi, is die pigpio -biblioteek net 'n eenvoudige 'insluit', so laat ons gaan!

Stap 3: TL; DR weergawe

Stel Pi in Aktiveer SSH om aan te meld met Putty Installeer pigpio biblioteek Kry klein LiiDAR zip -lêer Pak uit en voer uit Putty

Opsioneel:

Stel SublimeText op met WinSCP

Stap 4: Installasie

Installasie
Installasie

Vir ons Raspberry Pi 3 het ons die standaard New Out Of the Box Software (NOOBS Lite v2.4) bedryfstelsel gebruik. Dit bevat 'n standaardweergawe van Python wat reeds geïnstalleer is, waarmee ons kan kodeer. U kan die bedryfstelsel hier aflaai.

Nadat u dit op 'n micro SD -kaart geïnstalleer het, moet u 'n sleutelbord en monitor aansluit, sodat u vir die eerste keer by die pi kan aanmeld:

Gebruikersnaam: pi Wagwoord: framboos

Dan kan u 'n veilige dopbediener (SSH) begin met hierdie opdragte:

sudo systemctl aktiveer sshsudo systemctl begin ssh

Vervolgens benodig ons die IP -adres van die pi op u netwerk, sodat ons met PuTTY kan aanmeld. Om dit te kry, tik net:

gasheernaam -I

En soek 'n IPv4 -formaat adres (vir ons opstelling was dit: 192.168.0.27)

Met die bogenoemde stappe kan die pi "koploos" werk, wat beteken dat u nie weer hierdie sleutelbord hoef in te tik nie en dat u ook nie meer 'n videomonitor hoef te gebruik nie. Ons sal voortaan via die netwerk aanmeld via 'n veilige SSH -verbinding. Bogenoemde opdrag veroorsaak dat die SSH -bediener outomaties begin elke keer as die pi aangeskakel word. Dit is gerieflik vir ons terwyl ons kodeer, maar dit kan later 'n veiligheidsrisiko wees (paranoïes is goed), dus as u gereed is, kan u hierdie outomatiese SSH -funksie met hierdie opdrag deaktiveer:

sudo systemctl deaktiveer ssh

Hierdie opdrag moet natuurlik getik word op die sleutelbord wat aan die pi gekoppel is.

PuTTY is 'n terminale program wat opdragte van die rekenaar na die pi moet uitreik, sodat u die nuutste kopie hiervandaan moet haal.

Installeer en begin PuTTY. U moet die IP -adres van bo by die Host Name -invoer invoer en die standaard SSH -instellings gebruik. Gee die sessie enige naam wat u wil hê en klik op stoor. Druk dan op laai en klik op OPEN om 'n sessie te begin.

Dit behoort u by die aanmeldskerm vir die pi te kry. Gebruik dieselfde gebruikersnaam en wagwoord as wat u vroeër gebruik het.

Stap 5: Installeer Pigpio

Die enigste ding wat ons hierna moet installeer, is die pigpio -biblioteek, en ons kan dit doen deur die volgende opdragte te gebruik.

Wenk: U kan [ctrl+c] eenvoudig kopieer en [regs kliek] met hierdie muis in die PuTTY -terminale plak

sudo apt-get update

sudo apt-get installeer pigpio python-pigpio python3-pigpio

Stap 6: Opsioneel: Dev System Setup

Opsioneel: Dev System Setup
Opsioneel: Dev System Setup

Hier is 'n wenk wat u kan help om tyd in u kode -ontwikkelingswêreld te bespaar. Ons haat die teksredakteurs wat op Unix gebaseer is, regtig. Die gebruikerskoppelvlak is gewoonlik lomp en die lettertipes suig. GNU nano is amper draaglik, maar nie een is so verfyn soos SublimeText wat u hier kan aflaai nie

Ons het 'n venstersgebaseerde ontwikkelingsomgewing en gebruik hierdie teksredakteur graag wanneer moontlik. Die wenk hier is om u stelsel op te stel sodat u hierdie professionele teksredakteur op u Windows -lessenaar kan gebruik om direk op u koplose pi te kodeer.

Hoe? Gebruik 'n gratis app genaamd WinSCP wat u hier kan aflaai

Stap 7: Die opstel van WinSCP

Die opstel van WinSCP
Die opstel van WinSCP
Die opstel van WinSCP
Die opstel van WinSCP

WinSCP is 'n veilige lêeroordragprogram wat 'n grafiese voorstelling gee van die lêers wat op u rpi voorkom, soos wat u in lêerbestuurder op u Windows -rekenaar sien.

Gaan dus voort en installeer nou ook die bogenoemde twee programme.

Vervolgens moet u 'n paar aanpassings aanbring om almal behoorlik te laat werk.

Vir WinSCP kan u op die NUWE webwerf klik. Ons gebruik die standaard SFTP -instellings en u hoef slegs die IP -adres (vir gasheernaam) van u pi en die aanmeldnaam (vir gebruikersnaam) in te voer. U kan kies om die wagwoord leeg te laat as u wil - dit sal u elke keer as u aanmeld, die wagwoord vra.

Klik vervolgens op die knoppie Gevorderd en klik dan aan die linkerkant vir die omgewingsomhulselinstellings. Verander die "Standaard" aan die regterkant na die opsie "sudo su -". Dit sal toelaat dat veranderinge aan u pi geskryf word sonder toestemmingsfoute as u op Save van SublimeText klik.

Stel SublimeText in as standaardredakteur in WinSCP

Om dit te doen, klik op die knoppie Gereedskap op die WinSCP -aanmeldinstellingsskerm waar u u NewSite -dialoog begin het. Die twee skermkiekies wys hoe dit gekonfigureer is, maar u sal basies klik om die voorkeure van die redakteur op te stel en 'n redakteur by te voeg, wat 'n eksterne redakteur sal wees. U kan dan soek na die.exe -lêer van waar hierdie redakteur op u rekenaar geleë is.

Stap 8: (w) die verkryging van die kode

(w) die verkryging van die kode
(w) die verkryging van die kode

Sodra u klaar is, meld u aan met WinSCP en met PuTTY.

Nou is ons gereed, ons kan ons tinyLiDAR -kode begin.

Maak 'n gids genaamd tinyLiDAR onder u huis/pi -gids.

U kan dit doen deur met die rechtermuisknop aan die regterkant van die WinSCP -skerm te klik en New / Directory te kies.

Nou kan u by die PuTTY -terminale tik

cd t

en druk op die oortjie om u opdrag outomaties te laat voltooi om by die tinyLiDAR -gids te kom.

Tik hier die volgende:

wget

om die lêers direk vanaf ons bediener te kry. Ons kan dit dan uitpak deur te tik

rits uit

en druk op tab om die naam weer outomaties te voltooi

Tik net om dit uit te voer

python tlgui.py

En u tinyLiDAR reageer op u elke opdrag op die pi:)

Stap 9: Let op vir binnekort hackers

Kyk gerus onder die enjinkap deur dubbelklik op enige van die kode lêers van WinSCP. Dit is diegene met 'n.py -uitbreiding. Die lêers moet direk op u rekenaar in SublimeText oopgemaak word. Verander wat u wil en klik dan op stoor. U veranderinge word direk op u pi gestoor.

As u gereed is, voer u dit weer uit met die pyltjie omhoog vir die laaste opdrag, of tik dit weer en druk op enter:

python tlgui.py

U het moontlik opgemerk dat die Terminal GUI -uitleg 'n bietjie mooier lyk as die Arduino -weergawe. Dit is omdat PuTTY unicode -karakters ondersteun, sodat ons 'n paar ekstra wyserbeheerkarakters kon gebruik om dit meer verfyn te laat lyk.

Daar is ook 'n bykomende opdrag hier (in vergelyking met die Arduino -weergawe) wat 'dc' is vir die deurlopende leesfunksie. Probeer dit en kyk wat jy dink.

Dit is al!

Dankie dat u gelees het en geniet dit om op die pi te hack:)

Aanbeveel: