Мазмуну:

Pi боюнча TinyLiDAR ?: 9 кадам (Сүрөттөр менен)
Pi боюнча TinyLiDAR ?: 9 кадам (Сүрөттөр менен)

Video: Pi боюнча TinyLiDAR ?: 9 кадам (Сүрөттөр менен)

Video: Pi боюнча TinyLiDAR ?: 9 кадам (Сүрөттөр менен)
Video: Тонкости работы с монтажной пеной. То, что ты не знал! Секреты мастеров 2024, Октябрь
Anonim
Pi боюнча TinyLiDAR?
Pi боюнча TinyLiDAR?

Дагы салам!

Эми сиз tinyLiDAR жана Arduino менен сапаттуу убакыт өткөрдүңүз - сиздин Raspberry Pi балким өзүн бир аз жалгыз сезет;)

Пи I2C порту бар, туурабы? Анда эмнеге аны илип, ошол жерден сынап көрбөйсүз ?! Жакшы план, бирок эгер сиз буга чейин аракет кылып көрсөңүз - бул маалыматтар бир аз кызыктай экенин байкагандырсыз.

Ооба, pi мурунтан эле 1.8K тарткычтарды куруп алган, ошондуктан 4.7K тартууларды схемадан чыгаруу үчүн tinyLiDARдеги I2C төшөмөлөрүн кесип салышыңыз керек болот-чоо-жайын билүү үчүн маалымдаманы караңыз. Бирок бул кызык маалыматтардын себеби эмес.

Себеби pi'дин I2C автобусу так спецификацияга туура келбейт. Бул пи Broadcom чиптеринин жардамы менен биринчи жолу киргизилгенден бери ушундай. Башынан бери алар "сааттын созулушу" деп аталган I2C мүмкүнчүлүгүн туура колдошкон эмес.

Бул h/w катасы жөнүндө көбүрөөк бул жерден окуй аласыз.

1 -кадам: Саатты созуу деген эмне?

Саатты сунуу деген эмне?
Саатты сунуу деген эмне?

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

I2C стандартына ылайык, Master түзмөгү SCL линиясындагы саат сигналын берет, бирок эгер бул ылдамдык өтө тез болсо, анда Slave түзмөгү жөнгө салууга даяр болгонго чейин саат линиясын кармап туруп, аны жайыраак кылууга уруксат берилет. маалымат менен. Муну биз "сааттын созулушу" деп атайбыз.

Расмий түрдө, сааттын созулушу I2C стандартында кошумча функция катары көрсөтүлгөн, бирок бул сенсордук маалыматтарды берүү үчүн кошумча убакытты талап кылган көпчүлүк "акылдуу" кулдар үчүн зарыл болгон эң кеңири таралган өзгөчөлүк.

2 -кадам: Чочколордон бир аз жардам

Бул I2C h/w катасы менен күрөшүү үчүн, биз "pigpio" деп аталган жакшы кичинекей бекер китепкананы таптык. Бул C тилинде жазылган абдан популярдуу, тез жана жеңил китепкана. Бул Raspberry Pi үчүн фондук демон катары иштейт жана I2Cди, ошондой эле GPITти питондон оңой башкарууга мүмкүндүк берет. Китепкана I2C портторуна GPIO сыяктуу мамиле кылат жана ошону менен I2C саатынын созулуу катасын айланып өткөн. Пидеги бардык программалар сыяктуу эле, pigpio китепканасы жөн эле "кошуу" үчүн гана бар, келгиле!

3 -кадам: TL; DR версиясы

Орнотуу Pi SSHти Putty менен кирүүгө кошуу pigpio китепканасы tinyLiDAR zip файлын алуу Unzip жана Puttyден иштетүү

Кошумча:

WinSCP менен SublimeTextти орнотуу

4 -кадам: Орнотуу

Орнотуу
Орнотуу

Биздин Raspberry Pi 3 үчүн стандарттык New Out of Box программалык камсыздоосун (NOOBS Lite v2.4) иштетүү тутумун колдондук. Бул биз үчүн кодго даяр Pythonдун демейки версиясын камтыйт. OSти бул жерден жүктөп алсаңыз болот.

Micro SD картага орнотулгандан кийин, сиз биринчи жолу пи -ге кирүү үчүн клавиатура менен мониторду туташтырышыңыз керек:

Колдонуучунун аты: pi Сырсөз: малина

Андан кийин бул командалар менен коопсуз кабык серверин (SSH) баштасаңыз болот:

sudo systemctl иштетүү sshsudo systemctl баштоо ssh

Кийинки, PuTTY менен кирүү үчүн тармагыңыздагы piнин IP дареги керек болот. Муну алуу үчүн жөн гана териңиз:

хосттун аты -I.

Жана IPv4 форматындагы даректи издеңиз (Биздин орнотуу үчүн ал: 192.168.0.27)

Жогорудагы кадамдар пи "башсыз" иштешине мүмкүндүк берет, демек бул клавиатурага кайра терүүнүн кажети жок жана мындан ары видео монитордун кереги жок. Биз келечекте коопсуз SSH туташуусу аркылуу тармак аркылуу киребиз. Жогорудагы буйрук SSH серверинин пи күйгүзүлгөн сайын автоматтык түрдө ишке киришине себеп болот. Биз коддоп жатканда бул биз үчүн ыңгайлуу, бирок кийинчерээк коопсуздук коркунучу болушу мүмкүн (параноид болуу жакшы), ошондуктан сиз даяр болгондо, бул буйрукту колдонуп, SSHтин автоматтык түрдө башталуусун өчүрө аласыз:

sudo systemctl ssh өчүрүү

Бул буйрук, албетте, пи менен байланышкан клавиатурада терилиши керек.

PuTTY - бул компьютерден piге буйрук берүү үчүн талап кылынган терминалдык программа, андыктан сиз бул жерден акыркы нускасын алышыңыз керек.

PuTTY орнотуп, баштаңыз. Сиз Хост Аты киришине жогорудан IP дарегин теришиңиз керек жана демейки SSH орнотууларын колдонушуңуз керек. Сеанска каалаган ысымыңызды бериңиз жана "Сактоо" баскычын басыңыз. Андан кийин жүктөөнү басып, сессияны баштоо үчүн АЧУУну басыңыз.

Бул сизди пи үчүн кирүү экранына алып барышы керек. Мурда колдонулган логинди жана паролду колдонуңуз.

5 -кадам: Pigpio орнотуу

Эми, биз орноткондон кийин, бир гана нерсе pigpio китепканасы болмокчу жана биз муну төмөнкү буйруктарды колдонуу менен жасай алабыз.

Кеңеш: Бул жана башка буйруктарды PuTTY терминалына [ctrl+c] көчүрүп, [чычкандын оң баскычын басып] койсоңуз болот.

sudo apt-get update

sudo apt-get pigpio python-pigpio python3-pigpio орнотуу

6 -кадам: Кошумча: Dev системасын орнотуу

Кошумча: Dev System Setup
Кошумча: Dev System Setup

Ошентип, бул жерде кодду иштеп чыгуу дүйнөңүздө бир аз убакытты үнөмдөөгө жардам бере турган кеңеш. Биз уникске негизделген текст редакторлорун абдан жек көрөбүз. Колдонуучу интерфейси адатта олдоксон жана шрифттер соргуч. GNU nano дээрлик чыдайт, бирок эч ким SublimeText сыяктуу тазаланган эмес, аны бул жерден жүктөп алсаңыз болот

Бизде терезеге негизделген өнүктүрүү чөйрөсү бар жана мүмкүн болушунча бул текст редакторун колдонууну жакшы көрөбүз. Ошентип, бул жердеги кеңеш бул сиздин профессионалдуу текст редакторуңузду Windows столунда сиздин башсыз пиңизге түз код коюу үчүн системаңызды орнотуу.

Кантип? WinSCP деп аталган бекер колдонмону жүктөп алсаңыз болот

7 -кадам: WinSCP орнотуу

WinSCP орнотуу
WinSCP орнотуу
WinSCP орнотуу
WinSCP орнотуу

WinSCP - бул сиздин Windows компьютериңиздеги файл менеджеринде көрүп турганыңыздай, сиздин rpi файлдарыңыздын графикалык түрүн көрсөтүүчү коопсуз файлдарды өткөрүп берүү программасы.

Андыктан улантыңыз жана жогорудагы эки программаны азыр эле орнотуңуз.

Кийинчерээк, алардын баары туура иштеши үчүн, бир нече түзөтүүлөрдү киргизишиңиз керек болот.

WinSCP үчүн, сиз жаңы сайтты чыкылдата аласыз. Биз демейки SFTP орнотууларын колдонобуз жана сиз пиңиздин IP дарегин (Хосттун аты үчүн) жана логинди (Колдонуучунун аты үчүн) гана киргизишиңиз керек. Кааласаңыз, сырсөздү бош калтырууну тандай аласыз - бул сиз кирген сайын сырсөздү суранат.

Андан кийин, Advanced баскычын чыкылдатып, андан кийин Environment Shell орнотуулары үчүн сол жагын басыңыз. Оң жактагы "По умолчанию" "sudo su -" опциясына түшүңүз. Бул SublimeTextтен сактоо басканда өзгөрүүлөрдү пиңизге уруксат катасыз жазууга мүмкүндүк берет.

WinSCPде SublimeTextти демейки редактор кылып коюңуз

Бул үчүн, NewSite диалогун баштаган WinSCP Кирүү жөндөөлөрүнүн экранындагы Куралдар баскычын чыкылдатыңыз. Эки скриншот бул кантип конфигурацияланганын көрсөтөт, бирок негизинен сиз редакторлордун артыкчылыктарын конфигурациялоо үчүн чыкылдатып, тышкы редактор боло турган редакторду кошосуз. Андан кийин бул редактор компьютериңизде жайгашкан.exe файлын карай аласыз.

8 -кадам: (w) Кодду алуу

(w) Кодду алуу
(w) Кодду алуу

Бүткөндөн кийин, WinSCP жана PuTTY менен кириңиз.

Эми биз даярбыз, биз tinyLiDAR кодубузду баштай алабыз.

TinyLiDAR деп аталган каталогду үйүңүздүн/пи каталогуңуздун астына жасаңыз.

Сиз муну WinSCP экрандын оң жагындагы оң баскычты басып, Жаңы / Каталогду тандап жасай аласыз.

Эми PuTTY терминалында тере аласыз

cd t

жана tinyLiDAR каталогуна кирүү үчүн буйругуңузду автоматтык түрдө толтурууга уруксат берүү үчүн өтмөктү басыңыз.

Бул жерге бир жолу төмөнкүлөрдү териңиз:

wget

файлдарды биздин серверден түз алуу үчүн. Андан кийин биз аларды терүү аркылуу ача алабыз

unzip r

жана атын кайра автотолтуруу үчүн өтмөктү басыңыз

Аны иштетүү үчүн жөн эле териңиз

python tlgui.py

Сиздин tinyLiDAR пидеги ар бир буйругуңузга жооп берет:)

9-кадам: Жакында болуучу хакерлерге эскертүү

Улантуу жана WinSCPтен келген код файлдарынын бирин эки жолу басуу менен капоттун астын карап көрүңүз. Алар.py кеңейтүүсү барлар. Файлдар сиздин компьютериңизде SublimeTextте ачылышы керек. Каалаган нерсеңизди өзгөртүп, анан Сактоону басыңыз. Сиздин өзгөртүүлөр түздөн -түз пиңизге сакталат.

Даяр болгондо, сиз акыркы терилген буйрукту өйдө жебе аркылуу кайра иштетесиз же кайра эле терип, Enter баскычын басыңыз:

python tlgui.py

Терминалдын GUI макети Arduino версиясына караганда бир аз жакшыраак экенин байкагандырсыз. Себеби PuTTY уникод белгилерин колдойт, андыктан биз аны жакшыртылган кылып көрсөтүү үчүн курсорду башкаруу үчүн кошумча белгилерди колдоно алдык.

Бул жерде үзгүлтүксүз окуу функциясы үчүн "dc" болгон (Arduino версиясына салыштырмалуу) кошумча буйрук бар. Аны сынап көрүңүз жана оюңузду көрүңүз.

Баары болду!

Окуганыңыз үчүн рахмат жана пи боюнча хакерликтен ырахат алыңыз:)

Сунушталууда: