Satura rādītājs:

TinyLiDAR uz Pi?: 9 soļi (ar attēliem)
TinyLiDAR uz Pi?: 9 soļi (ar attēliem)

Video: TinyLiDAR uz Pi?: 9 soļi (ar attēliem)

Video: TinyLiDAR uz Pi?: 9 soļi (ar attēliem)
Video: Йога для начинающих дома с Алиной Anandee #2. Здоровое гибкое тело за 40 минут. Универсальная йога. 2024, Novembris
Anonim
TinyLiDAR uz Pi?
TinyLiDAR uz Pi?

Sveiks atkal!

Tagad, kad esat pavadījis kvalitatīvu laiku kopā ar tinyLiDAR un savu Arduino - jūsu Raspberry Pi, iespējams, jūtas mazliet vientuļš;)

Pi ir I2C ports, vai ne? Tātad, kāpēc ne savienot to un izmēģināt to tur ?! Labs plāns, bet, ja jau esat mēģinājis - iespējams, pamanījāt, ka dati izskatās mazliet dīvaini.

Jā, pi jau ir iebūvējis 1,8K pievilkšanās, tāpēc jums būs jāsamazina I2C spilventiņi tinyLiDAR, lai izvilktu 4,7K pievilkšanas ķēdes-sīkāku informāciju skatiet atsauces rokasgrāmatā. Bet tas nav iemesls dīvainajiem datiem.

Tas ir tāpēc, ka pi I2C autobuss nav īsti līdz specifikācijām. Tā tas ir bijis kopš brīža, kad pi pirmo reizi tika ieviests Broadcom mikroshēmu komplekta dēļ. No paša sākuma viņi nav pareizi atbalstījuši I2C funkciju, ko sauc par "pulksteņa stiepšanu".

Vairāk par šo h/w kļūdu varat lasīt šeit.

1. darbība. Kas ir pulksteņa stiepšana?

Kas ir pulksteņa stiepšana?
Kas ir pulksteņa stiepšana?

Kā jūs zināt, I2C kopne sastāv no 3 vadiem. Tie attiecas uz pulksteni (SCL), datiem (SDA) un kopējo pamatu. Pulkstenis un datu līnijas ir atvērtā kolektora/atvērta iztukšošanas tipa, kas nozīmē, ka tiem ir nepieciešami pievilkšanas rezistori, kas savienoti ar pozitīvu barošanas sliedi, lai tiem būtu augsta loģika. Lai samazinātu loģiku, jebkura kopnes ierīce var novilkt līniju līdz kopējam pamatam.

Saskaņā ar I2C standartu galvenā ierīce ir tā, kas piegādā SCL līnijas pulksteņa signālu, bet, ja šis ātrums ir pārāk ātrs, tad vergu ierīcei ir atļauts to palēnināt, vienkārši turot nospiestu pulksteņa līniju, līdz tā ir gatava darbam ar informāciju. To mēs saucam par "pulksteņa stiepšanu".

Oficiāli pulksteņa izstiepšana tika iekļauta I2C standarta papildu funkcijā, taču tā ir ļoti izplatīta iezīme, kas nepieciešama lielākajai daļai "inteliģento" vergu, kuriem nepieciešams papildu laiks, lai sniegtu sensoru datus utt.

2. solis: neliela palīdzība no lidojošām cūkām

Lai tiktu galā ar šo I2C h/w kļūdu, mēs atradām jauku mazu bezmaksas bibliotēku ar nosaukumu "pigpio". Tā ir ļoti populāra, ātra un viegla bibliotēka, kas rakstīta C. Tā darbojas kā fona dēmons Raspberry Pi un ļauj mums viegli kontrolēt I2C, kā arī jebkuru GPIO no python. Bibliotēka pret I2C portiem izturas vairāk kā pret GPIO, un tādējādi ir apieta I2C pulksteņa izstiepšanas kļūda. Tāpat kā visa pi programmatūra, pigpio bibliotēka ir tikai vienkārša “iekļaušana”, tāpēc ejam!

3. darbība: TL; DR versija

Iestatiet Pi Iespējojiet SSH, lai pieteiktos, izmantojot Putty Instalējiet pigpio bibliotēku Iegūstiet tinyLiDAR zip failu Atvienojiet un palaidiet no Putty

Neobligāti:

Iestatiet SublimeText ar WinSCP

4. solis: uzstādīšana

Uzstādīšana
Uzstādīšana

Mūsu Raspberry Pi 3 mēs izmantojām standarta programmatūru New Out Of the Box (NOOBS Lite v2.4). Tajā ir jau instalēta noklusējuma Python versija, kas mums ir gatava kodēšanai. Jūs varat lejupielādēt OS no šejienes.

Kad esat instalējis micro SD karti, jums jāpievieno tastatūra un monitors, lai pirmo reizi varētu pieteikties pi:

Lietotājvārds: pi Parole: aveņu

Pēc tam varat palaist drošu čaulas serveri (SSH), izmantojot šīs komandas:

sudo systemctl iespējot sshsudo systemctl sākt ssh

Tālāk mums būs nepieciešama jūsu tīkla IP adrese, lai mēs varētu pieteikties, izmantojot PuTTY. Lai to iegūtu, vienkārši ierakstiet:

saimniekdatora nosaukums -es

Un meklējiet IPv4 formāta adresi (mūsu iestatīšanai tā bija: 192.168.0.27)

Iepriekš minētās darbības ļaus pi darboties bez galvas, kas nozīmē, ka jums vairs nevajadzēs rakstīt ar šo tastatūru, kā arī vairs nav nepieciešams video monitors. Turpmāk mēs pierakstīsimies tīklā, izmantojot drošu SSH savienojumu. Iepriekš minētā komanda liek SSH serverim automātiski palaist katru reizi, kad tiek ieslēgts pi. Tas mums ir ērti, kamēr kodējam, bet vēlāk tas varētu būt drošības risks (būt paranoiskam), tāpēc, kad esat gatavs, varat atspējot šo automātiskās palaišanas SSH funkciju, izmantojot šo komandu:

sudo systemctl atspējot ssh

Šī komanda jāievada, protams, pie tastatūras, kas savienota ar pi.

PuTTY ir termināļa programma, kas nepieciešama komandu izdošanai no datora uz pi, tāpēc jums vajadzētu paņemt jaunāko kopiju no šejienes.

Instalējiet un palaidiet PuTTY. Ievadot resursdatora nosaukumu, ievadiet IP adresi no augšas un izmantojiet noklusējuma SSH iestatījumus. Piešķiriet sesijai vajadzīgo nosaukumu un nospiediet Saglabāt. Pēc tam nospiediet slodzi un noklikšķiniet uz ATVĒRT, lai sāktu sesiju.

Tam vajadzētu nokļūt pi pieteikšanās ekrānā. Izmantojiet to pašu lietotājvārdu un paroli, ko izmantojāt iepriekš.

5. darbība: instalējiet Pigpio

Tagad vienīgā lieta, kas mums jāinstalē, būtu pigpio bibliotēka, un mēs to varam izdarīt, izmantojot šādas komandas.

Padoms: Jūs varat vienkārši nokopēt [ctrl+c] un ielīmēt [peles labo pogu] šīs un visas citas komandas PuTTY terminālī

sudo apt-get update

sudo apt-get instalēt pigpio python-pigpio python3-pigpio

6. darbība: pēc izvēles: izstrādātāja sistēmas iestatīšana

Pēc izvēles: izstrādātāja sistēmas iestatīšana
Pēc izvēles: izstrādātāja sistēmas iestatīšana

Tātad, šeit ir padoms, kas var palīdzēt ietaupīt laiku jūsu koda izstrādes pasaulē. Mēs patiešām ienīstam uz unix balstītos teksta redaktorus. Lietotāja interfeiss parasti ir neveikls, un fonti ir neērti. GNU nano ir gandrīz panesams, taču neviens nav tik izsmalcināts kā SublimeText, ko varat lejupielādēt no šejienes

Mums ir uz Windows balstīta izstrādes vide, un mums patīk izmantot šo teksta redaktoru, kad vien iespējams. Tātad padoms šeit ir sistēmas iestatīšana, lai varētu izmantot šo profesionālo teksta redaktoru savā Windows darbvirsmā, lai tieši kodētu jūsu bezgalvaino pi.

Kā? Izmantojot bezmaksas lietotni ar nosaukumu WinSCP, kuru varat lejupielādēt šeit

7. darbība: WinSCP iestatīšana

WinSCP iestatīšana
WinSCP iestatīšana
WinSCP iestatīšana
WinSCP iestatīšana

WinSCP ir droša failu pārsūtīšanas programma, kas grafiski attēlo jūsu rpi veida failus, piemēram, to, ko redzat Windows datora failu pārvaldniekā.

Tāpēc turpiniet un instalējiet iepriekš minētās divas programmas.

Tālāk jums būs jāveic daži pielāgojumi, lai tie visi darbotos pareizi.

WinSCP gadījumā varat noklikšķināt uz JAUNA vietne. Mēs izmantosim noklusējuma SFTP iestatījumus, un jums būs jāievada tikai jūsu pi IP adrese (resursdatora nosaukumam) un pieteikšanās vārds (lietotājvārdam). Ja vēlaties, varat atstāt paroli tukšu - tā prasīs ievadīt paroli katru reizi, kad piesakāties.

Pēc tam noklikšķiniet uz pogas Papildu un pēc tam noklikšķiniet uz kreisās puses, lai skatītu vides apvalka iestatījumus. Labajā pusē mainiet “Noklusējums” uz leju līdz opcijai “sudo su -”. Tas ļaus ierakstīt izmaiņas jūsu pi bez atļaujas kļūdām, kad noklikšķināsit uz Saglabāt no SublimeText.

Iestatiet SublimeText kā noklusējuma redaktoru programmā WinSCP

Lai to izdarītu, WinSCP pieteikšanās iestatījumu ekrānā noklikšķiniet uz pogas Rīki, kurā sākāt dialoglodziņu Jaunā vietne. Abi ekrānuzņēmumi parāda, kā tas ir konfigurēts, taču būtībā jūs noklikšķināsit, lai konfigurētu redaktoru izvēli, un pievienojiet redaktoru, kas būs ārējs redaktors. Pēc tam varat pārlūkot.exe failu, kurā atrodas jūsu datorā šis redaktors.

8. darbība: (w) koda iegūšana

w) Kodeksa iegūšana
w) Kodeksa iegūšana

Kad esat pabeidzis, piesakieties, izmantojot WinSCP un PuTTY.

Tagad esam gatavi un varam sākt savu tinyLiDAR kodu.

Mājas/pi direktorijā izveidojiet direktoriju ar nosaukumu tinyLiDAR.

To var izdarīt, ar peles labo pogu noklikšķinot uz WinSCP ekrāna labās puses un izvēloties New / Directory.

Tagad PuTTY terminālī varat rakstīt

cd t

un nospiediet tab, lai ļautu tai automātiski pabeigt jūsu komandu, lai nokļūtu tinyLiDAR direktorijā.

Kad esat šeit, ierakstiet šo:

wget

lai iegūtu failus tieši no mūsu servera. Pēc tam mēs varam tos izpakot, ierakstot

izpakot r

un nospiediet tabulēšanas taustiņu, lai vēlreiz automātiski pabeigtu nosaukumu

Lai to palaistu, vienkārši ierakstiet

python tlgui.py

Un jūsu tinyLiDAR atbildēs uz katru komandu uz pi:)

9. solis. Piezīme drīziem hakeriem

Iet uz priekšu un apskatiet zem pārsega, veicot dubultklikšķi uz jebkura WinSCP koda faila. Tie ir tie, kuriem ir.py paplašinājums. Failiem SublimeText vajadzētu atvērt tieši datorā. Mainiet visu, kas jums patīk, un pēc tam noklikšķiniet uz Saglabāt. Jūsu veiktās izmaiņas tiks saglabātas tieši jūsu pi.

Kad esat gatavs, palaidiet to vēlreiz, izmantojot augšupvērsto bultiņas taustiņu pēdējai ievadītajai komandai, vai vienkārši ierakstiet to vēlreiz un nospiediet taustiņu Enter:

python tlgui.py

Iespējams, pamanījāt, ka termināļa GUI izkārtojums izskatās nedaudz jaukāks nekā Arduino versija. Tas ir tāpēc, ka PuTTY atbalsta unikoda rakstzīmes, tāpēc mēs varējām izmantot dažas papildu kursora vadības rakstzīmes, lai tas izskatītos izsmalcinātāk.

Šeit ir arī pievienota komanda (salīdzinājumā ar Arduino versiju), kas ir “dc” nepārtrauktas lasīšanas funkcijai. Izmēģiniet to un redziet, ko jūs domājat.

Tas ir viss!

Paldies, ka lasījāt, un izbaudiet hakeru uz pi:)

Ieteicams: