INHOUDSOPGAWE:
- Stap 1: Wat is die rek van 'n horlosie?
- Stap 2: 'n Bietjie hulp van varke wat vlieg
- Stap 3: TL; DR weergawe
- Stap 4: Installasie
- Stap 5: Installeer Pigpio
- Stap 6: Opsioneel: Dev System Setup
- Stap 7: Die opstel van WinSCP
- Stap 8: (w) die verkryging van die kode
- Stap 9: Let op vir binnekort hackers
Video: TinyLiDAR op 'n Pi?: 9 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
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?
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
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
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
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
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:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer