Përmbajtje:

TinyLiDAR në Pi?: 9 hapa (me fotografi)
TinyLiDAR në Pi?: 9 hapa (me fotografi)

Video: TinyLiDAR në Pi?: 9 hapa (me fotografi)

Video: TinyLiDAR në Pi?: 9 hapa (me fotografi)
Video: Maddam Sir - Ep 48 - Full Episode - 17th August 2020 2024, Tetor
Anonim
TinyLiDAR në Pi?
TinyLiDAR në Pi?

Pershendetje perseri!

Epo tani që keni kaluar një kohë cilësore me tinyLiDAR dhe Arduino tuaj - Raspberry Pi juaj ndoshta ndiheni pak të vetmuar;)

Pi ka një port I2C apo jo? Pra, pse të mos e lidhni dhe ta provoni atje ?! Plan i mirë, por nëse e keni provuar tashmë - mund të keni vënë re që të dhënat duken pak të çuditshme.

Po, pi ka ndërtuar tashmë tërheqje 1.8K kështu që ju do të duhet të shkurtoni pads I2C në tinyLiDAR për të nxjerrë tërheqjet 4.7K nga qarku-shihni manualin e referencës për detaje. Por kjo nuk është arsyeja për të dhënat e çuditshme.

Kjo ndodh sepse autobusi I2C i pi nuk është saktësisht në përputhje me specifikimet. Ka qenë kështu që kur pi u prezantua për herë të parë për shkak të grupit të çipave Broadcom. Që nga fillimi ata nuk e kanë mbështetur siç duhet një funksion I2C të quajtur "shtrirja e orës".

Mund të lexoni më shumë rreth këtij defekti h/w këtu.

Hapi 1: Çfarë është shtrirja e orës?

Çfarë është shtrirja e orës?
Çfarë është shtrirja e orës?

Siç mund ta dini, autobusi I2C përbëhet nga 3 tela. Këto janë për orën (SCL), të dhënat (SDA) dhe bazën e përbashkët. Linjat e orës dhe të dhënave janë të tipit të mbledhësit të hapur/kullimit të hapur, që do të thotë se ata kanë nevojë për rezistorë tërheqës të lidhur me një hekurudhë furnizimi pozitiv për t'i dhënë atyre një logjikë të lartë. Për të marrë një logjikë të ulët, çdo pajisje në autobus mund të tërheqë vijën në terrenin e përbashkët.

Sipas standardit I2C, pajisja Master është ajo që furnizon sinjalin e orës në linjën SCL, por nëse kjo normë është shumë e shpejtë atëherë pajisja Slave lejohet ta ngadalësojë atë thjesht duke mbajtur poshtë linjën e orës derisa të jetë gati për t'u marrë me informacionin. Kjo është ajo që ne e quajmë "shtrirja e orës".

Zyrtarisht, shtrirja e orës u rendit si një veçori opsionale në standardin I2C, por është një tipar shumë i zakonshëm që është i nevojshëm për shumicën e skllevërve "inteligjentë" që kanë nevojë për pak kohë shtesë për të siguruar të dhëna të sensorit, etj.

Hapi 2: Një ndihmë e vogël nga derrat që fluturojnë

Për t'u marrë me këtë defekt I2C h/w, ne gjetëm një bibliotekë të bukur të vogël të quajtur "pigpio". Libraryshtë një bibliotekë shumë e popullarizuar, e shpejtë dhe e lehtë e shkruar në C. Ajo funksionon si një demon në sfond për Raspberry Pi dhe na lejon të kontrollojmë I2C si dhe çdo GPIO lehtësisht nga python. Biblioteka i trajton portet I2C më shumë si GPIO dhe në këtë mënyrë ka anashkaluar defektin e shtrirjes së orës I2C. Ashtu si të gjithë programet kompjuterike në pi, biblioteka e pigpio është vetëm një "përfshirje" e thjeshtë, kështu që le të shkojmë!

Hapi 3: TL; Versioni DR

Konfiguroni PiEnable SSH për t'u identifikuar me PuttyInstaloni bibliotekën e pigpio -s Merrni skedarin zip të vogël LiDAR Unzip dhe drejtojeni nga Putty

Opsionale:

Vendosni SublimeText me WinSCP

Hapi 4: Instalimi

Instalimi
Instalimi

Për Raspberry Pi 3, ne përdorëm sistemin operativ standard New Out Of the Box Software (NOOBS Lite v2.4). Ai përmban një version të parazgjedhur të Python të instaluar tashmë për ne të gatshëm për kodim. Këtu mund ta shkarkoni sistemin operativ.

Pasi të jetë instaluar në një kartë mikro SD ju duhet të lidhni një tastierë dhe një monitor në mënyrë që të hyni në pi për herë të parë:

Emri i përdoruesit: pi Fjalëkalimi: mjedër

Pastaj mund të filloni një server të sigurt shell (SSH) me këto komanda:

sudo systemctl aktivizo sshsudo systemctl fillo ssh

Tjetra do të na duhet adresa IP e pi në rrjetin tuaj në mënyrë që të mund të identifikohemi me PuTTY. Për ta marrë këtë, thjesht shkruani:

emri i hostit -I

Dhe kërkoni një adresë të formatit IPv4 (Për konfigurimin tonë ishte: 192.168.0.27)

Hapat e mësipërm do të lejojnë që pi të funksionojë "pa kokë", që do të thotë se nuk do të keni nevojë të shtypni përsëri në këtë tastierë dhe gjithashtu nuk ka më nevojë për një monitor video. Ne do të regjistrohemi përmes rrjetit përmes një lidhjeje të sigurt SSH në të ardhmen. Komanda e mësipërme bën që serveri SSH të nisë automatikisht sa herë që pi aktivizohet. Kjo është e përshtatshme për ne ndërsa ne po kodojmë, por mund të jetë një rrezik sigurie më vonë (të jesh paranojak është mirë) kështu që kur të jesh gati, mund të çaktivizosh këtë veçori të fillimit automatik SSH duke përdorur këtë komandë:

sudo systemctl çaktivizo ssh

Kjo komandë duhet të shtypet në tastierë e lidhur me pi natyrisht.

PuTTY është një program terminal i cili kërkohet të lëshojë komanda nga kompjuteri në pi, kështu që ju duhet të merrni kopjen më të fundit nga këtu.

Instaloni dhe filloni PuTTY. Ju do të duhet të shkruani adresën IP nga lart në hyrjen e Emrit të Pritësit dhe të përdorni cilësimet e paracaktuara të SSH. Jepini seancës çdo emër që dëshironi dhe shtypni ruaj. Pastaj goditni ngarkesën dhe klikoni OPEN për të filluar një sesion.

Duhet t'ju çojë në ekranin e hyrjes për pi. Përdorni të njëjtin emër përdoruesi dhe fjalëkalim që keni përdorur më parë.

Hapi 5: Instaloni Pigpio

Tani, e vetmja gjë që duhet të instalojmë pas kësaj do të ishte biblioteka pigpio dhe ne mund ta bëjmë këtë duke përdorur komandat e mëposhtme.

Këshillë: Ju thjesht mund të kopjoni [ctrl+c] dhe ngjisni [klikoni me të djathtën e miut] këto dhe çdo komandë tjetër në terminalin PuTTY

përditësim sudo apt-get

sudo apt-get install pigpio python-pigpio python3-pigpio

Hapi 6: Opsionale: Konfigurimi i sistemit Dev

Opsionale: Konfigurimi i sistemit Dev
Opsionale: Konfigurimi i sistemit Dev

Pra, këtu është një këshillë që mund t'ju ndihmojë të kurseni pak kohë në botën tuaj të zhvillimit të kodit. Ne me të vërtetë i urrejmë redaktorët e tekstit me bazë unix. Ndërfaqja e përdoruesit është zakonisht e ngathët dhe shkronjat thithin. GNU nano është pothuajse i durueshëm, por asnjë nuk është aq i rafinuar sa SublimeText që mund ta shkarkoni nga këtu

Ne kemi një mjedis zhvillimi të bazuar në dritare dhe na pëlqen ta përdorim këtë redaktues teksti kurdo që të jetë e mundur. Kështu që këshilla këtu është në konfigurimin e sistemit tuaj për të qenë në gjendje të përdorni këtë redaktues profesional të tekstit në vendndodhjen tuaj të Windows për të koduar drejtpërdrejt në pi tuaj pa kokë.

Si? Duke përdorur një aplikacion falas të quajtur WinSCP që mund ta shkarkoni nga këtu

Hapi 7: Vendosja e WinSCP

Vendosja e WinSCP
Vendosja e WinSCP
Vendosja e WinSCP
Vendosja e WinSCP

WinSCP është një program i sigurt i transferimit të skedarëve që jep një paraqitje grafike të skedarëve të pranishëm në rpi tuaj si ajo që shihni në menaxherin e skedarëve në kompjuterin tuaj Windows.

Pra, vazhdoni dhe instaloni dy programet e mësipërme gjithashtu tani.

Tjetra do t'ju duhet të bëni disa rregullime për t'i bërë të gjithë të funksionojnë siç duhet.

Për WinSCP, mund të klikoni në faqen e re. Ne do të përdorim cilësimet e paracaktuara të SFTP dhe ju duhet vetëm të futni adresën IP (për emrin e hostit) të pi -së tuaj dhe emrin e hyrjes (për emrin e përdoruesit). Ju mund të zgjidhni ta lini fjalëkalimin bosh nëse dëshironi - do t'ju kërkojë fjalëkalimin sa herë që identifikoheni.

Tjetra, klikoni butonin Advanced dhe pastaj klikoni në anën e majtë për cilësimet e Environment Shell. Në anën e djathtë ndryshoni "Default" tërhiqeni në opsionin "sudo su -". Kjo do të lejojë që ndryshimet të shkruhen në pi tuaj pa gabime të lejes kur shtypni ruajtjen nga SublimeText.

Vendosni SublimeText të jetë Editor i Paracaktuar në WinSCP

Për ta bërë këtë, klikoni butonin Tools në ekranin e cilësimeve të hyrjes WinSCP ku keni filluar dialogun tuaj NewSite. Dy pamjet e ekranit tregojnë se si është konfiguruar kjo, por në thelb ju do të klikoni për të konfiguruar preferencën e Editorëve dhe Shtoni një Editor i cili do të jetë një redaktues i jashtëm. Pastaj mund të shfletoni skedarin.exe se ku ndodhet ky redaktues në kompjuterin tuaj.

Hapi 8: (w) marrja e Kodit

(w) marrja e Kodit
(w) marrja e Kodit

Pasi të keni mbaruar, shkoni përpara dhe regjistrohuni me WinSCP dhe me PuTTY.

Tani jemi gati të fillojmë kodin tonë tinyLiDAR.

Bëni një drejtori të quajtur tinyLiDAR nën drejtorinë tuaj të shtëpisë/pi.

Ju mund ta bëni këtë duke bërë një klik të djathtë në anën e djathtë të ekranit WinSCP dhe zgjidhni New / Directory.

Tani në terminalin PuTTY mund të shkruani

cd t

dhe shtypni tab për ta lënë atë të plotësojë automatikisht komandën tuaj për të arritur në drejtorinë tinyLiDAR.

Pasi këtu shkruani sa vijon:

wget

për të marrë skedarët direkt nga serveri ynë. Ne pastaj mund t'i hapim ato duke shtypur

zbërthej r

dhe shtypni tab për të kompletuar përsëri emrin përsëri

Për ta ekzekutuar, thjesht shkruani

python tlgui.py

Dhe tinyLiDAR juaj do t'i përgjigjet çdo komande tuaj në pi:)

Hapi 9: Shënim për hakerët e ardhshëm

Vazhdoni dhe hidhini një sy nën kapuç duke klikuar dy herë në ndonjë nga skedarët e kodit nga WinSCP. Ata janë ato me një shtrirje.py. Skedarët duhet të hapen në SublimeText direkt në kompjuterin tuaj. Ndryshoni çdo gjë që ju pëlqen dhe pastaj shtypni ruaj. Ndryshimet tuaja do të ruhen drejtpërdrejt në pi tuaj.

Kur të jeni gati, e ekzekutoni përsëri duke përdorur tastin e shigjetës lart për komandën e fundit të shtypur ose thjesht shkruani përsëri dhe shtypni enter:

python tlgui.py

Ju mund të keni vënë re se paraqitja e Terminal GUI duket pak më e bukur se versioni Arduino. Becauseshtë sepse PuTTY mbështet karaktere unicode, kështu që ne ishim në gjendje të përdorim disa karaktere shtesë të kontrollit të kursorit për ta bërë atë të duket më i rafinuar.

Ekziston edhe një komandë e shtuar këtu (në krahasim me versionin Arduino) e cila është "dc" për funksionin e leximit të vazhdueshëm. Provojeni dhe shihni se çfarë mendoni.

Kjo eshte e gjitha!

Faleminderit që lexuat dhe shijoni hakimin në pi:)

Recommended: