Obsah:

TinyLiDAR na Pi?: 9 krokov (s obrázkami)
TinyLiDAR na Pi?: 9 krokov (s obrázkami)

Video: TinyLiDAR na Pi?: 9 krokov (s obrázkami)

Video: TinyLiDAR na Pi?: 9 krokov (s obrázkami)
Video: 10 привычек, чтобы стать счастливым 2024, November
Anonim
TinyLiDAR na Pi?
TinyLiDAR na Pi?

Ahoj zas!

Teraz, keď ste strávili nejaký kvalitný čas s tinyLiDAR a vašim Arduino - vašim Raspberry Pi sa možno cítite trochu osamelo;)

Pi má port I2C, však? Tak prečo to nespojiť a neskúsiť to tam ?! Dobrý plán, ale ak ste to už skúsili - možno ste si všimli, že údaje vyzerajú trochu zvláštne.

Áno, pi má vstavané príťahy 1,8 kB, takže budete musieť na IniC I5C odstrihnúť podložky, aby ste vytiahli 4,7 kB prípojok z obvodu-podrobnosti nájdete v referenčnej príručke. To však nie je dôvod na podivné údaje.

Je to preto, že zbernica pi I2C nie je presne podľa špecifikácií. Je to tak už od prvého zavedenia pí kvôli čipovej sade Broadcom. Od samého začiatku správne nepodporovali funkciu I2C nazývanú „rozťahovanie hodín“.

Viac o tejto H/W chybe si môžete prečítať tu.

Krok 1: Čo sú hodiny naťahovanie?

Čo je to natiahnutie hodín?
Čo je to natiahnutie hodín?

Ako možno viete, zbernica I2C pozostáva z 3 vodičov. Sú určené pre hodiny (SCL), dáta (SDA) a spoločné základy. Hodinové a dátové vedenia sú typu s otvoreným kolektorom/s otvoreným odtokom, čo znamená, že potrebujú zdvíhacie odpory pripojené k kladnej napájacej koľajnici, aby mali logickú výšku. Aby to bolo logické, akékoľvek zariadenie v autobuse môže ťahať vedenie po spoločnej zemi.

Podľa štandardu I2C je zariadenie Master zariadenie, ktoré dodáva hodinový signál na linke SCL, ale ak je táto rýchlosť príliš vysoká, zariadenie Slave ho môže spomaliť jednoduchým podržaním hodinového riadka, kým nie je pripravený na obchodovanie. s informáciami. Tomu hovoríme „naťahovanie hodín“.

Oficiálne bolo natiahnutie hodín uvedené ako voliteľná funkcia v štandarde I2C, ale je to veľmi bežná funkcia, ktorá je potrebná pre väčšinu „inteligentných“otrokov, ktorí potrebujú určitý čas na poskytnutie údajov zo senzorov atď.

Krok 2: Malá pomoc ošípaných, ktoré lietajú

Aby sme sa vysporiadali s touto H/W chybou I2C, našli sme peknú malú bezplatnú knižnicu s názvom „pigpio“. Je to veľmi populárna, rýchla a ľahká knižnica napísaná v jazyku C. Beží ako démon na pozadí pre Raspberry Pi a umožňuje nám ľahko ovládať I2C, ako aj akékoľvek GPIO z pythonu. Knižnica zaobchádza s portami I2C viac ako s GPIO, a tým obišla chybu natiahnutia hodín I2C. Rovnako ako všetok softvér na pi, knižnica pigpio je len jednoduchým „zahrnutím“, takže poďme!

Krok 3: TL; Verzia DR

Nastavte PiEnable SSH pre prihlásenie pomocou Putty Nainštalujte knižnicu pigpio Získať zip súbor tinyLiDAR Rozbaľte a spustite z Putty

Voliteľné:

Nastavte SublimeText pomocou WinSCP

Krok 4: Inštalácia

Inštalácia
Inštalácia

Pre náš Raspberry Pi 3 sme použili štandardný operačný systém New Out Of the Box Software (NOOBS Lite v2.4). Obsahuje predvolenú verziu Pythonu, ktorá je už nainštalovaná a je pripravená na kódovanie. Odtiaľto si môžete stiahnuť OS.

Po inštalácii na kartu micro SD musíte pripojiť klávesnicu a monitor, aby ste sa mohli prvýkrát prihlásiť do siete pi:

Používateľské meno: pi Heslo: malina

Potom môžete spustiť zabezpečený shell server (SSH) pomocou týchto príkazov:

sudo systemctl povoliť sshsudo systemctl začať ssh

Ďalej budeme potrebovať IP adresu pí vo vašej sieti, aby sme sa mohli prihlásiť pomocou PuTTY. Ak to chcete urobiť, zadajte:

názov hostiteľa -I

A vyhľadajte adresu vo formáte IPv4 (pre naše nastavenie to bolo: 192.168.0.27)

Vyššie uvedené kroky umožnia pí bežať „bez hlavy“, čo znamená, že na tejto klávesnici už nebudete musieť písať a už nie je potrebný ani monitor videa. Do budúcnosti sa budeme prihlasovať do siete prostredníctvom zabezpečeného pripojenia SSH. Vyššie uvedený príkaz spôsobí, že sa server SSH automaticky spustí pri každom zapnutí pí. Pri kódovaní je to pre nás výhodné, ale neskôr to môže predstavovať bezpečnostné riziko (byť paranoidný je dobré), takže keď budete pripravení, môžete túto funkciu automatického spustenia SSH vypnúť pomocou tohto príkazu:

sudo systemctl vypnúť ssh

Tento príkaz by ste mali napísať samozrejme na klávesnici pripojenej k pí.

PuTTY je terminálový program, ktorý je potrebný na zadávanie príkazov z počítača na pi, takže by ste si mali vziať najnovšiu kópiu odtiaľto.

Nainštalujte a spustite PuTTY. Do položky Názov hostiteľa budete musieť zadať adresu IP zhora a použiť predvolené nastavenia SSH. Dajte relácii ľubovoľný názov a kliknite na tlačidlo uložiť. Potom kliknite na načítať a kliknutím na OTVORIŤ spustite reláciu.

Malo by vás to dostať na prihlasovaciu obrazovku pre pi. Používajte rovnaké používateľské meno a heslo, aké ste použili predtým.

Krok 5: Nainštalujte Pigpio

Jediné, čo potom musíme nainštalovať, bude knižnica pigpio a môžeme to urobiť pomocou nasledujúcich príkazov.

Tip: Môžete jednoducho skopírovať [ctrl+c] a prilepiť [pravým tlačidlom myši] tieto a ďalšie príkazy do terminálu PuTTY

sudo apt-get aktualizácia

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

Krok 6: Voliteľné: Nastavenie systému Dev

Voliteľné: Nastavenie systému Dev
Voliteľné: Nastavenie systému Dev

Tu je tip, ktorý vám môže ušetriť čas vo svete vývoja kódu. Skutočne nenávidíme textové editory založené na unixe. Používateľské rozhranie je zvyčajne neohrabané a písma sú na nič. GNU nano je takmer znesiteľné, ale žiadne nie je také rafinované ako SublimeText, ktorý si môžete stiahnuť tu

Máme vývojové prostredie založené na systéme Windows a radi používame tento textový editor, kedykoľvek je to možné. Tip teda spočíva v nastavení systému, aby ste mohli používať tento profesionálny textový editor natívne na ploche systému Windows na priame kódovanie vášho bezhlavého pi.

Ako? Pomocou bezplatnej aplikácie s názvom WinSCP, ktorú si môžete stiahnuť tu

Krok 7: Nastavenie WinSCP

Nastavenie WinSCP
Nastavenie WinSCP
Nastavenie WinSCP
Nastavenie WinSCP

WinSCP je bezpečný program na prenos súborov, ktorý poskytuje grafické znázornenie súborov nachádzajúcich sa na vašom RPI, podobne ako to vidíte v správcovi súborov na počítači so systémom Windows.

Pokračujte a nainštalujte si teraz aj vyššie uvedené dva programy.

Ďalej budete musieť vykonať niekoľko úprav, aby všetky správne fungovali.

Pre WinSCP môžete kliknúť na NOVÚ stránku. Použijeme predvolené nastavenia SFTP a vy budete musieť zadať iba IP adresu (pre názov hostiteľa) vášho pi a prihlasovacie meno (pre používateľské meno). Pokiaľ chcete, môžete nechať heslo prázdne - pri každom prihlásení vás vyzve na zadanie hesla.

Potom kliknite na tlačidlo Rozšírené a potom kliknite na ľavej strane na položku Nastavenia prostredia Shell. Na pravej strane zmeňte potiahnutie „Predvolené“na možnosť „sudo su -“. To umožní zapísať zmeny do vášho súboru pi bez chýb povolení, keď kliknete na položku Uložiť zo SublimeTextu.

Nastavte SublimeText ako predvolený editor vo WinSCP

Ak to chcete urobiť, kliknite na tlačidlo Nástroje na obrazovke nastavení prihlásenia WinSCP, kde ste spustili dialógové okno NewSite. Dva zábery obrazovky ukazujú, ako je to nakonfigurované, ale v zásade kliknutím kliknete na položku Konfigurovať predvoľby editorov a Pridať editor, ktorý bude externým editorom. Potom môžete vyhľadať súbor.exe, kde sa tento editor nachádza vo vašom počítači.

Krok 8: (w) získanie kódu

(w) získanie Kódexu
(w) získanie Kódexu

Po dokončení pokračujte a prihláste sa pomocou WinSCP a PuTTY.

Teraz sme pripravení na spustenie nášho kódu tinyLiDAR.

V adresári home/pi vytvorte priečinok s názvom tinyLiDAR.

Môžete to urobiť kliknutím pravým tlačidlom myši na pravú stranu obrazovky WinSCP a zvolením položky Nový / Adresár.

Teraz na termináli PuTTY môžete písať

cd t

a stlačením tabulátora necháte automaticky dokončiť príkaz, aby ste sa dostali do adresára tinyLiDAR.

Akonáhle ste tu, zadajte nasledujúce:

wget

na získanie súborov priamo z nášho servera. Potom ich môžeme rozbaliť zadaním

rozbaliť r

a stlačením klávesu Tab znova automaticky doplňte názov

Ak ho chcete spustiť, stačí napísať

python tlgui.py

A váš tinyLiDAR bude reagovať na každý váš príkaz na pi:)

Krok 9: Poznámka pre čoskoro hackerov

Neváhajte sa pozrieť pod kapotu dvojitým kliknutím na ľubovoľný súbor kódu z WinSCP. Sú to tie s príponou.py. Súbory by sa mali otvoriť v programe SublimeText priamo vo vašom počítači. Zmeňte čokoľvek, čo sa vám páči, a potom kliknite na tlačidlo Uložiť. Vaše zmeny sa uložia priamo do vášho súboru pi.

Keď budete pripravení, spustíte ho znova pomocou klávesu so šípkou hore pre posledný zadaný príkaz alebo ho zadajte znova a stlačte kláves Enter:

python tlgui.py

Možno ste si všimli, že rozloženie grafického používateľského rozhrania terminálu vyzerá o niečo krajšie ako verzia Arduino. Je to preto, že PuTTY podporuje znaky unicode, takže sme mohli použiť niekoľko ďalších znakov na ovládanie kurzora, aby to vyzeralo rafinovanejšie.

Je tu tiež pridaný príkaz (v porovnaní s verziou Arduino), ktorý je „dc“pre funkciu nepretržitého čítania. Skúste to a uvidíte, čo si myslíte.

To je všetko!

Ďakujem za prečítanie a užívajte si hackovanie na pi:)

Odporúča: