Mundarija:

Pi da TinyLiDAR ?: 9 qadam (rasmlar bilan)
Pi da TinyLiDAR ?: 9 qadam (rasmlar bilan)

Video: Pi da TinyLiDAR ?: 9 qadam (rasmlar bilan)

Video: Pi da TinyLiDAR ?: 9 qadam (rasmlar bilan)
Video: tinyLiDAR From Concept to Creation 2024, Oktyabr
Anonim
Pi -da TinyLiDAR?
Pi -da TinyLiDAR?

Yana bir bor salom!

Endi siz tinyLiDAR va Arduino bilan yaxshi vaqt o'tkazdingiz - Raspberry Pi o'zingizni biroz yolg'iz his qilishi mumkin;)

Pi I2C portiga ega, to'g'rimi? Xo'sh, nega uni bog'lab, o'sha erda sinab ko'rmaysiz?! Yaxshi reja, lekin agar siz allaqachon urinib ko'rgan bo'lsangiz - ma'lumotlar biroz g'alati ko'rinishini payqagandirsiz.

Ha, pi allaqachon 1,8K tortish moslamalarini o'rnatgan, shuning uchun siz tinyLiDAR-dagi I2C yostiqchalarini kesishingiz kerak bo'ladi, bu esa 4,7K tortish moslamalarini o'chiradi-batafsil ma'lumot uchun qo'llanmani ko'ring. Ammo bu g'alati ma'lumotlarning sababi emas.

Buning sababi, pi ning I2C avtobusi aniq emas. Pi birinchi marta Broadcom chip to'plami tufayli paydo bo'lganidan beri shunday bo'ldi. Ular boshidanoq "soat cho'zish" deb nomlangan I2C xususiyatini to'g'ri qo'llab -quvvatlamadilar.

H/w xatosi haqida ko'proq ma'lumotni bu erda o'qishingiz mumkin.

1 -qadam: Soat cho'zish nima?

Soat cho'zish nima?
Soat cho'zish nima?

Ma'lumki, I2C avtobusi 3 ta simdan iborat. Bular soat (SCL), ma'lumotlar (SDA) va umumiy ma'lumot uchun. Soatlar va ma'lumotlar uzatish liniyalari ochiq kollektorli/ochiq drenajli bo'lib, ular yuqori mantiqqa ega bo'lishlari uchun musbat besleme relsiga ulangan tortishish rezistorlari kerakligini bildiradi. Mantiqni pasaytirish uchun avtobusdagi har qanday qurilma chiziqni umumiy joyga tortishi mumkin.

I2C standartiga ko'ra, uskuna - bu SCL chizig'idagi soat signalini etkazib beradigan qurilma, lekin agar bu tezlik juda tez bo'lsa, qul qurilmasiga soat chizig'ini ushlab turishgacha ushlab turish orqali uni sekinlashtirishga ruxsat beriladi. ma'lumotlar bilan. Buni biz "soat cho'zish" deb ataymiz.

Rasmiy ravishda, soat cho'zilishi I2C standartida ixtiyoriy xususiyat sifatida ro'yxatga olingan, ammo bu sensor ma'lumotlarini taqdim etish uchun qo'shimcha vaqt kerak bo'lgan "aqlli" qullar uchun zarur bo'lgan juda keng tarqalgan xususiyat.

2 -qadam: Cho'chqalardan uchadigan kichik yordam

Bu I2C h/w xatosini hal qilish uchun biz "pigpio" deb nomlangan juda yaxshi bepul bepul kutubxonani topdik. Bu C tilida yozilgan juda mashhur, tez va yengil kutubxona. Raspberry Pi uchun asosiy dastur bo'lib xizmat qiladi va bizga I2C hamda har qanday GPIO -ni pythondan osongina boshqarishga imkon beradi. Kutubxona I2C portlarini GPIO -ga o'xshatadi va shu bilan I2C soatining cho'zilish xatolarini chetlab o'tdi. Pi -dagi barcha dasturlar singari, cho'chqachilar kutubxonasi ham oddiy "qo'shish" bilan ajralib turadi, shuning uchun ketaylik!

3 -qadam: TL; DR versiyasi

Putty ni o'rnatish uchun SSH -ni yoqing Pigpio kutubxonasini o'rnating tinyLiDAR zip faylini oling Unzip -ni ishga tushiring va Putty -dan ishga tushiring.

Majburiy emas:

WinSCP yordamida SublimeText -ni o'rnating

4 -qadam: O'rnatish

O'rnatish
O'rnatish

