Агуулгын хүснэгт:

Pi дээр TinyLiDAR ?: 9 алхам (зурагтай)
Pi дээр TinyLiDAR ?: 9 алхам (зурагтай)

Видео: Pi дээр TinyLiDAR ?: 9 алхам (зурагтай)

Видео: Pi дээр TinyLiDAR ?: 9 алхам (зурагтай)
Видео: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Аравдугаар сар
Anonim
Pi дээр TinyLiDAR?
Pi дээр TinyLiDAR?

Дахин сайн байна уу!

Та одоо tinyLiDAR болон Arduino -тойгоо цагийг сайхан өнгөрөөсөн болохоор таны Raspberry Pi жаахан ганцаардсан байх шиг байна;)

Pi нь I2C порттой юу? Тэгэхээр яагаад үүнийг холбоод тэнд туршиж үзэхгүй байна вэ?! Сайн төлөвлөгөө, гэхдээ хэрэв та аль хэдийн туршиж үзсэн бол өгөгдөл жаахан хачин харагдаж байгааг та анзаарсан байх.

Тиймээ, pi нь аль хэдийн 1.8K татан авалт хийсэн тул та 4.7K таталтыг хэлхээнээс гаргахын тулд tinyLiDAR дээрх I2C дэвсгэрийг хайчилж авах хэрэгтэй болно. Дэлгэрэнгүй мэдээллийг лавлах гарын авлагаас үзнэ үү. Гэхдээ энэ нь хачин өгөгдлийн шалтгаан биш юм.

Энэ нь pi -ийн I2C автобус нь техникийн үзүүлэлтэд нийцэхгүй байгаатай холбоотой юм. Pi нь Broadcom чипний ачаар анх танилцуулагдсанаас хойш ийм болсон. Тэд анхнаасаа "цаг сунгах" гэж нэрлэгддэг I2C функцийг зохих ёсоор дэмжиж байгаагүй.

Та энэ h/w алдааны талаар илүү ихийг эндээс унших боломжтой.

Алхам 1: Цаг сунгах гэж юу вэ?

Цаг сунгах гэж юу вэ?
Цаг сунгах гэж юу вэ?

I2C автобус нь 3 утаснаас бүрдэнэ. Эдгээр нь цаг (SCL), өгөгдөл (SDA) болон нийтлэг ойлголтод зориулагдсан болно. Цаг ба өгөгдлийн шугамууд нь нээлттэй коллектор/задгай ус зайлуулах хэлбэртэй бөгөөд энэ нь логикийг өгөхийн тулд эерэг тэжээлийн төмөр замд холбогдсон татах эсэргүүцэл хэрэгтэй гэсэн үг юм. Логикийг доогуур байлгахын тулд автобусанд байгаа ямар ч төхөөрөмж шугамыг нийтлэг газар руу татах боломжтой.

I2C стандартын дагуу Мастер төхөөрөмж нь SCL шугам дээрх цагийн дохиог нийлүүлдэг төхөөрөмж боловч хэрэв энэ хурд хэт хурдан байвал Slave төхөөрөмжийг цагны шугамыг ажиллуулахад бэлэн болтол нь дарж удаашруулахыг зөвшөөрдөг. мэдээллийн хамт. Үүнийг бид "цаг сунгах" гэж нэрлэдэг.

Албан ёсоор цаг сунгах нь I2C стандартын нэмэлт шинж чанаруудын жагсаалтад багтсан боловч энэ нь мэдрэгчийн өгөгдлийг өгөхөд нэмэлт цаг шаардагддаг ихэнх "ухаалаг" боолуудад шаардлагатай маш түгээмэл шинж чанар юм.

Алхам 2: Нисдэг гахайнуудын бяцхан тусламж

Энэхүү I2C h/w алдааг шийдвэрлэхийн тулд бид "pigpio" нэртэй бяцхан үнэгүй номын сан оллоо. Энэ нь C хэл дээр бичигдсэн маш алдартай, хурдан бөгөөд хөнгөн номын сан юм. Энэ нь Raspberry Pi -ийн арын демон хэлбэрээр ажилладаг бөгөөд I2C болон аливаа GPIO -г python -оос хялбархан удирдах боломжийг олгодог. Номын сан нь I2C портуудтай GPIO шиг харьцдаг бөгөөд ингэснээр I2C цаг сунгах алдааг давсан болно. Pi дээрх бүх програм хангамжийн нэгэн адил pigpio номын сан нь зүгээр л энгийн "оруулах" боломжтой тул явцгаая!

Алхам 3: TL; DR хувилбар

Pi -ийг тохируулах SSH -ийг Putty -ээр нэвтрэхийг зөвшөөрөх pigpio номын санг суулгах tinyLiDAR зип файлыг татаж авах, Putty -ээс ажиллуулах.

Нэмэлт:

WinSCP ашиглан SublimeText -ийг тохируулах

Алхам 4: Суурилуулалт

