İçindekiler:
- Adım 1: Saat Germe Nedir?
- Adım 2: Uçan Domuzlardan Biraz Yardım
- 3. Adım: TL;DR Sürümü
- 4. Adım: Kurulum
- Adım 5: Pigpio'yu yükleyin
- Adım 6: İsteğe Bağlı: Geliştirme Sistemi Kurulumu
- Adım 7: WinSCP'yi Ayarlama
- Adım 8: (w) Kodu alma
- 9. Adım: Yakında Hacker Olacak Kişiler İçin Not
Video: Pi üzerinde TinyLiDAR?: 9 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
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?
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
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
İş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, 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
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:
CAM Üzerinde PCB: 11 Adım (Resimlerle)
CAM üzerinde PCB: merhaba arkadaşlar !!, Kendi özel PCB'nizi basma deneyiminiz olabilir veya olmayabilir. PCB yapmak için izlenecek çok fazla yöntem var. Bir devre yazdırmanın genel yolu, deseni (devreyi) bakır kaplı bir tahtaya uygulamak ve
Nodemcu Üzerinde Reed Anahtarlar, Hall Etki Sensörü ve Bazı Hurdalar Kullanarak Kendi Anemometrenizi Nasıl Yapabilirsiniz - Bölüm 2 - Yazılım: 5 Adım (Resimlerle)
Nodemcu'da Reed Anahtarları, Hall Etkisi Sensörü ve Bazı Hurdaları Kullanarak Kendi Anemometrenizi Nasıl Yapabilirsiniz - Bölüm 2 - Yazılım: GirişBu, ilk yazının devamı olan "Reed Anahtarları, Hall Efekt Sensörü ve Bazı Hurdaları Kullanarak Kendi Anemometrenizi Nasıl Yapabilirsiniz?" Nodemcu'da - Bölüm 1 - Donanım" - rüzgar hızı ve yön ölçüsünün nasıl monte edildiğini gösterdiğim yer
Arduino - Hareket Üzerinde Dönen Led - Giyilebilir Ürün (Cronal Accelerator Tracer Overwatch'dan esinlenilmiştir): 7 Adım (Resimlerle)
Arduino - Hareket Üzerinde Dönen Led - Giyilebilir Öğe (Cronal Accelerator Tracer Overwatch'dan esinlenilmiştir): Bu talimat, bir İvmeölçer ve bir Neopiksel Led halka bağlamanıza yardımcı olacaktır. İvmeölçeri okumak ve bu efekti neopikselinizle elde etmek için kod sağlayacağım animasyon.Bu proje için Adafruit 24bit Neopiksel halkasını kullandım ve MP
Hoparlör veya Flyback Transformer Üzerinde PWM Kullanarak Arduino İle Şarkı Çalın(MP3): 6 Adım (Resimlerle)
Hoparlör veya Flyback Transformer Üzerinde PWM Kullanarak Arduino İle Şarkı Çalın(MP3): Merhaba Arkadaşlar, Bu benim ilk dersim, umarım beğenirsiniz!! müzik verilerini dizüstü bilgisayarımdan Arduino'ya iletmek için. Ve Arduino TIMERS t kullanarak
Fidget Spinner Kullanan Arduino Üzerinde Hall Etkisi Sensörü: 3 Adım (Resimlerle)
Fidget Spinner Kullanarak Arduino Üzerindeki Hall Effect Sensörü: Özet Bu projede arduino board ile fidget spinner hızını ölçerek hall efekt sensörünün nasıl çalıştığını anlatıyorum. çalışma: -A Hall etkisi sensörü, bir manyetik alana tepki olarak çıkış voltajını değiştiren bir dönüştürücüdür. Salon etkisi