Raspberry Pi 3 uchun biz standart New Out of Box dasturiy ta'minot (NOOBS Lite v2.4) operatsion tizimidan foydalanganmiz. U Python -ning standart versiyasini o'z ichiga oladi va biz bilan kodlashga tayyor. Siz OSni bu erdan yuklab olishingiz mumkin.

Micro SD kartaga o'rnatilgandan so'ng siz klaviatura va monitorni ulashingiz kerak, shunda siz pi -ga birinchi marta kira olasiz:

Foydalanuvchi nomi: pi Parol: malina

Keyin quyidagi buyruqlar bilan xavfsiz qobiq serverini (SSH) ishga tushirishingiz mumkin:

sudo systemctl sshsudo systemctl start ssh -ni yoqadi

Keyinchalik, sizning tarmog'ingizdagi pi -ning IP -manzili kerak bo'ladi, shuning uchun biz PuTTY bilan kirishimiz mumkin. Buni olish uchun faqat yozing:

mezbon nomi -I.

Va IPv4 formatidagi manzilni qidiring (O'rnatishimiz uchun: 192.168.0.27)

Yuqoridagi qadamlar pi -ni "boshsiz" ishlashiga imkon beradi, bu sizga bu klaviaturani qayta yozishning hojati yo'q va endi video monitorga hojat yo'q. Biz kelajakda xavfsiz SSH ulanishi orqali tarmoqqa kiramiz. Yuqoridagi buyruq SSH serveri har safar pi yoqilganda avtomatik ravishda ishga tushishiga olib keladi. Bu kodlash paytida biz uchun qulay, lekin keyinchalik xavfsizlik xavfi bo'lishi mumkin (paranoid bo'lish yaxshi), shuning uchun siz tayyor bo'lganingizda, ushbu buyruq yordamida SSH -ni avtomatik ishga tushirishni o'chirib qo'yishingiz mumkin:

sudo systemctl ssh -ni o'chirib qo'ying

Bu buyruq, albatta, pi ga ulangan klaviaturada yozilishi kerak.

PuTTY - bu kompyuterdan pi -ga buyruqlar berish uchun zarur bo'lgan terminal dasturi, shuning uchun siz oxirgi nusxasini bu erdan olishingiz kerak.

PuTTY -ni o'rnating va ishga tushiring. IP -manzilni yuqoridan Xost nomi yozuviga kiritishingiz va standart SSH sozlamalarini ishlatishingiz kerak bo'ladi. Sessiyaga xohlagan nomingizni bering va Saqlash tugmasini bosing. Keyin yuklashni bosing va seansni boshlash uchun Ochish -ni bosing.

Bu sizni pi uchun kirish ekraniga olib borishi kerak. Siz ilgari ishlatgan foydalanuvchi nomi va parolni ishlating.

5 -qadam: Pigpio -ni o'rnating

Endi biz o'rnatishimiz kerak bo'lgan yagona narsa pigpio kutubxonasi bo'ladi va biz buni quyidagi buyruqlar yordamida amalga oshirishimiz mumkin.

Maslahat: Siz bularni va boshqa buyruqlarni PuTTY terminaliga [ctrl+c] nusxalashingiz va sichqonchaning o'ng tugmasi bilan joylashtirishingiz mumkin.

sudo apt-get yangilanishi

sudo apt-get install pigpio python-pigpio python3-pigpio

6 -qadam: Ixtiyoriy: Dev tizimini sozlash

Majburiy emas: Dev tizimini sozlash
Majburiy emas: Dev tizimini sozlash

Shunday qilib, kod ishlab chiqish dunyosida vaqtni tejashga yordam beradigan maslahat. Biz unix -ga asoslangan matn muharrirlaridan juda nafratlanamiz. Foydalanuvchi interfeysi odatda notinch va shriftlar so'riladi. GNU nano deyarli bardoshli, lekin hech kim bu yerdan yuklab olishingiz mumkin bo'lgan SublimeText kabi nozik emas

Bizda Windows -ga asoslangan rivojlanish muhiti bor va iloji boricha ushbu matn muharriridan foydalanishni yaxshi ko'ramiz. Shunday qilib, bu erda sizning boshingizsiz pi -ga to'g'ridan -to'g'ri kod yozish uchun Windows -ning ish stolida ushbu professional matn muharriridan foydalanish imkoniyatini beradigan tizimni sozlash.

Qanaqasiga? WinSCP deb nomlangan bepul ilovadan foydalanib, uni bu erdan yuklab olishingiz mumkin

7 -qadam: WinSCP -ni sozlash

WinSCP -ni sozlash
WinSCP -ni sozlash
WinSCP -ni sozlash
WinSCP -ni sozlash

WinSCP - bu sizning kompyuteringizda fayl menejerida ko'rganingiz kabi sizning rpi -dagi fayllarning grafik tasvirini beradigan xavfsiz fayllarni uzatish dasturi.

Shunday qilib, yuqoridagi ikkita dasturni hoziroq o'rnating.

Keyinchalik, ularning hammasi to'g'ri ishlashi uchun siz bir nechta sozlamalarni kiritishingiz kerak bo'ladi.

WinSCP uchun siz yangi saytni bosishingiz mumkin. Biz standart SFTP sozlamalarini ishlatamiz va siz faqat pi -ning IP -manzilini (Xost nomi uchun) va login nomini (Foydalanuvchi nomi uchun) kiritishingiz kerak. Agar xohlasangiz, parolni bo'sh qoldirishni tanlashingiz mumkin - har safar kirganingizda sizdan parol so'raladi.

Keyin, "Kengaytirilgan" tugmachasini bosing va keyin "Environment Shell" sozlamalari uchun chap tomonni bosing. O'ng tomonda "Odatiy" -ni "sudo su -" variantiga o'tkazing. Bu SublimeText -dan saqlash tugmachasini bosganingizda, o'zgarishlarni pi -ga ruxsat xatosiz yozishga imkon beradi.

SublimeText -ni WinSCP -da standart muharrir qilib o'rnating

Buning uchun WinSCP Kirish sozlamalari ekranidagi "Asboblar" tugmachasini bosing, u erda siz NewSite muloqot oynasini boshladingiz. Ikkita skrinshotda bu qanday konfiguratsiya qilinganligi ko'rsatilgan, lekin siz asosan tahrirlovchining parametrlarini sozlash va tashqi muharrir bo'lgan tahrirlovchini qo'shish uchun bosasiz. Keyin bu tahrirlovchining kompyuteringizda joylashgan.exe faylini ko'rishingiz mumkin.

8 -qadam: (w) kodni olish

(w) kodni olish
(w) kodni olish

Tugatgandan so'ng, WinSCP va PuTTY bilan kiring.

Endi biz tayyormiz, biz tinyLiDAR kodini ishga tushiramiz.

Uy/pi katalogi ostida tinyLiDAR nomli katalog yarating.

Buni WinSCP ekranining o'ng tomonida sichqonchaning o'ng tugmachasini bosish va Yangi / Katalog -ni tanlash orqali amalga oshirish mumkin.

Endi PuTTY terminalida siz yozishingiz mumkin

CD t

va tinyLiDAR katalogiga o'tish uchun buyruqni avtomatik to'ldirishga ruxsat berish uchun yorliqni bosing.

Bu erga bir marta quyidagilarni kiriting:

wget

fayllarni to'g'ridan -to'g'ri serverimizdan olish uchun. Keyin ularni yozib ochishimiz mumkin

ochish r

va ismni qayta avtomatik to'ldirish uchun yorliqni bosing

Uni ishga tushirish uchun faqat yozing

python tlgui.py

Va sizning tinyLiDAR pi -dagi har bir buyrug'ingizga javob beradi:)

9-qadam: Tez orada bo'ladigan xakerlar uchun eslatma

WinSCP -dan har qanday kod faylini ikki marta bosish orqali kaput ostiga qarang. Ular.py kengaytmasi bo'lganlar. Fayllar SublimeText -da to'g'ridan -to'g'ri shaxsiy kompyuteringizda ochilishi kerak. O'zingiz yoqtirgan narsani o'zgartiring va "Saqlash" ni bosing. O'zgarishlar to'g'ridan -to'g'ri pi -ga saqlanadi.

Tayyor bo'lgach, siz oxirgi yozilgan buyruq uchun yuqoriga o'q tugmachasini bosib yana ishga tushirasiz yoki qaytadan kiriting va Enter tugmasini bosing:

python tlgui.py

Siz Terminal GUI tartibi Arduino versiyasidan biroz chiroyli ko'rinishini payqagan bo'lishingiz mumkin. Buning sababi, PuTTY unicode belgilarini qo'llab -quvvatlaydi, shuning uchun biz uni yanada aniqroq qilish uchun kursorni boshqarish uchun qo'shimcha belgilarni ishlatdik.

Bu erda "Arduino versiyasi bilan solishtirganda" qo'shilgan buyruq mavjud, u "Doimiy o'qish" funktsiyasi uchun "dc". Buni sinab ko'ring va nima deb o'ylayotganingizni ko'ring.

Hammasi shu!

O'qiganingiz uchun tashakkur va pi -da xakerlikdan zavqlaning:)

Tavsiya: