Turinys:
- 1 žingsnis: kas yra laikrodžio tempimas?
- 2 žingsnis: nedidelė skraidančių kiaulių pagalba
- 3 žingsnis: TL; DR versija
- 4 žingsnis: diegimas
- 5 veiksmas: įdiekite „Pigpio“
- 6 veiksmas: pasirinktinai: „Dev System Setup“
- 7 veiksmas: „WinSCP“nustatymas
- 8 žingsnis: (w) gaukite kodą
- 9 veiksmas: pastaba netrukus įsilaužėliams
Video: „TinyLiDAR“ant „Pi“?: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Labas dar kartą!
Dabar, kai praleidote kokybišką laiką su tinyLiDAR ir „Arduino“- jūsų „Raspberry Pi“galbūt jaučiasi šiek tiek vienišas;)
Pi turi I2C prievadą, tiesa? Taigi kodėl gi ne prijungti ir išbandyti ten ?! Geras planas, bet jei jau bandėte - galbūt pastebėjote, kad duomenys atrodo kiek keistai.
Taip, „pi“jau įdiegė 1,8K prisitraukimus, todėl turėsite nupjauti „I2C“pagalvėles „tinyLiDAR“, kad pašalintumėte 4,7K prisitraukimus-išsamiau žr. Tačiau tai nėra keistų duomenų priežastis.
Taip yra todėl, kad „Pi“I2C magistralė neatitinka specifikacijų. Taip buvo nuo tada, kai pi pirmą kartą buvo pristatytas dėl „Broadcom“mikroschemų rinkinio. Nuo pat pradžių jie netinkamai palaikė I2C funkciją, vadinamą „laikrodžio tempimu“.
Daugiau apie šią h/w klaidą galite perskaityti čia.
1 žingsnis: kas yra laikrodžio tempimas?
Kaip žinote, I2C magistralę sudaro 3 laidai. Jie skirti laikrodžiui (SCL), duomenims (SDA) ir bendram pagrindui. Laikrodis ir duomenų linijos yra atviro kolektoriaus/atviro nutekėjimo tipo, o tai reiškia, kad jiems reikia traukiamųjų rezistorių, prijungtų prie teigiamo tiekimo bėgio, kad jie būtų logiški. Kad būtų sumažinta logika, bet kuris magistralės įrenginys gali nutraukti liniją iki bendro pagrindo.
Pagal I2C standartą pagrindinis įrenginys tiekia laikrodžio signalą SCL linijoje, tačiau jei šis greitis yra per greitas, pavaldžiajam įrenginiui leidžiama jį sulėtinti, tiesiog laikant nuspaudus laikrodžio liniją, kol jis bus paruoštas veikti su informacija. Tai mes vadiname „laikrodžio tempimu“.
Oficialiai laikrodžio tempimas buvo įtrauktas į papildomą I2C standarto funkciją, tačiau tai yra labai įprasta funkcija, reikalinga daugeliui „protingų“vergų, kuriems reikia šiek tiek daugiau laiko pateikti jutiklių duomenis ir pan.
2 žingsnis: nedidelė skraidančių kiaulių pagalba
Norėdami susidoroti su šia I2C h/w klaida, radome gražią mažą nemokamą biblioteką, pavadintą „pigpio“. Tai labai populiari, greita ir lengva biblioteka, parašyta C. Ji veikia kaip „Raspberry Pi“fono demonas ir leidžia mums lengvai valdyti „I2C“ir bet kurį GPIO iš „python“. Biblioteka I2C prievadus traktuoja labiau kaip GPIO ir taip apeina I2C laikrodžio tempimo klaidą. Pigpio biblioteka, kaip ir visa pi programinė įranga, yra tik paprastas „įtraukimas“, todėl eikime!
3 žingsnis: TL; DR versija
Nustatykite „Pi“Įjunkite SSH, kad prisijungtumėte naudodami „Putty“Įdiekite „pigpio“biblioteką Gaukite mažą „LiDAR“zip failą
Neprivaloma:
Nustatykite „SublimeText“naudodami „WinSCP“
4 žingsnis: diegimas
„Raspberry Pi 3“naudojome standartinę „New Out Of the Box“(NOOBS Lite v2.4) operacinę sistemą. Jame jau yra įdiegta numatytoji „Python“versija, paruošta koduoti. Galite atsisiųsti OS iš čia.
Įdiegę „micro SD“kortelę, turite prijungti klaviatūrą ir monitorių, kad galėtumėte pirmą kartą prisijungti prie „pi“:
Vartotojo vardas: pi Slaptažodis: avietė
Tada galite paleisti saugų apvalkalo serverį (SSH) naudodami šias komandas:
sudo systemctl įgalinti sshsudo systemctl paleisti ssh
Tada mums reikės jūsų tinklo IP adreso, kad galėtume prisijungti naudodami „PuTTY“. Norėdami tai padaryti, tiesiog įveskite:
pagrindinio kompiuterio vardas -aš
Ir ieškokite IPv4 formato adreso (mūsų sąrankai tai buvo: 192.168.0.27)
Pirmiau minėti veiksmai leis „pi“paleisti „be galvos“, o tai reiškia, kad jums nebereikės rašyti šia klaviatūra, taip pat nebereikia vaizdo monitoriaus. Toliau prisijungsime prie tinklo naudodami saugų SSH ryšį. Aukščiau pateikta komanda priverčia SSH serverį automatiškai paleisti kiekvieną kartą, kai įjungiamas „pi“. Tai mums patogu koduojant, tačiau vėliau tai gali kelti pavojų saugumui (būti paranojiškam), todėl kai būsite pasiruošę, galite išjungti šią automatinio paleidimo SSH funkciją naudodami šią komandą:
sudo systemctl išjungti ssh
Ši komanda, žinoma, turėtų būti įvesta prie klaviatūros, prijungtos prie pi.
„PuTTY“yra terminalo programa, reikalinga norint išduoti komandas iš kompiuterio į „pi“, todėl turėtumėte paimti naujausią kopiją iš čia.
Įdiekite ir paleiskite „PuTTY“. Įvesdami pagrindinio kompiuterio pavadinimą, turėsite įvesti IP adresą iš viršaus ir naudoti numatytuosius SSH nustatymus. Sesijai suteikite bet kokį norimą pavadinimą ir paspauskite „Išsaugoti“. Tada paspauskite apkrovą ir spustelėkite ATIDARYTI, kad pradėtumėte sesiją.
Tai turėtų jus nukreipti į pi prisijungimo ekraną. Naudokite tą patį vartotojo vardą ir slaptažodį, kuriuos naudojote anksčiau.
5 veiksmas: įdiekite „Pigpio“
Dabar vienintelis dalykas, kurį turime įdiegti, yra „pigpio“biblioteka, ir mes galime tai padaryti naudodami šias komandas.
Patarimas: galite tiesiog nukopijuoti [ctrl+c] ir įklijuoti [pelės dešiniuoju pelės klavišu] šias ir bet kurias kitas komandas į „PuTTY“terminalą
sudo apt-get atnaujinimas
sudo apt-get install pigpio python-pigpio python3-pigpio
6 veiksmas: pasirinktinai: „Dev System Setup“
Taigi čia yra patarimas, kuris gali padėti sutaupyti šiek tiek laiko jūsų kodo kūrimo pasaulyje. Mes tikrai nekenčiame „Unix“pagrįstų teksto redaktorių. Vartotojo sąsaja paprastai yra gremėzdiška, o šriftai šlykštūs. „GNU nano“yra beveik pakenčiamas, tačiau nė vienas nėra toks patobulintas kaip „SublimeText“, kurį galite atsisiųsti iš čia
Turime „Windows“kūrimo aplinką ir mėgstame naudoti šį teksto rengyklę, kai tik įmanoma. Taigi patarimas yra nustatyti savo sistemą, kad galėtumėte naudoti šį profesionalų teksto redaktorių savo „Windows“darbalaukyje, kad galėtumėte tiesiogiai koduoti savo begalį.
Kaip? Naudodami nemokamą programą „WinSCP“, kurią galite atsisiųsti iš čia
7 veiksmas: „WinSCP“nustatymas
„WinSCP“yra saugi failų perkėlimo programa, suteikianti grafinį vaizdą apie jūsų „rpi“esančius failus, panašius į tai, ką matote „Windows“kompiuterio failų tvarkyklėje.
Taigi eikite į priekį ir dabar įdiekite dvi aukščiau pateiktas programas.
Toliau turėsite atlikti keletą pakeitimų, kad jie visi veiktų tinkamai.
„WinSCP“galite spustelėti NAUJA svetainė. Mes naudosime numatytuosius SFTP nustatymus ir jums reikės tik įvesti savo pi IP adresą (pagrindinio kompiuterio pavadinimą) ir prisijungimo vardą (vartotojo vardui). Jei norite, galite palikti slaptažodį tuščią - kiekvieną kartą prisijungus jis paprašys įvesti slaptažodį.
Tada spustelėkite mygtuką Išplėstinė, tada spustelėkite „Aplinkos apvalkalo“nustatymų kairę pusę. Dešinėje pusėje pakeiskite parinktį „Numatytasis“į parinktį „sudo su -“. Tai leis įrašyti pakeitimus į jūsų pi be leidimo klaidų, kai paspausite įrašyti iš „SublimeText“.
Nustatykite „SublimeText“kaip numatytąjį „WinSCP“redaktorių
Norėdami tai padaryti, spustelėkite „Įrankiai“mygtuką „WinSCP“prisijungimo nustatymų ekrane, kuriame pradėjote dialogą naujoje svetainėje. Dvi ekrano nuotraukos rodo, kaip tai sukonfigūruota, tačiau iš esmės spustelėsite, kad sukonfigūruotumėte redaktoriaus nuostatas, ir pridėkite redaktorių, kuris bus išorinis redaktorius. Tada galite ieškoti.exe failo, kuriame yra šis redaktorius jūsų kompiuteryje.
8 žingsnis: (w) gaukite kodą
Baigę eikite į priekį ir prisijunkite naudodami „WinSCP“ir „PuTTY“.
Dabar esame pasiruošę ir galime pradėti savo mažą „LiDAR“kodą.
Sukurkite katalogą „tinyLiDAR“savo namų/pi kataloge.
Tai galite padaryti dešiniuoju pelės klavišu spustelėdami dešinėje „WinSCP“ekrano pusėje ir pasirinkę Naujas / katalogas.
Dabar „PuTTY“terminale galite rašyti
cd t
ir paspauskite tabuliavimo klavišą, kad jis automatiškai užbaigtų jūsų komandą, kad patektumėte į tinyLiDAR katalogą.
Kai čia įveskite:
wget
gauti failus tiesiai iš mūsų serverio. Tada galime juos išpakuoti įvesdami
išpakuokite r
ir paspauskite skirtuką, kad vėl automatiškai užbaigtumėte pavadinimą
Norėdami jį paleisti, tiesiog įveskite
python tlgui.py
Ir jūsų tinyLiDAR atsakys į kiekvieną jūsų komandą pi:)
9 veiksmas: pastaba netrukus įsilaužėliams
Eikite į priekį ir pažiūrėkite po gaubtu, dukart spustelėdami bet kurį „WinSCP“kodo failą. Jie yra tie, kurių plėtinys.py Failai turėtų būti atidaryti „SublimeText“tiesiogiai jūsų kompiuteryje. Pakeiskite viską, kas jums patinka, tada spustelėkite „Išsaugoti“. Jūsų pakeitimai bus išsaugoti tiesiai į jūsų pi.
Kai būsite pasiruošę, paleisite jį dar kartą naudodami rodyklės aukštyn klavišą paskutinei įvestai komandai arba tiesiog įveskite dar kartą ir paspauskite „Enter“:
python tlgui.py
Galbūt pastebėjote, kad terminalo GUI išdėstymas atrodo šiek tiek gražesnis nei „Arduino“versija. Taip yra todėl, kad „PuTTY“palaiko unikodo simbolius, todėl galėjome naudoti keletą papildomų žymeklio valdymo simbolių, kad jis atrodytų rafinuotiau.
Čia taip pat yra papildoma komanda (palyginti su „Arduino“versija), kuri yra „dc“nuolatinio skaitymo funkcijai. Išbandykite ir pažiūrėkite, ką manote.
Tai viskas!
Dėkojame, kad skaitote, ir mėgaukitės įsilaužimu į pi:)
Rekomenduojamas:
Galingas dūmų ištraukėjas ant šarnyrinės rankos: 8 žingsniai (su nuotraukomis)
Galingas dūmų ištraukėjas ant šarnyrinės rankos: anksčiau turėjau porą litavimo dūmų ištraukiklių. Pirmasis neturėjo pakankamai galios, o antrasis buvo tik fiksuota dėžutė be jokių artikuliacinių variantų, daugeliu atvejų negalėjau rasti tinkamos padėties, ji buvo per žema arba labai atsiliko
Programinės įrangos radijas ant batų virvės: 9 žingsniai (su nuotraukomis)
Programinės įrangos radijas ant batų virvės: pradžioje buvo kristalų rinkinys - pirmasis praktinis radijo imtuvas. Tačiau jam reikėjo ilgos antenos ir galėjo priimti tik vietines stotis. Kai atsirado vožtuvai (vamzdžiai, mūsų draugams amerikiečiams), jie leido pastatyti daug daugiau
Raudona ant juodo: pagarba Tatlinui: 9 žingsniai (su nuotraukomis)
Raudona ant juodo: pagarba Tatlinui: šią kinetinę skulptūrą įkvėpė Tatlino bokštas - projektas, kurį rusų architektas Vladimiras Tatlinas sukūrė 1920 m. Bokšto plieninis rėmas, turintis dvigubos spiralės formą, turėjo palaikyti keturias geometrines formas (kubą). , piramis
Voro numetimas ant durų skambučio - Helovino išgąsčio išdaiga: 4 žingsniai (su nuotraukomis)
Voro numetimas ant durų skambučio - Helovino išgąsčio pokštas: Šį Heloviną mano sūnus Maksas sugalvojo numesti vorą ant visų, kurie bando paskambinti į mūsų durų skambutį … Aš iš karto šoktelėjau prie šios idėjos ir mes pradėjome dirbti. Naudojant paprastą ultragarsinį atstumo jutiklį (HC-SR04) ir servo, prijungtą prie
„Powertech: Crack Ant“: 6 žingsniai (su nuotraukomis)
„Powertech“: „Crack Ant“: štai kaip padaryti galios technologijų tvarinį Crakant. Autoriai: Harry Hollins ir Alex Grace. Medžiagos: 21 varžtas 21 veržlė, 1 akumuliatorius, 4 ratai, 2 varikliai, 2 raudoni laidai, 2 juodi laidai, 3 dvigubai