Суурилуулалт
Суурилуулалт

Raspberry Pi 3 -ийн хувьд бид стандарт New Out of Box програм хангамж (NOOBS Lite v2.4) үйлдлийн системийг ашигласан. Энэ нь бидэнд код бичихэд бэлэн болсон Python -ийн үндсэн хувилбарыг агуулдаг. Та эндээс OS татаж авах боломжтой.

Бичил SD картанд суулгасны дараа та гар болон дэлгэцийг холбох хэрэгтэй бөгөөд ингэснээр та pi -д анх удаа нэвтрэх боломжтой болно.

Хэрэглэгчийн нэр: pi Нууц үг: бөөрөлзгөнө

Дараа нь та эдгээр тушаалаар аюулгүй бүрхүүлийн сервер (SSH) эхлүүлж болно.

sudo systemctl sshsudo systemctl start ssh -ийг идэвхжүүлнэ

Дараа нь бид таны сүлжээнд pi -ийн IP хаяг хэрэгтэй болно, ингэснээр бид PuTTY -ээр нэвтрэх боломжтой болно. Үүнийг авахын тулд зүгээр л бичнэ үү:

хостын нэр -I.

IPv4 форматтай хаягийг хайж олоорой (Бидний тохиргооны хувьд энэ нь 192.168.0.27 байсан)

Дээрх алхмууд нь pi -г "толгойгүй" ажиллуулах боломжийг олгоно, энэ нь та энэ гар дээр дахин бичих шаардлагагүй бөгөөд видео монитор хийх шаардлагагүй болно гэсэн үг юм. Бид цаашид SSH аюулгүй холболтоор сүлжээгээр нэвтрэх болно. Дээрх тушаал нь pi -г асаах бүрт SSH серверийг автоматаар ажиллуулахад хүргэдэг. Энэ нь код бичих явцад бидэнд тохиромжтой боловч хожим нь аюулгүй байдлын эрсдэлтэй байж магадгүй (гаж донтой байх нь сайн), хэрэв та бэлэн болсон бол энэ командыг ашиглан SSH автоматаар эхлүүлэх боломжийг идэвхгүй болгож болно.

sudo systemctl ssh -ийг идэвхгүй болгох

Энэ тушаалыг мэдээж pi -тэй холбогдсон гар дээр бичих ёстой.

PuTTY бол компьютерээс pi руу тушаал өгөх шаардлагатай терминал програм бөгөөд та хамгийн сүүлийн хуулбарыг эндээс авах ёстой.

PuTTY -ийг суулгаж эхлүүлнэ үү. Та хостын нэр дээр IP хаягийг дээрээс бичээд SSH -ийн анхдагч тохиргоог ашиглах шаардлагатай болно. Хуралд хүссэн нэрээ өгөөд хадгална уу. Дараа нь load дарж OPEN дарж сесс эхлүүлнэ үү.

Энэ нь таныг pi -ийн нэвтрэх дэлгэц рүү оруулах ёстой. Өмнө нь ашиглаж байсан хэрэглэгчийн нэр, нууц үгээ ашиглана уу.

Алхам 5: Pigpio суулгана уу

Үүний дараа бидний суулгах ёстой цорын ганц зүйл бол pigpio номын сан байх бөгөөд бид дараах тушаалуудыг ашиглан үүнийг хийж чадна.

Зөвлөгөө: Та эдгээр болон бусад тушаалуудыг [ctrl+c] хуулж [хулганы баруун товчийг дараад] PuTTY терминал руу буулгаж болно.

sudo apt-get update

sudo apt-get pigpio python-pigpio python3-pigpio суулгах

Алхам 6: Нэмэлт: Dev системийн тохиргоо

Нэмэлт: Dev системийн тохиргоо
Нэмэлт: Dev системийн тохиргоо

Тиймээс таны код боловсруулах ертөнцөд хэсэг хугацаа хэмнэхэд туслах зөвлөмжийг энд оруулав. Бид unix дээр суурилсан текст засварлагчдыг үнэхээр үзэн яддаг. Хэрэглэгчийн интерфэйс нь ихэвчлэн болхи бөгөөд фонтууд нь хөхдөг. GNU нано нь бараг тэсвэрлэх чадвартай боловч эндээс татаж авах боломжтой SublimeText шиг нарийн зүйл байхгүй

Бид цонхонд суурилсан хөгжлийн орчинтой бөгөөд боломжтой бол энэ текст засварлагчийг ашиглах дуртай. Энд байгаа зөвлөгөө бол энэхүү мэргэжлийн текст засварлагчийг өөрийн Windows ширээний компьютер дээр өөрийн толгойгүй pi дээр шууд код бичих боломжтой болгохын тулд системийг тохируулах явдал юм.

Яаж? WinSCP нэртэй үнэгүй програмыг ашиглан эндээс татаж авах боломжтой

Алхам 7: WinSCP -ийг тохируулах

