İçindekiler:

Pi üzerinde TinyLiDAR?: 9 Adım (Resimlerle)
Pi üzerinde TinyLiDAR?: 9 Adım (Resimlerle)

Video: Pi üzerinde TinyLiDAR?: 9 Adım (Resimlerle)

Video: Pi üzerinde TinyLiDAR?: 9 Adım (Resimlerle)
Video: Pis Yedili 9. Bölüm | FULL HD YENİ 2024, Ekim
Anonim
Bir Pi üzerinde TinyLiDAR?
Bir Pi üzerinde TinyLiDAR?

Tekrar merhaba!

TinyLiDAR ve Arduino'nuzla biraz kaliteli zaman geçirdiğinize göre - Raspberry Pi'niz belki biraz yalnız hissediyor olabilir;)

Pi'nin bir I2C bağlantı noktası var değil mi? Öyleyse neden onu bağlayıp orada denemiyorsun?! İyi plan, ancak zaten denediyseniz - verilerin biraz garip göründüğünü fark etmiş olabilirsiniz.

Evet, pi zaten 1.8K pull-up'lar oluşturdu, bu yüzden 4.7K pull-up'ları devreden çıkarmak için TinyLiDAR'daki I2C pedlerini kesmeniz gerekecek - ayrıntılar için başvuru kılavuzuna bakın. Ancak garip verilerin nedeni bu değil.

Bunun nedeni, pi'nin I2C veriyolunun tam olarak spesifikasyona uygun olmamasıdır. Broadcom yonga seti nedeniyle pi ilk tanıtıldığından beri bu böyle. En başından beri "saat germe" adı verilen bir I2C özelliğini düzgün bir şekilde desteklemediler.

Bu h/w hatası hakkında daha fazla bilgiyi buradan okuyabilirsiniz.

Adım 1: Saat Germe Nedir?

Saat Esneme Nedir?
Saat Esneme Nedir?

Bildiğiniz gibi, I2C veri yolu 3 kablodan oluşur. Bunlar saat (SCL), veri (SDA) ve ortak zemin içindir. Saat ve veri hatları açık kollektör/açık boşaltma tipindedir, bu da onlara yüksek bir mantık vermek için pozitif bir besleme rayına bağlı çekme dirençlerine ihtiyaç duydukları anlamına gelir. Düşük bir mantık elde etmek için, veri yolu üzerindeki herhangi bir cihaz hattı ortak zemine çekebilir.

I2C standardına göre, Ana cihaz SCL hattında saat sinyalini sağlayan cihazdır, ancak bu hız çok hızlıysa, Slave cihazın işlem yapmaya hazır olana kadar saat hattını basılı tutarak onu yavaşlatmasına izin verilir. bilgi ile. Buna "saat germe" diyoruz.

Resmi olarak, saat uzatma, I2C standardında isteğe bağlı bir özellik olarak listelenmişti, ancak sensör verileri vb. sağlamak için fazladan zamana ihtiyaç duyan çoğu "akıllı" bağımlı için gerekli olan çok yaygın bir özelliktir.

Adım 2: Uçan Domuzlardan Biraz Yardım

Bu I2C h/w hatasıyla başa çıkmak için "pigpio" adında güzel ve küçük bir ücretsiz kütüphane bulduk. C ile yazılmış çok popüler, hızlı ve hafif bir kitaplıktır. Raspberry Pi için arka plan arka plan programı olarak çalışır ve I2C'yi ve ayrıca herhangi bir GPIO'yu python'dan kolayca kontrol etmemizi sağlar. Kitaplık, I2C bağlantı noktalarına daha çok GPIO gibi davranır ve böylece I2C saat genişletme hatasını atlamış olur. Pi üzerindeki tüm yazılımlar gibi, pigpio kitaplığı da sadece basit bir "içerme" uzağınızda, hadi gidelim!

3. Adım: TL;DR Sürümü

PuttyInstall pigpio library ile oturum açmak için PiEnable SSH'yi kurun TinyLiDAR zip dosyasını alınUnzip ve Putty'den çalıştırın

İsteğe bağlı:

WinSCP ile SublimeText Kurulumu

4. Adım: Kurulum

Kurulum
Kurulum

Raspberry Pi 3'ümüz için standart Yeni Kullanıma Hazır Yazılım (NOOBS Lite v2.4) işletim sistemini kullandık. Kodlamaya hazır bizim için önceden yüklenmiş varsayılan bir Python sürümünü içerir. İşletim sistemini buradan indirebilirsiniz.

Bir mikro SD karta takıldıktan sonra, pi'ye ilk kez giriş yapabilmek için bir klavye ve monitör bağlamanız gerekir:

Kullanıcı adı: pi Şifre: ahududu

Ardından, aşağıdaki komutlarla güvenli bir kabuk sunucusu (SSH) başlatabilirsiniz:

sudo systemctl sshsudo systemctl start ssh'yi etkinleştir

Daha sonra PuTTY ile giriş yapabilmemiz için ağınızdaki pi'nin IP adresine ihtiyacımız olacak. Bunu elde etmek için şunu yazın:

ana bilgisayar adı -I

Ve bir IPv4 biçim adresi arayın (Kurulumumuz için şuydu: 192.168.0.27)

Yukarıdaki adımlar, pi'nin "başsız" çalışmasına izin verecektir; bu, bu klavyede tekrar yazmanıza gerek kalmayacağı ve ayrıca artık bir video monitörüne gerek olmadığı anlamına gelir. İleride güvenli bir SSH bağlantısı üzerinden ağ üzerinden oturum açacağız. Yukarıdaki komut, pi her açıldığında SSH sunucusunun otomatik olarak başlatılmasına neden olur. Bu, kodlama yaparken bizim için kullanışlıdır ancak daha sonra bir güvenlik riski olabilir (paranoyak olmak iyidir), bu nedenle hazır olduğunuzda, bu komutu kullanarak bu otomatik başlatma SSH özelliğini devre dışı bırakabilirsiniz:

sudo systemctl ssh'yi devre dışı bırak

Bu komut elbette pi'ye bağlı klavyeden yazılmalıdır.

PuTTY, PC'den pi'ye komutlar vermek için gerekli olan bir terminal programıdır, bu yüzden en son kopyayı buradan almalısınız.

PuTTY'yi kurun ve başlatın. Ana Bilgisayar Adı girişinde yukarıdan IP adresini yazmanız ve varsayılan SSH ayarlarını kullanmanız gerekecektir. Oturuma istediğiniz adı verin ve kaydet'e basın. Ardından yükle'ye basın ve bir oturum başlatmak için AÇ'a tıklayın.

Sizi pi için giriş ekranına götürmelidir. Daha önce kullandığınız kullanıcı adınızı ve şifrenizi kullanın.

Adım 5: Pigpio'yu yükleyin

Şimdi bundan sonra kurmamız gereken tek şey pigpio kütüphanesi olacak ve bunu aşağıdaki komutları kullanarak yapabiliriz.

İpucu: Basitçe [ctrl+c] kopyalayıp [fare sağ tıklama] bu ve diğer komutları PuTTY terminaline yapıştırabilirsiniz.

sudo apt-get güncellemesi

sudo apt-get yükleme pigpio python-pigpio python3-pigpio

Adım 6: İsteğe Bağlı: Geliştirme Sistemi Kurulumu

İsteğe bağlı: Geliştirme Sistemi Kurulumu
İsteğe bağlı: Geliştirme Sistemi Kurulumu

İşte kod geliştirme dünyanızda biraz zaman kazanmanıza yardımcı olabilecek bir ipucu. Unix tabanlı metin editörlerinden gerçekten nefret ediyoruz. Kullanıcı arayüzü normalde beceriksizdir ve yazı tipleri berbattır. GNU nano neredeyse katlanılabilir ancak hiçbiri buradan indirebileceğiniz SublimeText kadar rafine değil.

Windows tabanlı bir geliştirme ortamımız var ve mümkün olduğunda bu metin düzenleyiciyi kullanmayı seviyoruz. Buradaki ipucu, sisteminizi, bu profesyonel metin düzenleyiciyi Windows masaüstünüzde yerel olarak, doğrudan başsız pi'nizi kodlamak için kullanabilmek için ayarlamaktır.

Nasıl? Buradan indirebileceğiniz WinSCP adlı ücretsiz bir uygulama kullanarak

Adım 7: WinSCP'yi Ayarlama

WinSCP'yi Ayarlama
WinSCP'yi Ayarlama
WinSCP'yi Ayarlama
WinSCP'yi Ayarlama

WinSCP, Windows PC'nizdeki dosya yöneticisinde gördüğünüz gibi, rpi'nizde bulunan dosyaların grafiksel bir sunumunu veren güvenli bir dosya aktarım programıdır.

Öyleyse devam edin ve yukarıdaki iki programı da şimdi yükleyin.

Ardından, hepsinin düzgün çalışması için birkaç ayar yapmanız gerekecek.

WinSCP için YENİ Siteye tıklayabilirsiniz. Varsayılan SFTP ayarlarını kullanacağız ve sizin yalnızca pi'nizin IP adresini (Ana Bilgisayar adı için) ve oturum açma adını (Kullanıcı adı için) girmeniz yeterlidir. İsterseniz şifreyi boş bırakmayı seçebilirsiniz - her giriş yaptığınızda sizden şifre isteyecektir.

Ardından, Gelişmiş düğmesine tıklayın ve ardından Ortam Kabuğu ayarları için sol tarafa tıklayın. Sağ tarafta "Varsayılan" aşağı çekmeyi "sudo su -" seçeneğine getirin. Bu, SublimeText'ten kaydet'e bastığınızda izin hataları olmadan değişikliklerin pi'nize yazılmasına izin verecektir.

WinSCP'de SublimeText'i Varsayılan Düzenleyici olarak ayarlayın

Bunu yapmak için, NewSite diyaloğunuzu başlattığınız WinSCP Oturum Açma ayarları ekranında Araçlar düğmesine tıklayın. İki ekran görüntüsü bunun nasıl yapılandırıldığını gösterir, ancak temel olarak Editörler tercihini yapılandırmak ve bir Harici düzenleyici olacak bir Editör Ekle'yi tıklayacaksınız. Daha sonra bu düzenleyicinin bilgisayarınızda bulunduğu.exe dosyasına göz atabilirsiniz.

Adım 8: (w) Kodu alma

(w) Kodu almak
(w) Kodu almak

Bittiğinde, devam edin ve WinSCP ve PuTTY ile giriş yapın.

Artık hazırız, tinyLiDAR kodumuzu başlatabiliriz.

home/pi dizininizin altında tinyLiDAR adında bir dizin oluşturun.

Bunu WinSCP ekranının sağ tarafında sağ tıklayıp Yeni / Dizin'i seçerek yapabilirsiniz.

Şimdi PuTTY terminalinde yazabilirsiniz

cd t

ve tinyLiDAR dizinine ulaşmak için komutunuzu otomatik olarak tamamlamasına izin vermek için sekmeye basın.

Buraya bir kez aşağıdakileri yazın:

wget

dosyaları doğrudan sunucumuzdan almak için. Daha sonra yazarak onları açabiliriz

sıkıştırmayı aç

ve adı tekrar otomatik olarak tamamlamak için sekmeye basın

Çalıştırmak için yazmanız yeterli

piton tlgui.py

Ve tinyLiDAR'ınız pi üzerindeki her komutunuza cevap verecek:)

9. Adım: Yakında Hacker Olacak Kişiler İçin Not

Devam edin ve WinSCP'den herhangi bir kod dosyasına çift tıklayarak kaputun altına bakın..py uzantılı olanlardır. Dosyalar doğrudan PC'nizde SublimeText'te açılmalıdır. İstediğinizi değiştirin ve ardından kaydet'e basın. Değişiklikleriniz doğrudan pi'nize kaydedilecektir.

Hazır olduğunuzda, son yazılan komut için yukarı ok tuşunu kullanarak tekrar çalıştırın veya tekrar yazıp enter tuşuna basın:

piton tlgui.py

Terminal GUI düzeninin Arduino sürümünden biraz daha güzel göründüğünü fark etmiş olabilirsiniz. Bunun nedeni PuTTY'nin unicode karakterleri desteklemesidir, bu nedenle daha rafine görünmesini sağlamak için bazı ekstra imleç kontrol karakterleri kullanabildik.

Burada ayrıca Sürekli Okuma işlevi için "dc" olan (Arduino sürümüne kıyasla) ek bir komut var. Deneyin ve ne düşündüğünüzü görün.

Bu kadar!

Okuduğunuz için teşekkürler ve pi'yi hacklemenin tadını çıkarın:)

Önerilen: