Tartalomjegyzék:

TinyLiDAR a Pi -n?: 9 lépés (képekkel)
TinyLiDAR a Pi -n?: 9 lépés (képekkel)

Videó: TinyLiDAR a Pi -n?: 9 lépés (képekkel)

Videó: TinyLiDAR a Pi -n?: 9 lépés (képekkel)
Videó: Csirke zene (Geco Remix) 2024, Július
Anonim
TinyLiDAR a Pi -n?
TinyLiDAR a Pi -n?

Szia ismét!

Nos, most, hogy minőségi időt töltött a tinyLiDAR és az Arduino készülékével - a Raspberry Pi talán kissé magányosnak érzi magát;)

A pi -nek van I2C portja, nem? Akkor miért nem kapcsolja be és nem próbálja ki ott ?! Jó terv, de ha már kipróbálta - talán észrevette, hogy az adatok kissé furcsának tűnnek.

Igen, a pi már 1.8K felhúzást épített be, így le kell vágnia az I2C párnákat a tinyLiDAR-on, hogy kivegye a 4.7K-os húzásokat az áramkörből-a részleteket lásd a kézikönyvben. De nem ez az oka a furcsa adatoknak.

Ennek az az oka, hogy a pi I2C busz nem felel meg a specifikációnak. Ez már a picom első bevezetése óta így van a Broadcom chipkészlet miatt. A kezdetektől fogva nem megfelelően támogatták az I2C funkciót, az úgynevezett "órafeszítést".

Erről a h/w hibáról itt olvashat bővebben.

1. lépés: Mi az óra nyújtása?

Mi az óra nyújtása?
Mi az óra nyújtása?

Mint talán tudja, az I2C busz 3 vezetékből áll. Ezek az óra (SCL), az adat (SDA) és a közös földre vonatkoznak. Az óra és az adatvonalak nyitott kollektoros/nyitott leeresztő típusúak, ami azt jelenti, hogy felhúzó ellenállásokra van szükségük, amelyek pozitív tápvezetékhez vannak csatlakoztatva, hogy magas logikai értéket biztosítsanak. A logika csökkentése érdekében a buszon lévő bármely eszköz lehúzhatja a vonalat a közös földhöz.

Az I2C szabvány szerint a mester eszköz szolgáltatja az órajelet az SCL vonalon, de ha ez az arány túl gyors, akkor a slave eszköz lelassíthatja azt, egyszerűen lenyomva tartva az óravonalat, amíg készen áll a kereskedésre az információkkal. Ezt hívjuk "órafeszítésnek".

Hivatalosan az órahúzás opcionális szolgáltatásként szerepelt az I2C szabványban, de ez egy nagyon gyakori jellemző, amely a legtöbb "intelligens" rabszolga számára szükséges, és amelyeknek több időre van szükségük az érzékelőadatok biztosításához stb.

2. lépés: Egy kis segítség a repülő sertésektől

Ennek az I2C h/w hibának a kezeléséhez találtunk egy szép kis ingyenes könyvtárat "pigpio" néven. Ez egy nagyon népszerű, gyors és könnyű könyvtár, C nyelven írva. Háttérdémonként fut a Raspberry Pi számára, és lehetővé teszi számunkra, hogy könnyen vezérelhessük az I2C -t, valamint bármely GPIO -t a python segítségével. A könyvtár az I2C portokat inkább GPIO -ként kezeli, és ezáltal megkerülte az I2C óra nyújtási hibáját. Mint minden szoftver a pi -n, a pigpio könyvtár is csak egy egyszerű "tartalmazza", szóval menjünk!

3. lépés: TL; DR verzió

Telepítse a Pi -t Engedélyezze az SSH -t a Putty -val való bejelentkezéshez Pigpio -könyvtár telepítése Apró LiDAR zip -fájl beszerzése Csomagolja ki és futtassa a Putty -ból

Választható:

A SublimeText beállítása WinSCP -vel

4. lépés: Telepítés

Telepítés
Telepítés

A Raspberry Pi 3 esetében a szokásos New Out Of the Box Software (NOOBS Lite v2.4) operációs rendszert használtuk. Ez tartalmazza a Python alapértelmezett verzióját, amely már telepítve van a kódolásra. Az operációs rendszert innen töltheti le.

Miután telepítette a micro SD kártyára, csatlakoztatnia kell a billentyűzetet és a monitort, hogy először bejelentkezhessen a pi -be:

Felhasználónév: pi Jelszó: málna

Ezután elindíthatja a biztonságos shell szervert (SSH) a következő parancsokkal:

sudo systemctl engedélyezze az sshsudo systemctl start ssh parancsot

Ezután szükségünk lesz a hálózat IP -címére, hogy bejelentkezhessünk a PuTTY segítségével. Ennek megszerzéséhez csak írja be:

hosztnév -Én

És keressen egy IPv4 formátumú címet (a beállításunkhoz ez volt: 192.168.0.27)

A fenti lépések lehetővé teszik, hogy a pi "fejetlenül" fusson, ami azt jelenti, hogy nem kell újra gépelnie ezen a billentyűzeten, és nincs szükség videómonitorra sem. A továbbiakban biztonságos SSH kapcsolaton keresztül jelentkezünk be a hálózatba. A fenti parancs hatására az SSH szerver automatikusan elindul a pi bekapcsolásakor. Ez kényelmes számunkra kódolás közben, de később biztonsági kockázatot jelenthet (paranoiásnak lenni jó), így ha készen áll, letilthatja ezt az automatikus indítású SSH funkciót a következő paranccsal:

sudo systemctl letiltja az ssh -t

Ezt a parancsot természetesen a pi -hez csatlakoztatott billentyűzeten kell beírni.

A PuTTY egy terminál program, amely parancsokat kell kiadnia a számítógépről a pi -re, így innen kell letöltenie a legújabb példányt.

Telepítse és indítsa el a PuTTY -t. Be kell írnia az IP -címet felülről a Host Name bejegyzéshez, és az alapértelmezett SSH -beállításokat kell használnia. Adja meg a munkamenetnek a kívánt nevet, majd nyomja meg a Mentés gombot. Ezután nyomja meg a terhelést, és kattintson az OPEN gombra a munkamenet elindításához.

El kell jutnia a pi bejelentkezési képernyőjéhez. Használja ugyanazt a felhasználónevet és jelszót, mint korábban.

5. lépés: Telepítse a Pigpio programot

Most már csak a pigpio könyvtárat kell telepítenünk, és ezt a következő parancsokkal tehetjük meg.

Tipp: Egyszerűen lemásolhatja a [ctrl+c] billentyűt, és beillesztheti [az egér jobb gombjával] ezeket és minden más parancsot a PuTTY terminálba

sudo apt-get update

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

6. lépés: Választható: Fejlesztői rendszer beállítása

Opcionális: Fejlesztői rendszer beállítása
Opcionális: Fejlesztői rendszer beállítása

Tehát itt van egy tipp, amely segíthet időt spórolni a kódfejlesztési világban. Nagyon utáljuk a unix alapú szövegszerkesztőket. A felhasználói felület általában ügyetlen, és a betűtípusok szarok. A GNU nano szinte elviselhető, de egyik sem olyan kifinomult, mint a SublimeText, amelyet innen tölthet le

Van egy Windows alapú fejlesztői környezetünk, és szeretjük használni ezt a szövegszerkesztőt, amikor csak lehetséges. Tehát a tipp itt a rendszer beállítása, hogy ezt a professzionális szövegszerkesztőt natív módon használhassa a Windows asztalon, hogy közvetlenül kódolja a fej nélküli pi -t.

Hogyan? A WinSCP nevű ingyenes alkalmazás használatával, amelyet innen tölthet le

7. lépés: A WinSCP beállítása

A WinSCP beállítása
A WinSCP beállítása
A WinSCP beállítása
A WinSCP beállítása

A WinSCP egy biztonságos fájlátviteli program, amely grafikusan ábrázolja az rpi -n lévő fájlokat, például a Windows PC fájlkezelőjében látottakat.

Tehát folytassa és telepítse a fenti két programot is.

Ezután néhány beállítást kell végrehajtania, hogy mindegyik megfelelően működjön.

WinSCP esetén kattintson az ÚJ webhelyre. Az alapértelmezett SFTP -beállításokat fogjuk használni, és csak a pi -je IP -címét (a gazdagép nevét) és a bejelentkezési nevet (a Felhasználónév) kell megadnia. Ha szeretné, üresen hagyhatja a jelszót - ez minden bejelentkezéskor megkéri a jelszót.

Ezután kattintson a Speciális gombra, majd a bal oldalon kattintson a Környezeti héj beállításai elemre. A jobb oldalon módosítsa az "Alapértelmezett" lehúzást a "sudo su -" opcióra. Ez lehetővé teszi a módosítások írását a pi -be engedélyezési hibák nélkül, amikor a SublimeText mentése gombra kattint.

Állítsa a SublimeText -t alapértelmezett szerkesztőnek a WinSCP -ben

Ehhez kattintson az Eszközök gombra a WinSCP bejelentkezési beállítások képernyőn, ahol elindította az Új webhely párbeszédpanelt. A két képernyőképen látható, hogy ez hogyan van konfigurálva, de alapvetően rákattint a Szerkesztők beállítására, és hozzáad egy szerkesztőt, amely külső szerkesztő lesz. Ezután tallózhat a számítógépen található szerkesztő.exe fájljában.

8. lépés: (w) a kód beszerzése

w) a kódex beszerzése
w) a kódex beszerzése

Ha kész, jelentkezzen be WinSCP -vel és PuTTY -val.

Most már készen állunk, és elindíthatjuk a tinyLiDAR kódunkat.

Hozzon létre egy tinyLiDAR nevű könyvtárat az otthoni/pi könyvtár alatt.

Ezt úgy teheti meg, hogy a WinSCP képernyő jobb oldalán kattintson a jobb egérgombbal, és válassza az Új / Könyvtár lehetőséget.

Most a PuTTY terminálon gépelhet

cd t

és nyomja meg a tab billentyűt, hogy hagyja, hogy automatikusan kiegészítse a parancsot, hogy elérje a tinyLiDAR könyvtárat.

Itt írja be a következőt:

wget

hogy a fájlokat közvetlenül a szerverünkről szerezze be. Ezt követően gépeléssel kibonthatjuk őket

bontsa ki r

és nyomja meg a tab billentyűt a név automatikus kiegészítéséhez

A futtatásához csak írja be

python tlgui.py

A tinyLiDAR pedig minden parancsra válaszolni fog a pi -n:)

9. lépés: Megjegyzés hamarosan hackereknek

Nézze meg a motorháztetőt, és kattintson duplán a WinSCP bármelyik kódfájljára. Ők azok, akiknek.py kiterjesztése van. A fájloknak közvetlenül a számítógépen kell megnyílniuk a SublimeText fájlban. Változtasd meg, amit akarsz, majd nyomd meg a mentés gombot. A módosítások közvetlenül a pi -be kerülnek mentésre.

Ha készen áll, futtassa újra a legutóbb beírt parancs felfelé mutató nyíl gombjával, vagy írja be újra, és nyomja meg az enter billentyűt:

python tlgui.py

Lehet, hogy észrevette, hogy a Terminal GUI elrendezés kissé szebbnek tűnik, mint az Arduino verzió. Ez azért van, mert a PuTTY támogatja az unicode karaktereket, így néhány extra kurzorvezérlő karaktert is használhattunk, hogy kifinomultabb legyen.

Itt van egy hozzáadott parancs is (az Arduino verzióhoz képest), amely "dc" a Folyamatos olvasás funkcióhoz. Próbáld ki, és nézd meg, mit gondolsz.

Ez minden!

Köszönöm, hogy olvastál, és élvezem a hackelést a pi -n:)

Ajánlott: