Mündəricat:

Pi üzərində TinyLiDAR ?: 9 addım (şəkillərlə)
Pi üzərində TinyLiDAR ?: 9 addım (şəkillərlə)

Video: Pi üzərində TinyLiDAR ?: 9 addım (şəkillərlə)

Video: Pi üzərində TinyLiDAR ?: 9 addım (şəkillərlə)
Video: Natural ədədlər, onlar üzərində əməllər və bölünmə əlamətləri - Pi Akademiya 2024, Noyabr
Anonim
Pi üzərində TinyLiDAR?
Pi üzərində TinyLiDAR?

Yenə salam!

İndi tinyLiDAR və Arduino ilə keyfiyyətli bir vaxt keçirdiyiniz üçün - Raspberry Pi'iniz bəlkə də bir az tənhalıq hiss edir;)

Pi'nin I2C portu var, elə deyilmi? Bəs niyə onu bağlayıb orada sınamasınız ?! Yaxşı bir plan, amma artıq sınamısınızsa - məlumatların bir az qəribə göründüyünü hiss edə bilərsiniz.

Bəli, pi artıq 1.8K çəkmələr qurdu, buna görə də 4.7K çəkmələri dövrədən çıxarmaq üçün tinyLiDAR üzərindəki I2C yastıqlarını kəsmək məcburiyyətində qalacaqsınız-ətraflı məlumat üçün istinad kitabçasına baxın. Ancaq qəribə məlumatların səbəbi bu deyil.

Pi'nin I2C avtobusu spesifikasiyalara tam uyğun gəlməməsidir. Pi, Broadcom çip dəsti səbəbiylə ilk dəfə təqdim edildiyi gündən bəri belədir. Əvvəldən "saat uzanması" adlı bir I2C xüsusiyyətini düzgün dəstəkləmədilər.

Bu h/w xətası haqqında daha çox məlumatı burada oxuya bilərsiniz.

Addım 1: Saat uzanması nədir?

Saat Gərmə nədir?
Saat Gərmə nədir?

Bildiyiniz kimi, I2C avtobusu 3 teldən ibarətdir. Bunlar saat (SCL), məlumat (SDA) və ümumi yer üçündür. Saat və məlumat xətləri açıq bir kollektor/açıq drenaj tipinə malikdir, bu da onlara yüksək məntiq vermək üçün müsbət bir təchizat relsinə qoşulan çəkmə rezistorlarına ehtiyac duyduqlarını bildirir. Məntiqi aşağı salmaq üçün avtobusdakı hər hansı bir cihaz xətti ortaq nöqtəyə çəkə bilər.

I2C standartına görə, Master cihazı SCL xəttində saat siqnalını verən cihazdır, lakin bu sürət çox yüksəkdirsə, Slave cihazının saat xəttini işlətməyə hazır olana qədər basıb yavaşlatmasına icazə verilir. məlumatlarla. Buna "saat uzanması" deyirik.

Rəsmi olaraq, saat uzanması I2C standartında əlavə bir xüsusiyyət olaraq siyahıya alındı, lakin sensor məlumatlarını təmin etmək üçün əlavə vaxta ehtiyacı olan əksər "ağıllı" qullar üçün lazım olan çox yaygın bir xüsusiyyətdir.

Addım 2: Uçan Donuzlardan Biraz Kömək

Bu I2C h/w səhvini həll etmək üçün "pigpio" adlı gözəl bir pulsuz pulsuz kitabxana tapdıq. C dilində yazılmış çox populyar, sürətli və yüngül kitabxanadır. Raspberry Pi üçün arxa fonda işləyir və I2C -ni, eləcə də hər hansı bir GPIO -nu pythondan asanlıqla idarə etməyə imkan verir. Kitabxana, I2C portlarına GPIO kimi daha çox baxır və bununla da I2C saat uzanan səhvini aşdı. Pi'deki bütün proqramlar kimi, pigpio kitabxanası da sadəcə "daxil etmək" üçün uzaqdır, gedək!

Addım 3: TL; DR Versiyası

Putty ilə SSH -ni daxil edin, donuz kitabxanasını yükləyin tinyLiDAR zip faylını əldə edin və Putty -dən işləyin.

İsteğe bağlı:

WinSCP ilə SublimeText qurun

Addım 4: Quraşdırma

Quraşdırma
Quraşdırma

Raspberry Pi 3 üçün standart New Out of the Box Software (NOOBS Lite v2.4) əməliyyat sistemindən istifadə etdik. Kodlamağa hazır olduğumuz üçün artıq quraşdırılmış Python -un standart bir versiyasını ehtiva edir. OS -ni buradan yükləyə bilərsiniz.

Bir mikro SD karta quraşdırıldıqdan sonra ilk dəfə pi -yə daxil olmaq üçün bir klaviatura və monitor bağlamalısınız:

İstifadəçi adı: pi Şifrə: moruq

Sonra bu əmrlərlə təhlükəsiz bir qabıq serverinə (SSH) başlaya bilərsiniz:

sudo systemctl sshsudo systemctl start ssh imkan verir

Sonra PuTTY ilə daxil ola biləcəyimiz üçün şəbəkənizdəki pi -nin IP ünvanına ehtiyacımız olacaq. Bunu əldə etmək üçün sadəcə yazın:

ev sahibi -I

Və IPv4 formatlı bir ünvan axtarın (Quraşdırmamız üçün belə idi: 192.168.0.27)

Yuxarıdakı addımlar pi -nin "başsız" işləməsinə imkan verəcək, yəni bu klaviaturada yenidən yazmağa ehtiyac qalmayacaq və artıq video monitora ehtiyac yoxdur. Gələcəkdə etibarlı bir SSH bağlantısı vasitəsilə şəbəkəyə daxil olacağıq. Yuxarıdakı əmr, SSH serverinin pi hər açıldıqda avtomatik olaraq başlamasına səbəb olur. Kodlaşdırarkən bu bizim üçün əlverişlidir, lakin sonradan təhlükəsizlik riski ola bilər (paranoid olmaq yaxşıdır), buna görə hazır olduğunuzda bu əmrdən istifadə edərək SSH -in avtomatik başlamasını söndürə bilərsiniz:

sudo systemctl ssh -i deaktiv edin

Bu əmr, əlbəttə ki, pi -yə bağlı olan klaviaturada yazılmalıdır.

PuTTY, kompüterdən pi -yə əmr vermək üçün lazım olan bir terminal proqramıdır, buna görə ən son nüsxəni buradan götürməlisiniz.

PuTTY qurun və işə salın. Host Adı girişində yuxarıdan IP ünvanını yazmalı və standart SSH parametrlərindən istifadə etməlisiniz. Sessiyaya istədiyiniz ad verin və Saxla düyməsini vurun. Sonra yükləmə düyməsini vurun və sessiyaya başlamaq üçün AÇIN düyməsini basın.

Sizi pi üçün giriş ekranına gətirməlidir. Daha əvvəl istifadə etdiyiniz eyni istifadəçi adınızı və şifrənizi istifadə edin.

Addım 5: Pigpio quraşdırın

İndi bundan sonra quraşdırmağımız lazım olan tək şey pigpio kitabxanası olacaq və bunu aşağıdakı əmrlərdən istifadə edərək edə bilərik.

İpucu: Bu və digər əmrləri PuTTY terminalına [ctrl+c] kopyalayıb [siçan sağ klikləyib] yapışdıra bilərsiniz.

sudo apt-get yeniləməsi

sudo apt-get pigpio python-pigpio python3-pigpio qurun

Addım 6: İsteğe bağlı: Dev Sistem Quraşdırması

İsteğe bağlı: Dev Sistem Quraşdırması
İsteğe bağlı: Dev Sistem Quraşdırması

Beləliklə, kod hazırlama dünyanızda bir az vaxta qənaət etməyə kömək edə biləcək bir ipucu. Unix əsaslı mətn redaktorlarından nifrət edirik. İstifadəçi interfeysi normaldır və şriftlər pisdir. GNU nano demək olar ki, dözülür, lakin heç biri buradan yükləyə biləcəyiniz SublimeText qədər zərif deyil

Pəncərələrə əsaslanan bir inkişaf mühitimiz var və bu mətn redaktorunu mümkün qədər istifadə etməyi sevirik. Buradakı ipucu, bu peşəkar mətn redaktorunu yerli olaraq Windows masaüstünüzdə birbaşa başsız pi üzərində kodlaşdırmaq üçün istifadə etmək üçün sisteminizi qurmaqdır.

Necə? Buradan yükləyə biləcəyiniz WinSCP adlı pulsuz bir tətbiqdən istifadə edin

Addım 7: WinSCP qurmaq

WinSCP qurmaq
WinSCP qurmaq
WinSCP qurmaq
WinSCP qurmaq

WinSCP, Windows PC -də fayl menecerində gördükləriniz kimi rpi -də olan faylların qrafik təsvirini verən etibarlı bir fayl köçürmə proqramıdır.

Beləliklə, davam edin və yuxarıdakı iki proqramı indi də quraşdırın.

Sonra hamısının düzgün işləməsi üçün bir neçə düzəliş etməlisiniz.

WinSCP üçün YENİ Saytı vura bilərsiniz. Varsayılan SFTP parametrlərindən istifadə edəcəyik və yalnız pi -nin IP ünvanını (Host adı üçün) və giriş adını (İstifadəçi adı üçün) daxil etməlisiniz. İstəsəniz, şifrəni boş buraxmağı seçə bilərsiniz - bu, hər dəfə daxil olduğunuzda sizdən parol istəyəcək.

Sonra, Ətraflı düyməni basın və sonra Environment Shell parametrləri üçün sol tərəfi vurun. Sağ tərəfdəki "Varsayılan" ı aşağı çəkərək "sudo su -" seçiminə keçirin. Bu, SublimeText -dən qənaət vurduqda dəyişikliklərinizin icazəsiz səhvlər olmadan pi -yə yazılmasına imkan verəcəkdir.

SublimeText'i WinSCP -də Default Redaktor olaraq təyin edin

Bunu etmək üçün, NewSite dialoqunuzu başladığınız WinSCP Giriş parametrləri ekranında Alətlər düyməsini basın. İki ekran görüntüsü bunun necə qurulduğunu göstərir, amma əsasən Redaktorların seçimini konfiqurasiya etmək və Xarici redaktor olacaq Redaktor əlavə etmək üçün tıklayacaqsınız. Daha sonra bu redaktorun kompüterinizdə yerləşdiyi.exe faylına baxa bilərsiniz.

Addım 8: (w) Kodu əldə edin

(w) Kodu əldə etmək
(w) Kodu əldə etmək

Bitirdikdən sonra davam edin və WinSCP və PuTTY ilə daxil olun.

İndi hər şey hazırdır, tinyLiDAR kodumuza başlaya bilərik.

Ev/pi kataloqunuzun altında tinyLiDAR adlı bir kataloq yaradın.

WinSCP ekranının sağ tərəfində sağ tıklayarak və Yeni / Kataloqu seçərək bunu edə bilərsiniz.

İndi PuTTY terminalında yaza bilərsiniz

cd t

və tinyLiDAR qovluğuna daxil olmaq üçün əmrinizi avtomatik tamamlamasına icazə vermək üçün nişanı basın.

Burada bir dəfə aşağıdakıları yazın:

wget

faylları birbaşa serverimizdən əldə etmək üçün. Sonra yazaraq onları aça bilərik

açmaq r

və adı yenidən avtomatik tamamlamaq üçün sekmeye basın

İşlətmək üçün sadəcə yazın

python tlgui.py

Və tinyLiDAR, pi üzərindəki hər əmrinizə cavab verəcək:)

Addım 9: Tezliklə Hackerlar üçün qeyd

Davam edin və WinSCP -dən hər hansı bir kod faylına iki dəfə tıklayaraq başlıq altına baxın.. Py uzantısı olanlardır. Fayllar birbaşa PC -də SublimeText -də açılmalıdır. İstədiyinizi dəyişdirin və sonra Saxla düyməsini vurun. Dəyişikliklər birbaşa pi -də saxlanılacaq.

Hazır olduqda, son yazılan əmr üçün yuxarı ox düyməsini istifadə edərək yenidən işə salırsınız və ya yenidən daxil edin və enter düyməsini basın:

python tlgui.py

Terminal GUI layoutunun Arduino versiyasından bir az daha gözəl göründüyünü görə bilərsiniz. PuTTY unicode simvollarını dəstəklədiyi üçün daha zərif görünməsi üçün bəzi əlavə kursor nəzarət simvollarından istifadə edə bildik.

Burada da (Arduino versiyası ilə müqayisədə) Davamlı oxu funksiyası üçün "dc" olan əlavə bir əmr var. Bunu sınayın və nə düşündüyünüzə baxın.

Hamısı budur!

Oxuduğunuz üçün təşəkkür edirəm və pi -də hack etməkdən zövq alın:)

Tövsiyə: