İçindekiler:

Raspberry Pi, Android, IoT ve Bluetooth ile Çalışan Drone: 7 Adım (Resimlerle)
Raspberry Pi, Android, IoT ve Bluetooth ile Çalışan Drone: 7 Adım (Resimlerle)

Video: Raspberry Pi, Android, IoT ve Bluetooth ile Çalışan Drone: 7 Adım (Resimlerle)

Video: Raspberry Pi, Android, IoT ve Bluetooth ile Çalışan Drone: 7 Adım (Resimlerle)
Video: #7 - Raspberry Pi - Android TV - LineageOS Kurulum 2024, Haziran
Anonim
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone

Yerleşik mantık için bir Raspberry Pi kullanan bu kompakt, mobil bilgisayar, özel bir android uygulaması tarafından gönderilen değerleri okumak için Bluetooth soketleri oluştururken aynı anda bir videoyu gerçek zamanlı olarak aktaran yerel bir bağlantı noktası oluşturacaktır. Uygulama, drone ile senkronize olur ve anında drone'a talimat göndermek için kullanıcı girdisini kullanır.

Bu projeyi sıfırdan yapmak oldukça zordur. Aşağıdaki bilgilerin birden fazla drone uygulaması için fikir vereceğini umuyoruz. Bu projeye ait tüm yazılım ve devre tasarımları sağlanmaktadır. Kodu istediğiniz gibi değiştirmekten ve paylaşmaktan çekinmeyin. Lütfen sağlanan bilgileri sorumlu bir şekilde kullanın ve aşağıya bir yorum bırakmaktan çekinmeyin.

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Kullandığım donanımların listesi aşağıdadır.

  • Raspberry Pi 3 Model B
  • Raspberry PI Kamera Modülü
  • L298N Motor Sürücüsü
  • 2, DC Motorlar
  • Klavye, Herhangi Bir Monitör, Fare, Ethernet Kablosu ve HDMI Kablosu (pi için)
  • 8GB MicroSD Kart
  • Vidalar, Bant, vb.
  • 2 Tekerlek
  • Bir Android Bluetooth Cihazı (Telefonum)
  • 2, 18650 Hücre
  • 5 Volt Regülatör
  • Uygulamayı programlamak için bir bilgisayar

A Raspberry Pi: Daha yüksek akış çözünürlükleri için (veya yeni başlayanlar için), B modelinin en yeni sürümünü tavsiye ederim, daha kompakt sürümler ise en yeni Model A+ veya Pi Zero'yu (Kamera Sürümü) kullanabilir. Bir ahududu pi sıfır kullanıyorsanız, bunun için bir Bluetooth ve/veya WiFi dongle'ına ihtiyacınız olacağını unutmayın. Bu eğitim, bir Raspberry Pi 3 B kullandığınızı varsayacaktır.

Bir motor Sürücüsü: Herhangi bir motor sürücüsünün çalışması gerekmesine rağmen bir L298N kullandım. Sadece motorlarınızın voltajını ve akımını kaldırabileceğinden emin olun.

2 DC Motor: Drone'nuzun ağırlığını kaldırabileceklerinden emin olun.

Bir gövde: Tüm bileşenleri içeride tutmak için kullanılır. Genellikle sert plastik veya alüminyum, kullanımı dayanıklı, hafif bir malzemedir. Optimum sonuçlar için bir 3D Yazıcı bile kullanılabilir.

Bir Güç Kaynağı: Parça seçerken neredeyse her zaman en zor karardır. Gerekli pil, akım çekişine bağlıdır. Düşük güçlü uygulamalar için (1 veya 2 amper gibi), 9v pil yeterli olacaktır. Daha yüksek amper için 18650 Lityum İyon pil veya Lityum Polimer pil öneririm çünkü bunlar hafiftir, boyutlarına göre çok fazla güç tutabilir ve şarj edilebilir.

2 Tekerlek: Tekerleklerinizin motorunuzun şaftıyla aynı delik boyutuna sahip olduğundan emin olun. Ayrıca Tekerleklerin çaplarının drone'nuz için yeterince büyük olduğundan emin olun. Bu proje için birden fazla olası varyasyon ve tasarım olduğundan, kullanılacak birden fazla farklı tekerlek tipi ve boyutu vardır.

Voltaj regülatörleri: Pi'ye bir pil ile güç sağlamak için 5 voltluk bir regülatör gereklidir. Bir LM2596 DC-DC dönüştürücü kullandım.

Bağlantılardaki ürünlerin çoğu bu projede kullanıldı ve o zaman bulabildiğim en iyi fırsatlardı.

Artık ihtiyacınız olan her şeye sahip olduğunuza göre, pi'yi ayarlayalım.

2. Adım: Raspberry Pi'yi Ayarlama

Raspberry Pi'yi Ayarlama
Raspberry Pi'yi Ayarlama
Raspberry Pi'yi Ayarlama
Raspberry Pi'yi Ayarlama
Raspberry Pi'yi Ayarlama
Raspberry Pi'yi Ayarlama

Bu adım size Raspberry Pi'yi nasıl kuracağınızı gösterecek ve böylece kodlamaya başlayabileceksiniz. Raspbian ile zaten bir pi kurulumunuz varsa, bir sonraki adıma geçmekten çekinmeyin.

Öncelikle ahududu için bir işletim sistemi indirmeniz gerekiyor. Yeni başlayan biriyseniz NOOBS alın. Ahududu pi ile zaten kayda değer bir deneyiminiz varsa, o zaman Raspbian ilginizi çekebilir. Bu eğitim için NOOBS kullandığınızı varsayacağım.

İndirirken SD kartınızı SD Formatter ile biçimlendirin.

Şimdi indirmenin içeriğini çıkarın ve SD kartınızın kök dizinine kopyalayın. Kök, herhangi bir klasörün içinde olmadığı anlamına gelir. Ayıklanan tüm dosyaları tutmak için yeni bir klasör oluşturulduysa, o dosyaya kopyalayın.

Ardından SD kartı pi'ye takın. Yerleştirirken, ya "tıklamalı" ya da sadece pi'nin altına oturmalıdır.

Farenizi ve klavyenizi pi'ye takın. Ardından bir monitörden pi'ye bir HDMI kablosu takın. Son olarak 3 amperlik bir mikro USB duvar prizi adaptörünü pi'ye takın. Bir duvar prizi önerilmesine rağmen, dizüstü bilgisayarımı güç kaynağı olarak kullandım (dizüstü bilgisayarımdan pi'deki Micro USB'ye USB).

Bırak pi işini yapsın. İstenirse, Raspbian'ı seçin ve yüklenmesine izin verin. Yükleyicideki talimatları izleyin. Tamamlanması biraz zaman alabilir. Her şey yolunda giderse, yukarıdakine benzer bir masaüstü ekranı görmelisiniz.

Yönlendiricinizden bir Ethernet kablosunu pi'ye takın. Ardından komut satırını açın (ekranın üst kısmındaki siyah "kutu" simgesi). Pi'yi kablosuz bir ağa bağlamak için kablolu bir ağ üzerinden güncellemeniz gerekir.

Ardından ekranın üst kısmındaki Kablo simgesine tıklayın. İstendiğinde ağ ayrıntılarınızı yazın.

Bir sonraki satırdaki metni aynen gösterildiği gibi yazın ve enter tuşuna basın. Bu, pi'yi güncelleyecektir. Biraz zaman alabilir. Bırak işini yapsın.

sudo apt-get güncellemesi

Ardından bir sonraki satıra kodu yazın. Bu da biraz zaman alacaktır. Bitene kadar hiçbir şey yapmayın.

sudo apt-get dağıtım yükseltme

Artık Ethernet kablosunun bağlantısını kesebilmeli, ekranın üst kısmındaki kablosuz simgesine tıklayabilmeli, ağ bilgilerinizi girebilmeli ve son olarak kablosuz olarak ağınıza bağlanabilmelisiniz.

Şimdi drone'nun hareketleri yöneten kısmını kodlayalım.

Adım 3: Hareketleri İşleme (Bluetooth Sunucusu)

İşleme Hareketleri (Bluetooth Sunucusu)
İşleme Hareketleri (Bluetooth Sunucusu)

Hareketleri işlemek için "Python 3" programlama dili kullanılır. Robota hareket etmesini söyleyen mesajlar, uygulamadan Bluetooth aracılığıyla gönderilecek.

İlk olarak, Bluetooth kitaplığını yüklemeniz gerekir. Bunu yapmak için aşağıdaki komutları yazın.

sudo apt-get güncellemesi

sudo apt-get kurulum bluetooth

sudo apt-get kurulum bluez

sudo apt-get install python-bluez

Şimdi masaüstünden başlat menüsü simgesine, ardından Programlama'ya, ardından Python 3'e tıklayın. Ardından araç çubuğundan Dosya, yeni'ye tıklayın. Yeni bir pencere görünmelidir.

"bluetoothpi.rtf" ekinin içeriğini pencereye kopyalayın.

Araç çubuğunda Dosya, Farklı kaydet'e tıklayın. /home/pi/Desktop/ dizinine hareketler.py olarak kaydedin.

Şimdi kodu test etmek için ekranın sağ üst köşesindeki Bluetooth simgesine tıklayın. Ahududu pi'yi android cihazınızla eşleştirin. Android cihazınıza BlueTerm adlı bir uygulama indirin. Ardından komut satırına aşağıdaki kodu kalın harflerle yazın. Bu, python kodunu yürütecektir.

sudo python /home/pi/Desktop/movements.py

Pi'de "Bağlantılar bekleniyor" metni görünmelidir.

BlueTerm'i başlatın ve seçenekler simgesine ve ardından "bağlantıları ara" düğmesine tıklayın.

Uygulamada ahududu pi'nizin adı görünmelidir. Pi'nin adının bulunduğu düğmeye tıklayın. Pi'de "Kabul edilen bağlantı" metni ve ardından adresi görünmelidir. Artık telefona ne yazarsanız yazın, pi'de görüntülenmelidir.

Kendi Bluetooth sunucu soketinizi başarıyla kodladınız!

4. Adım: Android Uygulaması (Bluetooth İstemcisi)

Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)
Android Uygulaması (Bluetooth İstemcisi)

Android Studio'yu buradan indirin. Kurun ve yükleyicide verilen talimatları izleyin.

Yeni bir proje başlatın. MainActivity adlı boş bir etkinlik oluşturun.

"MainActivity.java" dosyasındaki (sekme) "Logic.txt" ekinin içeriğini kopyalayın. Bu, uygulamanın arkasındaki tüm mantığı içerir. Dosyanın alt kısmından cihazınızın adını değiştirmeniz gerekebilir.

Ardından "GUI" dosyasının içeriğini "activity_main.xml" dosyasına (sekme) kopyalayın. Bu, uygulama için çok basit bir GUI içerir.

Şimdi ok düğmelerini (resimleri) uygulamaya aktarmanız gerekecek. Arrows.zip ekini açın. Android stüdyosunun solunda, app, res, minimap'i görmek için dosya yapısını açın. Ok resimlerini -p.webp

Son olarak "Manifest" dosyasının içeriğini "AndroidManifest.xml" dosyanıza (sekme) kopyalayın.

Uygulamayı test etmek için cihazınızda çalıştırmanız gerekir. Bunu yapmak için cihazı geliştirici moduna ayarlamanız ve USB hata ayıklamasını etkinleştirmeniz gerekir. Çoğu cihaz için "Ayarlar", "Telefon Hakkında"ya gitmeniz, en alta kaydırmanız ve "Artık bir geliştiricisiniz!" mesajını görene kadar yedi kez "Yapı Numarası"na tıklamanız gerekir. Geri dönün ve şimdi bir "Geliştirici seçenekleri" sekmesi görmelisiniz. Üzerine tıklayın ve USB hata ayıklamasını etkinleştirin.

Android cihazınızı USB üzerinden bilgisayarınıza bağlayın, Android Studio'da çalıştır simgesine tıklayın ve cihazınızı seçin.

Pi'de, komutu kalın harflerle yazarak 3. adımda oluşturulan python kodunu başlatın:

sudo python /home/pi/Desktop/movements.py

Ardından uygulamadaki bağlan düğmesine tıklayın. Bağlandığında, uygulamada bazı oklar görünmelidir. Birine her tıkladığınızda, pi'nin "hareket" durumunu güncelleyecektir.

Uygulamanın arka planı hata veriyorsa sorun yok. Bu daha sonra düzeltilecektir.

Az önce kendi uygulamanızı ve Bluetooth İstemcinizi oluşturdunuz.

Adım 5: Donanımı Bağlama

Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama

Yukarıdaki şemadaki bağlantıları lehimleyin. Kamera modülünü de pi'ye takın.

Uygulamayı çalıştırın ve hareketler.py dosyasını çalıştırın. Uygulamayı kullanırken motorlar doğru hareket ederse, tüm bileşenleri drone için sonlandırılmış bir kabuğa koymaktan çekinmeyin. Doğru hareket etmesi için kodların "HIGH" ve "LOW" değerlerini değiştirmeniz gerekebilir.

Bir sonraki adımda drone'un yayın özelliğini ekleyeceğiz.

6. Adım: Akış

Yayın Akışı
Yayın Akışı
Yayın Akışı
Yayın Akışı
Yayın Akışı
Yayın Akışı

Pi kullanarak video akışı yapmanın birden çok yolu vardır, ancak uv4l kullanmak, neredeyse hiç gecikme olmadan açık ara en kolay yoldur.

Sadece bir dip not, drone'nuzu zaten bir araya getirdiyseniz ve monitörünüze ve klavyenize bağlayamıyorsanız, drone'nuza SSH yapmanız gerekecektir. Bunu yapmak için, bilgisayarınıza Putty'yi indirin. Açın ve ahududunuzun IP adresini yazın (ifconfig komutunu yazarak IP adresini bulun). Sizden bir kullanıcı adı ve şifre isteyecektir. Varsayılan kullanıcı adı ve şifre sırasıyla pi ve ahudududur. Artık komut kutusuna ne yazarsanız yazın, komutları doğrudan drone'a girmek gibi olacak.

uv4l'yi kurma

Bu komutu yazın:

sudo nano /etc/apt/sources.list

Dosyanın son satırına aşağıdaki satırı ekleyin.

deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie ana

Dosyadan çıkın ve Ctrl-X tuşlarına basarak ve ardından Evet yazarak dosyayı kaydedin.

Ardından aşağıdaki satırı yazın ve enter'a basın.

sudo apt-get güncellemesi

sonra bu:

sudo apt-get kurulumu uv4l uv4l-raspicam

Aşağıdaki komutları satır satır yazın. Bir sonraki satırı yazmadan önce işini bitirmesini bekleyin.

sudo apt-get install uv4l-raspicam-extras

sudo hizmeti uv4l_raspicam yeniden başlatılıyor

sudo rpi güncellemesi

sudo apt-get kurulumu uv4l-sunucu uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-kukla uv4l-raspidisp

sudo apt-get install uv4l-webrtc

sudo apt-get install uv4l-xmpp-bridge

sudo apt-get install uv4l-raspidisp-ekstralar

Bundan sonra, akışı başlatmak için tek yapmanız gereken aşağıdaki komutu yazmaktır ("raspberrypi" yerine ahududu'nun IP adresini/ağınızdaki Ana Bilgisayar adını girin)

cvlc

Bu, 8080 numaralı bağlantı noktasında gerçek zamanlı olarak video akışını başlatacaktır. Akış, şimdi uygulamanızın arka planında görülmelidir. Akışı herhangi bir tarayıcıda görüntülemek için bu URL'yi yazın ("raspberrypi", dronlarınızın IP adresidir).

https://raspberrypi:8080/stream/video.mjpeg

Tebrikler, casus dronunuzu tamamladınız.

Adım 7: Sür

Güç düğmesini çevirin ve keşfetmeye başlayın.

Başka bir şeyin nasıl yapıldığını bilmek istiyorsanız, bana sorun, ne yapabileceğime bir bakayım.

Herhangi bir sorunuz varsa, lütfen aşağıya yorum yapın; onlara cevap vermek için elimden geleni yapacağım.

Okuduğunuz için teşekkürler!

Önerilen: