Мазмуну:
- 1 -кадам: Саатты созуу деген эмне?
- 2 -кадам: Чочколордон бир аз жардам
- 3 -кадам: TL; DR версиясы
- 4 -кадам: Орнотуу
- 5 -кадам: Pigpio орнотуу
- 6 -кадам: Кошумча: Dev системасын орнотуу
- 7 -кадам: WinSCP орнотуу
- 8 -кадам: (w) Кодду алуу
- 9-кадам: Жакында болуучу хакерлерге эскертүү
Video: Pi боюнча TinyLiDAR ?: 9 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Дагы салам!
Эми сиз 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 системасын орнотуу
Ошентип, бул жерде кодду иштеп чыгуу дүйнөңүздө бир аз убакытты үнөмдөөгө жардам бере турган кеңеш. Биз уникске негизделген текст редакторлорун абдан жек көрөбүз. Колдонуучу интерфейси адатта олдоксон жана шрифттер соргуч. GNU nano дээрлик чыдайт, бирок эч ким SublimeText сыяктуу тазаланган эмес, аны бул жерден жүктөп алсаңыз болот
Бизде терезеге негизделген өнүктүрүү чөйрөсү бар жана мүмкүн болушунча бул текст редакторун колдонууну жакшы көрөбүз. Ошентип, бул жердеги кеңеш бул сиздин профессионалдуу текст редакторуңузду Windows столунда сиздин башсыз пиңизге түз код коюу үчүн системаңызды орнотуу.
Кантип? WinSCP деп аталган бекер колдонмону жүктөп алсаңыз болот
7 -кадам: WinSCP орнотуу
WinSCP - бул сиздин Windows компьютериңиздеги файл менеджеринде көрүп турганыңыздай, сиздин rpi файлдарыңыздын графикалык түрүн көрсөтүүчү коопсуз файлдарды өткөрүп берүү программасы.
Андыктан улантыңыз жана жогорудагы эки программаны азыр эле орнотуңуз.
Кийинчерээк, алардын баары туура иштеши үчүн, бир нече түзөтүүлөрдү киргизишиңиз керек болот.
WinSCP үчүн, сиз жаңы сайтты чыкылдата аласыз. Биз демейки SFTP орнотууларын колдонобуз жана сиз пиңиздин IP дарегин (Хосттун аты үчүн) жана логинди (Колдонуучунун аты үчүн) гана киргизишиңиз керек. Кааласаңыз, сырсөздү бош калтырууну тандай аласыз - бул сиз кирген сайын сырсөздү суранат.
Андан кийин, Advanced баскычын чыкылдатып, андан кийин Environment Shell орнотуулары үчүн сол жагын басыңыз. Оң жактагы "По умолчанию" "sudo su -" опциясына түшүңүз. Бул SublimeTextтен сактоо басканда өзгөрүүлөрдү пиңизге уруксат катасыз жазууга мүмкүндүк берет.
WinSCPде SublimeTextти демейки редактор кылып коюңуз
Бул үчүн, NewSite диалогун баштаган WinSCP Кирүү жөндөөлөрүнүн экранындагы Куралдар баскычын чыкылдатыңыз. Эки скриншот бул кантип конфигурацияланганын көрсөтөт, бирок негизинен сиз редакторлордун артыкчылыктарын конфигурациялоо үчүн чыкылдатып, тышкы редактор боло турган редакторду кошосуз. Андан кийин бул редактор компьютериңизде жайгашкан.exe файлын карай аласыз.
8 -кадам: (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 версиясына салыштырмалуу) кошумча буйрук бар. Аны сынап көрүңүз жана оюңузду көрүңүз.
Баары болду!
Окуганыңыз үчүн рахмат жана пи боюнча хакерликтен ырахат алыңыз:)
Сунушталууда:
Shoestring боюнча программалык камсыздоо менен аныкталган радио: 9 кадам (сүрөттөр менен)
Shoestringде программалык камсыздоого ылайыкталган радио: Башында кристалл топтому болгон - биринчи практикалык радио уктуруучу. Бирок ага узун антенна керек болчу жана жергиликтүү станцияларды гана кабыл ала алган. Клапандар пайда болгондо (түтүктөр, биздин америкалык досторубуз үчүн) алар дагы көп нерселерди курууга мүмкүндүк беришти
Коронавирус менен күрөшүү: Кол жуу боюнча жөнөкөй таймер: 8 кадам (сүрөттөр менен)
Коронавирус менен күрөшүү: Жөнөкөй кол жуу таймери: Дүйнөдө учурдагы пандемия менен абал абдан коркунучтуу көрүнөт. Корона вирус бардык жерде болушу мүмкүн. Биз билгендей, кимдир бирөө вирусту эч кандай белгилери жок эле бир нече күн алып жүрүшү мүмкүн. Чынында коркунучтуу.Бирок, өтө коркпогула
Ротациялык Ок менен Объект Көз салуу Камерасынын Слайдери. 3D Printed & RoboClaw DC Motor Controller & Arduino боюнча курулган: 5 кадам (Сүрөттөр менен)
Ротациялык Ок менен Объект Көз салуу Камерасынын Слайдери. 3D Printed & RoboClaw DC Motor Controller & Arduino боюнча курулган: Бул долбоор менин DIY менен видео тартууга болгон кызыгуумду айкалыштыра баштагандан бери менин эң жакшы көргөн долбоорлорумдун бири болуп калды. Мен ар дайым карап турчумун жана камераны экранды көздөй жылдыруу үчүн кинолорго окшоштургум келет
ESP8266 боюнча MicroPython менен баштоо: 10 кадам (Сүрөттөр менен)
ESP8266дагы MicroPython менен иштөөнү баштоо: C/C ++ программалоо тили менен бирге Arduino IDEди колдонуунун жалпы методуна эмес, ESP8266га негизделген такталарды программалоонун башка жолун каалайсызбы? MicroPython.BUIL колдонулган такта
SONOFF менен керебеттин бар экендиги боюнча сенсор: 8 кадам (сүрөттөр менен)
SONOFF менен Bed Presence Sensor: Бул үйрөткүчкө кош келиңиз! Эгерде сиз эч качан тасмота менен иштебеген болсоңуз, анда алгач муну үйрөнүшүңүз керек, андан кийин аны сиз гана кура аласыз