WinSCP -ийг тохируулж байна
WinSCP -ийг тохируулж байна
WinSCP -ийг тохируулж байна
WinSCP -ийг тохируулж байна

WinSCP бол таны компьютер дээрх файлын менежерээс харж буй зүйл шиг rpi дээр байгаа файлуудын график дүрслэлийг өгдөг найдвартай файл дамжуулах програм юм.

Дээрх хоёр програмыг одоо суулгаад үргэлжлүүлээрэй.

Дараа нь бүгдийг нь зөв ажиллуулахын тулд та хэд хэдэн тохируулга хийх хэрэгтэй болно.

WinSCP -ийн хувьд та шинэ сайт дээр дарж болно. Бид SFTP -ийн анхдагч тохиргоог ашиглах бөгөөд та зөвхөн pi хаягийнхаа IP хаяг (Хостын нэрийн хувьд) болон нэвтрэх нэрийг (Хэрэглэгчийн нэрийн хувьд) оруулах хэрэгтэй. Хэрэв та хүсвэл нууц үгээ хоосон орхиж болно - энэ нь таныг нэвтрэх бүрт нууц үгээ оруулах болно.

Дараа нь Advanced товчлуур дээр дараад Environment Shell -ийн тохиргоог харахын тулд зүүн талд нь дарна уу. Баруун талд байгаа "Анхдагч" товчлуурыг доошлуулаад "sudo su -" сонголтыг сонгоно уу. Энэ нь SublimeText -аас хадгалах товчлуурыг дарахад өөрчлөлтийг зөвшөөрөлгүйгээр алдаа бичихгүйгээр бичих боломжийг танд олгоно.

SublimeText -ийг WinSCP дээр Default Editor болгож тохируулаарай

Үүнийг хийхийн тулд NewSite харилцах цонхыг эхлүүлсэн WinSCP Login тохиргооны дэлгэц дээрх Tools товчийг дарна уу. Хоёр дэлгэцийн зураг нь үүнийг хэрхэн тохируулж байгааг харуулдаг боловч үндсэндээ та засварлагчдын сонголтыг тохируулахын тулд дарж, гадаад засварлагч болох редактор нэмэх болно. Дараа нь та энэ засварлагч компьютер дээрээ хаана байрладаг.exe файлыг үзэх боломжтой.

Алхам 8: (w) кодыг авах

(w) Код авах
(w) Код авах

Үүнийг хийсний дараа WinSCP болон PuTTY ашиглан нэвтэрнэ үү.

Одоо бид tinyLiDAR кодоо эхлүүлэх боломжтой боллоо.

Гэр/pi лавлахынхаа дор tinyLiDAR нэртэй лавлах үүсгээрэй.

Та үүнийг WinSCP дэлгэцийн баруун талд хулганы баруун товчлуур дээр дарж Шинэ / лавлахыг сонгож хийж болно.

Одоо PuTTY терминал дээр та бичиж болно

cd t

tinyLiDAR лавлах руу орохын тулд командыг автоматаар бөглөхийн тулд табыг дарна уу.

Энд нэг удаа дараах зүйлийг бичнэ үү.

wget

файлуудыг манай серверээс шууд авах. Дараа нь бид тэдгээрийг бичих замаар задлах боломжтой

задлах r

табыг дарж нэрийг дахин автоматаар бөглөнө үү

Үүнийг ажиллуулахын тулд зүгээр л бичнэ үү

python tlgui.py

Таны tinyLiDAR нь pi дээрх бүх тушаалд чинь хариу өгөх болно:)

Алхам 9: Удахгүй болох хакеруудын анхааруулга

WinSCP -ийн кодын файлуудын аль нэг дээр давхар товшиж, бүрээсний доороос үзээрэй. Тэд.py өргөтгөлтэй хүмүүс юм. Файлууд SublimeText дээр шууд компьютер дээрээ нээгдэх ёстой. Хүссэн зүйлээ өөрчилж, хадгалах товчийг дарна уу. Таны өөрчлөлтийг таны pi -д шууд хадгалах болно.

Бэлэн болмогц та сүүлчийн бичсэн командын дээш харуулах товчийг ашиглан дахин ажиллуулна уу эсвэл дахин оруулаад enter дарна уу.

python tlgui.py

Та Terminal GUI -ийн зохион байгуулалт нь Arduino хувилбараас арай гоё харагдаж байгааг анзаарсан байх. Учир нь PuTTY нь юникод тэмдэгтүүдийг дэмждэг тул курсорыг хянах нэмэлт тэмдэгтүүдийг ашиглан илүү боловсронгуй болгож чадсан юм.

Энд бас (Arduino хувилбартай харьцуулахад) тасралтгүй унших функцын "dc" гэсэн нэмэлт тушаал байна. Үүнийг туршаад юу бодож байгаагаа үзээрэй.

Тэгээд л болоо!

Уншсанд баярлалаа, pi дээр хакердах дуртай:)

Зөвлөмж болгож буй: