Satura rādītājs:
- 1. darbība. Kas ir pulksteņa stiepšana?
- 2. solis: neliela palīdzība no lidojošām cūkām
- 3. darbība: TL; DR versija
- 4. solis: uzstādīšana
- 5. darbība: instalējiet Pigpio
- 6. darbība: pēc izvēles: izstrādātāja sistēmas iestatīšana
- 7. darbība: WinSCP iestatīšana
- 8. darbība: (w) koda iegūšana
- 9. solis. Piezīme drīziem hakeriem
Video: TinyLiDAR uz Pi?: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
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?
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
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
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 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
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:
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
CircuitPython un TinyLiDAR: vienkāršs piemērs: 3 soļi
CircuitPython un TinyLiDAR: vienkāršs piemērs: MicroElectronicDesign tinyLiDAR ir uz ST VL53L0X balstīts lidojuma laika (ToF) diapazona modulis ar i2c kopnes savienojumu. Adafruit mikrokontrolleru plates ir viegli savienojamas ar šo sensoru, jo tās var runāt par i2c protokolu, izmantojot savu datu tapu
TinyLiDAR jūsu garāžā!: 10 soļi
TinyLiDAR jūsu garāžā!: DIY WiFi garāžas durvju atvēršanas projekts Tā ir tik liela iespēja! Tāpēc šī pamācības dēļ es
TinyLiDAR IoT: 3 soļi
TinyLiDAR IoT: Ja paskatīsities apkārt, pamanīsit, ka ikdienas dzīvē tiek izmantotas daudz gudru ierīču. Tie parasti tiek darbināti ar baterijām un parasti ir kaut kādā veidā savienoti ar internetu (pazīstami arī kā “mākonis”). Šīs visas mēs saucam par “IoT” ierīcēm, un tās
Vai es varu izmantot TinyLiDAR Scratch ?: 3 soļi
Vai es varu izmantot TinyLiDAR … Scratch ?: Ik pa laikam mēs saņemam pieprasījumus, lai pajautātu, vai tinyLiDAR strādās pie konkrētās skaitļošanas platformas. Lai gan tinyLiDAR tika izstrādāts kā vienkārši lietojams LiDAR sensors Arduino UNO, nekas netraucē to izmantot uz citas plates