Spisu treści:

Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth: 7 kroków (ze zdjęciami)
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth: 7 kroków (ze zdjęciami)

Wideo: Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth: 7 kroków (ze zdjęciami)

Wideo: Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth: 7 kroków (ze zdjęciami)
Wideo: How to use 2 channel relay to control AC and DC loads in Arduino 2024, Lipiec
Anonim
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth
Raspberry Pi, Android, IoT i dron zasilany przez Bluetooth

Używając Raspberry Pi do wbudowanej logiki, ten kompaktowy, mobilny komputer utworzy lokalny port, który przesyła strumieniowo wideo w czasie rzeczywistym, jednocześnie tworząc gniazda Bluetooth do odczytu wartości wysyłanych przez niestandardową aplikację na Androida. Aplikacja synchronizuje się z dronem i wykorzystuje dane wejściowe użytkownika do natychmiastowego wysyłania instrukcji do drona.

Ten projekt jest dość trudny do wykonania od podstaw. Mamy nadzieję, że poniższe informacje zapewnią wgląd w wiele zastosowań dronów. Dostarczane jest całe oprogramowanie i projekty obwodów dotyczące tego projektu. Zapraszam do modyfikowania i udostępniania kodu według własnych upodobań. Prosimy o odpowiedzialne korzystanie z podanych informacji i pozostawienie komentarza poniżej.

Krok 1: Sprzęt

Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt

Poniżej znajduje się lista sprzętu, z którego korzystałem.

  • Raspberry Pi 3 Model B
  • Moduł kamery Raspberry PI
  • Sterownik silnika L298N
  • 2, silniki prądu stałego
  • Klawiatura, dowolny monitor, mysz, kabel Ethernet i kabel HDMI (dla pi)
  • Karta microSD o pojemności 8 GB
  • Śruby, taśma itp.
  • 2 koła
  • Urządzenie Bluetooth z Androidem (Mój telefon)
  • 2, 18650 komórek
  • Regulator 5 V
  • Komputer do programowania aplikacji

Raspberry Pi: W przypadku wyższych rozdzielczości strumienia (lub dla początkujących) polecam najnowszą wersję modelu B, podczas gdy bardziej kompaktowe wersje mogą korzystać z najnowszego Modelu A+ lub Pi Zero (wersja z kamerą). Pamiętaj, że jeśli używasz raspberry pi zero, będziesz potrzebować do niego klucza Bluetooth i/lub WiFi. W tym samouczku założymy, że używasz Raspberry Pi 3 B.

Sterownik silnika: Użyłem L298N, chociaż każdy sterownik silnika powinien działać. Po prostu upewnij się, że poradzi sobie z napięciem i prądem silników.

2 silniki prądu stałego: upewnij się, że wytrzymają ciężar twojego drona.

Korpus: Używany również do przechowywania wszystkich elementów. Zwykle twardy plastik lub aluminium jest trwałym, lekkim materiałem w użyciu. Aby uzyskać optymalne wyniki, można użyć nawet drukarki 3D.

Źródło zasilania: to prawie zawsze najtrudniejsza decyzja przy wyborze części. Wymagana bateria zależy od poboru prądu. W przypadku zastosowań o niskim poborze mocy (takich jak 1 lub 2 ampery) powinna wystarczyć bateria 9V. W przypadku wyższego natężenia polecam albo ogniwo litowo-jonowe 18650, albo akumulator litowo-polimerowy, ponieważ są one lekkie, mogą pomieścić dużo energii jak na swój rozmiar i można je ładować.

2 koła: po prostu upewnij się, że koła mają ten sam rozmiar otworu, co wał silnika. Upewnij się również, że średnice kół są wystarczająco duże dla twojego drona. Ponieważ istnieje wiele możliwych odmian i projektów dla tego projektu, istnieje wiele różnych typów i rozmiarów kół do użycia.

Regulatory napięcia: do zasilania pi za pomocą baterii wymagany jest regulator 5 V. Użyłem konwertera buck LM2596 DC-DC.

Większość produktów w linkach została wykorzystana w tym projekcie i były to najlepsze oferty, jakie mogłem znaleźć w tamtym czasie.

Teraz, gdy masz już wszystko, czego potrzebujesz, skonfigurujmy pi.

Krok 2: Konfiguracja Raspberry Pi

Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi

Ten krok pokaże Ci, jak skonfigurować Raspberry Pi, aby móc rozpocząć kodowanie. Jeśli masz już konfigurację pi z Raspbian, możesz przejść do następnego kroku.

Najpierw musisz pobrać system operacyjny dla maliny. Zdobądź NOOBS, jeśli jesteś początkującym. Jeśli masz już godne uwagi doświadczenie z raspberry pi, być może zainteresuje Cię Raspbian. Zakładam, że w tym samouczku używasz NOOBS.

Podczas pobierania sformatuj kartę SD za pomocą SD Formatter.

Teraz wyodrębnij i skopiuj zawartość pobrania do katalogu głównego karty SD. Root oznacza po prostu, że nie znajduje się w żadnych folderach. Jeśli utworzono nowy folder do przechowywania wszystkich wyodrębnionych plików, skopiuj ten plik.

Następnie podłącz kartę SD do pi. Podczas wkładania powinien albo „wcisnąć” lub po prostu siedzieć w dolnej części pi.

Podłącz mysz i klawiaturę do pi. Następnie podłącz kabel HDMI do pi z monitora. Na koniec podłącz 3-amperowy adapter gniazdka ściennego micro USB do pi. Chociaż zalecane jest gniazdko ścienne, używałem laptopa jako źródła zasilania (USB z mojego laptopa na Micro USB w pi).

Niech pi zrobi swoje. Jeśli pojawi się monit, wybierz Raspbian i pozwól mu zainstalować. Postępuj zgodnie z instrukcjami instalatora. Może to trochę potrwać. Jeśli wszystko pójdzie dobrze, powinieneś zobaczyć ekran pulpitu podobny do powyższego.

Podłącz kabel Ethernet z routera do pi. Następnie otwórz wiersz poleceń (ikona czarnego „pudełka” na górze ekranu). Będziesz musiał zaktualizować pi za pośrednictwem sieci przewodowej, aby połączyć go z siecią bezprzewodową.

Następnie kliknij ikonę Kabel u góry ekranu. Po wyświetleniu monitu wpisz szczegóły swojej sieci.

Wpisz tekst w następnej linii dokładnie tak, jak pokazano i naciśnij Enter. To zaktualizuje pi. To może chwilę potrwać. Po prostu pozwól mu robić swoje.

aktualizacja sudo apt-get

Następnie wpisz kod w następnej linii. Zajmie to również trochę czasu. Nie rób nic, dopóki nie skończysz.

sudo apt-get dist-upgrade

Teraz powinieneś być w stanie odłączyć kabel Ethernet, kliknąć ikonę sieci bezprzewodowej u góry ekranu, wprowadzić informacje o swojej sieci i wreszcie połączyć się z siecią bezprzewodowo.

Teraz zakodujmy część drona, która obsługuje ruchy.

Krok 3: Obsługa ruchów (serwer Bluetooth)

Obsługa ruchów (serwer Bluetooth)
Obsługa ruchów (serwer Bluetooth)

Do obsługi ruchów używany jest język programowania „Python 3”. Wiadomości informujące robota o ruchu będą wysyłane przez Bluetooth z aplikacji.

Najpierw musisz zainstalować bibliotekę Bluetooth. Wpisz następujące polecenia, aby to zrobić.

aktualizacja sudo apt-get

sudo apt-get zainstaluj bluetooth

sudo apt-get zainstaluj bluez

sudo apt-get zainstaluj python-bluez

Teraz na pulpicie kliknij ikonę menu Start, następnie Programowanie, a następnie Python 3. Następnie na pasku narzędzi kliknij Plik, nowy. Powinno pojawić się nowe okno.

Skopiuj zawartość załącznika „bluetoothpi.rtf” do okna.

Na pasku narzędzi kliknij Plik, Zapisz jako. Zapisz go w katalogu /home/pi/Desktop/ jako movement.py.

Teraz, aby przetestować kod, kliknij ikonę Bluetooth w prawym górnym rogu ekranu. Sparuj Raspberry Pi z urządzeniem z Androidem. Pobierz aplikację o nazwie BlueTerm na swoje urządzenie z Androidem. Następnie w wierszu poleceń wpisz następujący kod pogrubiony. Spowoduje to wykonanie kodu Pythona.

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

Na pi powinien pojawić się tekst „Oczekiwanie na połączenia”.

Uruchom BlueTerm i kliknij ikonę opcji, a następnie przycisk „szukaj połączeń”.

W aplikacji powinna pojawić się nazwa twojego Raspberry Pi. Kliknij przycisk z nazwą pi. Tekst „Akcepted connection from” powinien pojawić się na pi, a następnie jego adres. Teraz cokolwiek wpiszesz w telefonie, powinno być wyświetlane w pi.

Udało Ci się zakodować własne gniazdo serwera Bluetooth!

Krok 4: Aplikacja na Androida (klient Bluetooth)

Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)
Aplikacja na Androida (klient Bluetooth)

Pobierz Android Studio tutaj. Zainstaluj go i postępuj zgodnie z instrukcjami podanymi w instalatorze.

Rozpocznij nowy projekt. Utwórz puste działanie o nazwie MainActivity.

Skopiuj zawartość załącznika „Logic.txt” do pliku „MainActivity.java” (zakładka). Zawiera całą logikę aplikacji. Może być konieczna zmiana nazwy urządzenia na dole pliku.

Następnie skopiuj zawartość pliku „GUI” do pliku „activity_main.xml” (zakładka). Zawiera bardzo prosty GUI dla aplikacji.

Teraz musisz zaimportować przyciski strzałek (zdjęcia) do aplikacji. Rozpakuj załącznik Arrows.zip. Po lewej stronie Android Studio otwórz strukturę plików, aby zobaczyć aplikację, res, minimapę. Skopiuj zdjęcia strzałek (pliki PNG), kliknij prawym przyciskiem myszy na minimapie pliku i wklej zdjęcia do pliku, zachowując nazwy strzałek bez zmian. Po zakończeniu powinno wyglądać jak na zdjęciu.

Na koniec skopiuj zawartość pliku „Manifest” do pliku „AndroidManifest.xml” (karta).

Aby przetestować aplikację, musisz ją uruchomić na swoim urządzeniu. Aby to zrobić, musisz ustawić urządzenie w trybie programisty i włączyć debugowanie USB. W przypadku większości urządzeń musisz przejść do „Ustawienia”, „Informacje o telefonie”, przewiń w dół i kliknij „Numer kompilacji” siedem razy, aż zobaczysz komunikat „Jesteś teraz programistą!” Wróć i powinieneś teraz zobaczyć zakładkę „Opcje programisty”. Kliknij i włącz debugowanie USB.

Podłącz urządzenie z systemem Android do komputera przez USB, kliknij ikonę uruchamiania w Android Studio i wybierz swoje urządzenie.

Na pi uruchom kod Pythona utworzony w kroku 3, wpisując polecenie pogrubioną czcionką:

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

Następnie kliknij przycisk połączenia w aplikacji. Po połączeniu w aplikacji powinny pojawić się strzałki. Za każdym razem, gdy klikniesz na jeden, zaktualizuje stan „ruchu” pi.

W porządku, jeśli tło aplikacji wyświetla błąd. Zostanie to naprawione później.

Właśnie stworzyłeś własną aplikację i klienta Bluetooth.

Krok 5: Podłączanie sprzętu

Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu

Przylutuj połączenia na powyższym schemacie. Dołącz moduł kamery do pi.

Uruchom aplikację i uruchom plik movement.py. Jeśli silniki poruszają się prawidłowo podczas korzystania z aplikacji, możesz umieścić wszystkie elementy w gotowej powłoce drona. Może być konieczne zmodyfikowanie wartości kodów „HIGH” i „LOW”, aby działał poprawnie.

W następnym kroku dodamy funkcję przesyłania strumieniowego drona.

Krok 6: Transmisja strumieniowa

Streaming
Streaming
Streaming
Streaming
Streaming
Streaming

Istnieje wiele sposobów na strumieniowe przesyłanie wideo za pomocą Pi, ale korzystanie z uv4l jest zdecydowanie najłatwiejszym sposobem, praktycznie bez opóźnień.

Na marginesie, jeśli już złożyłeś drona i nie możesz go podłączyć do monitora i klawiatury, będziesz musiał połączyć się z dronem. Aby to zrobić, pobierz Putty na swój komputer. Otwórz go i wpisz adres IP maliny (znajdź adres IP, wpisując polecenie ifconfig). Poprosi Cię o nazwę użytkownika i hasło. Domyślna nazwa użytkownika i hasło to odpowiednio pi i raspberry. Teraz cokolwiek wpiszesz w polu poleceń, będzie jak wprowadzanie poleceń bezpośrednio do drona.

konfiguracja uv4l

Wpisz to polecenie:

sudo nano /etc/apt/sources.list

Dodaj następujący wiersz w ostatnim wierszu pliku.

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

Wyjdź i zapisz plik, naciskając Ctrl-X, a następnie wpisując Tak.

Następnie wpisz następującą linię i naciśnij enter.

aktualizacja sudo apt-get

wtedy to:

sudo apt-get zainstaluj uv4l uv4l-raspicam

Wpisz następujące polecenia wiersz po wierszu. Poczekaj, aż zakończy to, co robi, zanim wpiszesz następną linię.

sudo apt-get zainstaluj uv4l-raspicam-extras

usługa sudo restart uv4l_raspicam

sudo rpi-aktualizacja

sudo apt-get zainstaluj serwer uv4l uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

sudo apt-get zainstaluj uv4l-webrtc

sudo apt-get zainstaluj uv4l-xmpp-bridge

sudo apt-get zainstaluj uv4l-raspidisp-extras

Następnie wystarczy wpisać następujące polecenie, aby rozpocząć przesyłanie strumieniowe (zamień „raspberrypi” na adres IP/nazwę hosta maliny w swojej sieci)

cvlc

Spowoduje to rozpoczęcie przesyłania strumieniowego wideo w czasie rzeczywistym na porcie 8080. Strumień powinien być teraz widoczny w tle Twojej aplikacji. Aby wyświetlić strumień w dowolnej przeglądarce, wpisz ten adres URL (gdzie „raspberrypi” to adres IP twojego drona).

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

Gratulacje, ukończyłeś swój dron szpiegowski.

Krok 7: Jedź

Włącz przełącznik zasilania i zacznij eksplorować.

Jeśli chcesz wiedzieć, jak zrobić coś innego, zapytaj mnie, a zobaczę, co da się zrobić.

Jeśli masz jakieś pytania, skomentuj poniżej, a postaram się na nie odpowiedzieć.

Dziękuje za przeczytanie!

Zalecana: