Përmbajtje:
- Hapi 1: Çfarë është shtrirja e orës?
- Hapi 2: Një ndihmë e vogël nga derrat që fluturojnë
- Hapi 3: TL; Versioni DR
- Hapi 4: Instalimi
- Hapi 5: Instaloni Pigpio
- Hapi 6: Opsionale: Konfigurimi i sistemit Dev
- Hapi 7: Vendosja e WinSCP
- Hapi 8: (w) marrja e Kodit
- Hapi 9: Shënim për hakerët e ardhshëm
Video: TinyLiDAR në Pi?: 9 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
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?
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
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
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
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
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:
Si të çmontoni një kompjuter me hapa të thjeshtë dhe fotografi: 13 hapa (me fotografi)
Si të çmontoni një kompjuter me hapa dhe fotografi të lehta: Ky është një udhëzim se si të çmontoni një kompjuter. Shumica e përbërësve bazë janë modularë dhe hiqen lehtë. Sidoqoftë, është e rëndësishme që të jeni të organizuar në lidhje me të. Kjo do t'ju ndihmojë të mos humbni pjesë, dhe gjithashtu në bërjen e ri -montimit
CircuitPython dhe TinyLiDAR: Shembull i thjeshtë: 3 hapa
CircuitPython dhe TinyLiDAR: Shembull i thjeshtë: MicroElectronicDesign tinyLiDAR është një modul i shkallës së kohës së fluturimit (ToF) të bazuar në ST VL53L0X me një lidhje autobusi i2c. Pllakat e mikrokontrolluesit Adafruit lidhen lehtësisht me këtë sensor pasi mund të flasin protokollin i2c mbi pin -in e tyre të të dhënave
TinyLiDAR në Garazhin Tuaj !: 10 hapa
TinyLiDAR në Garazhin tuaj!: DIY WiFi Garage Door Opener ProjectBota IoT sapo ka filluar të shpërthejë - çdo kompani teknologjike në të gjithë globin po përpiqet të kuptojë se si do të përshtaten në këtë botë të re. Justshtë vetëm një mundësi e madhe! Pra, për këtë të udhëzueshme, unë
TinyLiDAR për IoT: 3 hapa
TinyLiDAR për IoT: Nëse shikoni përreth, do të vini re se shumë pajisje të vogla të zgjuara po përdoren në jetën e përditshme. Ata zakonisht janë të mundësuar nga bateria dhe zakonisht lidhen me internetin (aka 'cloud') disi. Këto janë të gjitha ato që ne i quajmë pajisje 'IoT' dhe ato
A mund të përdor TinyLiDAR në Gërvishtje ?: 3 hapa
A mund të përdor TinyLiDAR In … Scratch ?: Ne marrim kërkesa herë pas here për të pyetur nëse tinyLiDAR do të funksionojë në platformën e tyre të veçantë kompjuterike. Edhe pse tinyLiDAR u krijua si një sensor i thjeshtë për t’u përdorur LiDAR për Arduino UNO, nuk ka asgjë që e ndalon atë të përdoret në platforma të tjera