Πίνακας περιεχομένων:

Raspberry Pi, Android, IoT και Bluetooth Drone: 7 βήματα (με εικόνες)
Raspberry Pi, Android, IoT και Bluetooth Drone: 7 βήματα (με εικόνες)

Βίντεο: Raspberry Pi, Android, IoT και Bluetooth Drone: 7 βήματα (με εικόνες)

Βίντεο: Raspberry Pi, Android, IoT και Bluetooth Drone: 7 βήματα (με εικόνες)
Βίντεο: Raspberry Pi 3 Tutorial - How to Set Up for Gaming & Entertainment Projects 2024, Ιούλιος
Anonim
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone
Raspberry Pi, Android, IoT και Bluetooth με drone

Χρησιμοποιώντας ένα Raspberry Pi για την ενσωματωμένη λογική, αυτός ο συμπαγής, φορητός υπολογιστής, θα δημιουργήσει μια τοπική θύρα που μεταδίδει βίντεο σε πραγματικό χρόνο, ενώ ταυτόχρονα θα δημιουργεί πρίζες Bluetooth για την ανάγνωση τιμών που αποστέλλονται από μια προσαρμοσμένη εφαρμογή Android. Η εφαρμογή συγχρονίζεται με το drone και χρησιμοποιεί την είσοδο του χρήστη για την άμεση αποστολή οδηγιών στο drone.

Αυτό το έργο είναι αρκετά δύσκολο να γίνει από την αρχή. Ας ελπίσουμε ότι οι ακόλουθες πληροφορίες θα παρέχουν πληροφορίες για πολλές εφαρμογές drone. Παρέχεται όλο το λογισμικό και τα σχέδια κυκλωμάτων που σχετίζονται με αυτό το έργο. Μη διστάσετε να τροποποιήσετε και να μοιραστείτε τον κώδικα σύμφωνα με τις προτιμήσεις σας. Χρησιμοποιήστε τις πληροφορίες που παρέχονται υπεύθυνα και μη διστάσετε να αφήσετε ένα σχόλιο παρακάτω.

Βήμα 1: Το υλικό

Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό

Παρακάτω είναι η λίστα υλικού που χρησιμοποίησα.

  • Raspberry Pi 3 Μοντέλο Β
  • Μονάδα κάμερας Raspberry PI
  • L298N Πρόγραμμα οδήγησης κινητήρα
  • 2, DC Motors
  • Πληκτρολόγιο, οποιαδήποτε οθόνη, ποντίκι, καλώδιο Ethernet και καλώδιο HDMI (για το pi)
  • Κάρτα MicroSD 8 GB
  • Βίδες, ταινία, κ.λπ.
  • 2 Τροχοί
  • Συσκευή Bluetooth Android (Το τηλέφωνό μου)
  • 2, 18650 κελιά
  • Ρυθμιστής 5 Volt
  • Ένας υπολογιστής για τον προγραμματισμό της εφαρμογής

A Raspberry Pi: Για υψηλότερες αναλύσεις ροής (ή για αρχάριους), θα συνιστούσα τη νεότερη έκδοση του μοντέλου Β, ενώ οι πιο συμπαγείς εκδόσεις μπορούν να χρησιμοποιούν είτε το νεότερο μοντέλο A+ είτε το Pi Zero (έκδοση κάμερας). Θυμηθείτε ότι εάν χρησιμοποιείτε βατόμουρο πι μηδέν, θα χρειαστείτε ένα dongle Bluetooth ή/και WiFi για αυτό. Αυτό το σεμινάριο θα υποθέσει ότι χρησιμοποιείτε ένα Raspberry Pi 3 B.

Ένας οδηγός κινητήρα: Χρησιμοποίησα ένα L298N, αν και οποιοσδήποτε οδηγός κινητήρα θα πρέπει να λειτουργεί. Απλώς βεβαιωθείτε ότι μπορεί να χειριστεί την τάση και το ρεύμα των κινητήρων σας.

2 DC Motors: Βεβαιωθείτε ότι μπορούν να αντέξουν το βάρος του drone σας.

Σώμα: Χρησιμοποιείται επίσης για να κρατάτε όλα τα εξαρτήματα. Συνήθως το σκληρό πλαστικό ή το αλουμίνιο είναι ένα ανθεκτικό, ελαφρύ υλικό για χρήση. Για βέλτιστα αποτελέσματα, ακόμη και ένας 3D εκτυπωτής μπορεί να χρησιμοποιηθεί.

Μια πηγή ενέργειας: Είναι σχεδόν πάντα η πιο δύσκολη απόφαση κατά την επιλογή εξαρτημάτων. Η απαιτούμενη μπαταρία εξαρτάται από την τρέχουσα ισχύ. Για εφαρμογές χαμηλής κατανάλωσης ενέργειας (όπως 1 ή 2 αμπέρ), μια μπαταρία 9v θα αρκεί. Για υψηλότερη ένταση, προτείνω είτε μια μπαταρία ιόντων λιθίου 18650 είτε μια μπαταρία πολυμερούς λιθίου, επειδή είναι ελαφριά, μπορούν να κρατήσουν μεγάλη ισχύ για το μέγεθός τους και είναι επαναφορτιζόμενα.

2 Τροχοί: Απλώς βεβαιωθείτε ότι οι Τροχοί σας έχουν το ίδιο μέγεθος οπής με τον άξονα του κινητήρα σας. Επίσης, βεβαιωθείτε ότι οι διάμετροι των Τροχών είναι αρκετά μεγάλες για το drone σας. Δεδομένου ότι είναι πολλαπλές πιθανές παραλλαγές και σχέδια για αυτό το έργο, είναι πολλοί διαφορετικοί τύποι και μεγέθη τροχών για χρήση.

Ρυθμιστές τάσης: Απαιτείται ρυθμιστής 5 volt για να τροφοδοτήσει το pi μέσω μπαταρίας. Χρησιμοποίησα μετατροπέα μπάρας LM2596 DC-DC.

Τα περισσότερα από τα προϊόντα στους συνδέσμους χρησιμοποιήθηκαν σε αυτό το έργο και ήταν οι καλύτερες προσφορές που μπορούσα να βρω εκείνη τη στιγμή.

Τώρα που έχετε όλα όσα χρειάζεστε, αφήστε να ρυθμίσετε το pi.

Βήμα 2: Ρύθμιση του Raspberry Pi

Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi

Αυτό το βήμα θα σας δείξει πώς να ρυθμίσετε το Raspberry Pi ώστε να ξεκινήσετε την κωδικοποίηση. Εάν έχετε ήδη μια ρύθμιση pi με το Raspbian, μη διστάσετε να προχωρήσετε στο επόμενο βήμα.

Πρώτον, πρέπει να κατεβάσετε ένα λειτουργικό σύστημα για το βατόμουρο. Αποκτήστε το NOOBS εάν είστε αρχάριος. Εάν έχετε ήδη αξιοσημείωτη εμπειρία με ένα raspberry pi, τότε μπορεί να σας ενδιαφέρει το Raspbian. Θα υποθέσω ότι χρησιμοποιείτε το NOOBS για αυτό το σεμινάριο.

Κατά τη λήψη, διαμορφώστε την κάρτα SD με μορφοποιητή SD.

Τώρα εξαγάγετε και αντιγράψτε τα περιεχόμενα της λήψης στη ρίζα της κάρτας SD. Το Root σημαίνει απλώς ότι δεν βρίσκεται μέσα σε φακέλους. Εάν ένας νέος φάκελος δημιουργήθηκε για να περιέχει όλα τα εξαγόμενα αρχεία, αντιγράψτε σε αυτό το αρχείο.

Στη συνέχεια, συνδέστε την κάρτα SD στο pi. Κατά την εισαγωγή, θα πρέπει είτε να "κάνει κλικ" είτε απλά να καθίσει στο κάτω μέρος του pi.

Συνδέστε το ποντίκι και το πληκτρολόγιό σας στο pi. Στη συνέχεια, συνδέστε ένα καλώδιο HDMI στο pi από μια οθόνη. Τέλος, συνδέστε έναν προσαρμογέα πρίζας τοίχου micro USB 3 amp στο pi. Αν και συνιστάται πρίζα τοίχου, χρησιμοποίησα το φορητό υπολογιστή μου ως πηγή τροφοδοσίας (USB από το φορητό υπολογιστή μου σε Micro USB στο pi).

Αφήστε το pi να κάνει τη δουλειά του. Εάν σας ζητηθεί, επιλέξτε Raspbian και αφήστε το να εγκατασταθεί. Ακολουθήστε τις οδηγίες του προγράμματος εγκατάστασης. Μπορεί να χρειαστεί λίγος χρόνος για να ολοκληρωθεί. Εάν όλα πάνε σωστά, θα πρέπει να δείτε μια οθόνη επιφάνειας εργασίας παρόμοια με την παραπάνω.

Συνδέστε ένα καλώδιο Ethernet από το δρομολογητή σας στο pi. Στη συνέχεια, ανοίξτε τη γραμμή εντολών (Το μαύρο εικονίδιο "κουτί" στο επάνω μέρος της οθόνης). Θα χρειαστεί να ενημερώσετε το pi μέσω ενσύρματου δικτύου για να το συνδέσετε σε ασύρματο δίκτυο.

Στη συνέχεια, κάντε κλικ στο εικονίδιο Καλώδιο στο επάνω μέρος της οθόνης. Πληκτρολογήστε τα στοιχεία του δικτύου σας όπου σας ζητηθεί.

Πληκτρολογήστε το κείμενο στην επόμενη γραμμή ακριβώς όπως φαίνεται και πατήστε enter. Αυτό θα ενημερώσει το pi. Μπορεί να χρειαστεί λίγος χρόνος. Απλά αφήστε το να κάνει τη δουλειά του.

sudo apt-get ενημέρωση

Στη συνέχεια, πληκτρολογήστε τον κωδικό στην επόμενη γραμμή. Αυτό θα πάρει επίσης λίγο χρόνο. Μην κάνετε τίποτα μέχρι να τελειώσει.

sudo apt-get dist-upgrade

Τώρα θα πρέπει να μπορείτε να αποσυνδέσετε το καλώδιο Ethernet, να κάνετε κλικ στο εικονίδιο ασύρματης σύνδεσης στο επάνω μέρος της οθόνης, να εισαγάγετε τις πληροφορίες των δικτύων σας και τέλος να συνδεθείτε στο δίκτυό σας μέσω ασύρματης σύνδεσης.

Τώρα ας κωδικοποιήσουμε το μέρος του drone που χειρίζεται τις κινήσεις.

Βήμα 3: Χειρισμός κινήσεων (διακομιστής Bluetooth)

Χειρισμός κινήσεων (διακομιστής Bluetooth)
Χειρισμός κινήσεων (διακομιστής Bluetooth)

Για τον χειρισμό κινήσεων, χρησιμοποιείται η γλώσσα προγραμματισμού "Python 3". Τα μηνύματα που λένε στο ρομπότ να κινηθεί θα σταλούν μέσω Bluetooth από την εφαρμογή.

Πρώτον, πρέπει να εγκαταστήσετε τη βιβλιοθήκη Bluetooth. Πληκτρολογήστε τις ακόλουθες εντολές για να το κάνετε.

sudo apt-get ενημέρωση

sudo apt-get εγκατάσταση bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Τώρα, από την επιφάνεια εργασίας, κάντε κλικ στο εικονίδιο του μενού έναρξης, στη συνέχεια στον προγραμματισμό, στη συνέχεια στην Python 3. Στη συνέχεια, από τη γραμμή εργαλείων, κάντε κλικ στην επιλογή Αρχείο, νέο. Θα πρέπει να εμφανιστεί ένα νέο παράθυρο.

Αντιγράψτε τα περιεχόμενα του συνημμένου "bluetoothpi.rtf" στο παράθυρο.

Στη γραμμή εργαλείων, κάντε κλικ στο Αρχείο, Αποθήκευση ως. Αποθηκεύστε το στον κατάλογο/home/pi/Desktop/ως κινήσεις.py.

Τώρα για να δοκιμάσετε τον κωδικό, κάντε κλικ στο εικονίδιο Bluetooth στην επάνω δεξιά γωνία της οθόνης. Συνδυάστε το raspberry pi με τη συσκευή σας Android. Κατεβάστε μια εφαρμογή που ονομάζεται BlueTerm στη συσκευή σας Android. Στη συνέχεια, στη γραμμή εντολών, πληκτρολογήστε τον ακόλουθο κώδικα με έντονη γραφή. Αυτό θα εκτελέσει τον κώδικα python.

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

Το κείμενο "Αναμονή για συνδέσεις" πρέπει να εμφανίζεται στο pi.

Ξεκινήστε το BlueTerm και κάντε κλικ στο εικονίδιο επιλογών και, στη συνέχεια, στο κουμπί "αναζητήστε συνδέσεις".

Στην εφαρμογή, θα πρέπει να εμφανίζεται το όνομα του βατόμουρου πι. Κάντε κλικ στο κουμπί με το όνομα του pi. Το κείμενο "Αποδεκτή σύνδεση από" πρέπει να εμφανίζεται στο pi ακολουθούμενο από τη διεύθυνσή του. Τώρα ό, τι πληκτρολογήσετε στο τηλέφωνο, θα πρέπει να εμφανίζεται στο pi.

Έχετε κωδικοποιήσει με επιτυχία τη δική σας πρίζα διακομιστή Bluetooth!

Βήμα 4: Η εφαρμογή Android (Bluetooth Client)

Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)
Η εφαρμογή Android (πελάτης Bluetooth)

Κατεβάστε το Android Studio εδώ. Εγκαταστήστε το και ακολουθήστε τις οδηγίες που δίνονται στο πρόγραμμα εγκατάστασης.

Ξεκινήστε ένα νέο έργο. Δημιουργήστε μια κενή δραστηριότητα που ονομάζεται MainActivity.

Αντιγράψτε τα περιεχόμενα του συνημμένου "Logic.txt" στο αρχείο "καρτέλα" MainActivity.java ". Αυτό περιέχει όλη τη λογική πίσω από την εφαρμογή. Mayσως χρειαστεί να αλλάξετε το όνομα της συσκευής σας στο κάτω μέρος του αρχείου.

Στη συνέχεια, αντιγράψτε τα περιεχόμενα του αρχείου "GUI" στο αρχείο "activity_main.xml" (καρτέλα). Αυτό περιέχει ένα πολύ απλό GUI για την εφαρμογή.

Τώρα θα χρειαστεί να εισαγάγετε τα κουμπιά βέλους (εικόνες) στην εφαρμογή. Αποσυμπιέστε το συνημμένο Arrows.zip. Στα αριστερά του android studio, ανοίξτε τη δομή του αρχείου για να δείτε την εφαρμογή, res, minimap. Αντιγράψτε τις εικόνες βέλους (αρχεία PNG), κάντε δεξί κλικ στο minimap αρχείου και επικολλήστε τις εικόνες στο αρχείο, διατηρώντας τα ονόματα των βέλη τα ίδια. Θα πρέπει να μοιάζει με την εικόνα όταν τελειώσετε.

Τέλος αντιγράψτε τα περιεχόμενα του αρχείου "Manifest" στο αρχείο "AndroidManifest.xml" (καρτέλα).

Για να δοκιμάσετε την εφαρμογή, θα πρέπει να την εκτελέσετε στη συσκευή σας. Για να το κάνετε αυτό, θα χρειαστεί να ρυθμίσετε τη συσκευή σε λειτουργία προγραμματιστή και να ενεργοποιήσετε τον εντοπισμό σφαλμάτων USB. Για τις περισσότερες συσκευές, θα πρέπει να μεταβείτε στις "Ρυθμίσεις", "Σχετικά με το τηλέφωνο", να κάνετε κύλιση στο κάτω μέρος και να κάνετε κλικ στο "Δημιουργία αριθμού" επτά φορές μέχρι να εμφανιστεί το μήνυμα "Τώρα είστε προγραμματιστής!" Επιστρέψτε και θα πρέπει τώρα να δείτε μια καρτέλα "Επιλογές προγραμματιστή". Κάντε κλικ σε αυτό και ενεργοποιήστε τον εντοπισμό σφαλμάτων USB.

Συνδέστε τη συσκευή σας Android στον υπολογιστή σας μέσω USB, κάντε κλικ στο εικονίδιο εκτέλεσης στο Android Studio και επιλέξτε τη συσκευή σας.

Στο pi, ξεκινήστε τον κώδικα python που δημιουργήθηκε στο βήμα 3 πληκτρολογώντας την εντολή με έντονη γραφή:

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

Στη συνέχεια, κάντε κλικ στο κουμπί σύνδεσης στην εφαρμογή. Όταν συνδεθείτε, θα πρέπει τώρα να εμφανίζονται ορισμένα βέλη στην εφαρμογή. Κάθε φορά που κάνετε κλικ σε ένα, θα ενημερώνει την κατάσταση "μετακίνησης" του pi.

Είναι εντάξει εάν το φόντο της εφαρμογής δίνει σφάλμα. Αυτό θα διορθωθεί αργότερα.

Μόλις δημιουργήσατε τη δική σας εφαρμογή και πελάτη Bluetooth.

Βήμα 5: Σύνδεση του υλικού

Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού

Συγκολλήστε τις συνδέσεις στο παραπάνω διάγραμμα. Συνδέστε επίσης τη μονάδα κάμερας στο pi.

Εκτελέστε την εφαρμογή και εκτελέστε το αρχείο moves.py. Εάν οι κινητήρες κινούνται σωστά όταν χρησιμοποιείτε την εφαρμογή, μη διστάσετε να βάλετε όλα τα εξαρτήματα σε ένα τελικό κέλυφος για το drone. Σως χρειαστεί να τροποποιήσετε τους κωδικούς "HIGH" και "LOW", ώστε να κινείται σωστά.

Στο επόμενο βήμα, θα προσθέσουμε τη λειτουργία ροής του drone.

Βήμα 6: Ροή

Ροή
Ροή
Ροή
Ροή
Ροή
Ροή

Υπάρχουν πολλαπλοί τρόποι για τη ροή ενός βίντεο χρησιμοποιώντας ένα Pi, αλλά η χρήση του uv4l είναι μακράν ο ευκολότερος τρόπος χωρίς σχεδόν καθυστέρηση.

Μόνο μια δευτερεύουσα σημείωση, εάν έχετε ήδη τοποθετήσει το drone σας μαζί και δεν μπορείτε να το συνδέσετε με την οθόνη και το πληκτρολόγιό σας, θα χρειαστεί να κάνετε SSH στο drone σας. Για να το κάνετε αυτό, κάντε λήψη του Putty στον υπολογιστή σας. Ανοίξτε το και πληκτρολογήστε τη διεύθυνση IP του βατόμουρου (βρείτε τη διεύθυνση IP πληκτρολογώντας την εντολή ifconfig). Θα σας ζητήσει όνομα χρήστη και κωδικό πρόσβασης. Το προεπιλεγμένο όνομα χρήστη και κωδικός πρόσβασης είναι pi και raspberry αντίστοιχα. Τώρα ό, τι πληκτρολογήσετε στο πλαίσιο εντολών θα είναι σαν να εισάγετε εντολές απευθείας στο drone.

ρύθμιση uv4l

Πληκτρολογήστε αυτήν την εντολή:

sudo nano /etc/apt/sources.list

Προσθέστε την ακόλουθη γραμμή στην τελευταία στην τελευταία γραμμή του αρχείου.

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

Βγείτε και αποθηκεύστε το αρχείο πατώντας Ctrl-X και στη συνέχεια πληκτρολογώντας Ναι.

Στη συνέχεια, πληκτρολογήστε την ακόλουθη γραμμή και πατήστε enter.

sudo apt-get ενημέρωση

τότε αυτό:

sudo apt-get install uv4l uv4l-raspicam

Πληκτρολογήστε τις ακόλουθες εντολές γραμμή προς γραμμή. Περιμένετε να τελειώσει αυτό που κάνει πριν πληκτρολογήσετε στην επόμενη γραμμή.

sudo apt-get install uv4l-raspicam-extras

επανεκκίνηση της υπηρεσίας sudo uv4l_raspicam

sudo rpi-ενημέρωση

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-ομοίωμα uv4l-raspidisp

sudo apt-get install uv4l-webrtc

sudo apt-get install uv4l-xmpp-bridge

sudo apt-get install uv4l-raspidisp-extras

Μετά από αυτό, το μόνο που έχετε να κάνετε είναι να πληκτρολογήσετε την ακόλουθη εντολή για να ξεκινήσετε τη ροή (αντικαταστήστε το "raspberrypi" με τη διεύθυνση IP του βατόμουρου/ το όνομα κεντρικού υπολογιστή στο δίκτυό σας)

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

Αυτό θα ξεκινήσει τη ροή βίντεο σε πραγματικό χρόνο στη θύρα 8080. Η ροή θα πρέπει να εμφανίζεται στο παρασκήνιο της εφαρμογής σας τώρα. Για να προβάλετε τη ροή σε οποιοδήποτε πρόγραμμα περιήγησης, πληκτρολογήστε αυτήν τη διεύθυνση URL (όπου "raspberrypi" είναι η διεύθυνση IP των drones σας).

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

Συγχαρητήρια, ολοκληρώσατε το κατασκοπευτικό σας drone.

Βήμα 7: Οδηγήστε

Γυρίστε το διακόπτη λειτουργίας και ξεκινήστε την εξερεύνηση.

Αν θέλετε να μάθετε πώς να φτιάξετε κάτι άλλο, ρωτήστε με και θα δω τι μπορώ να κάνω.

Εάν έχετε οποιεσδήποτε ερωτήσεις, παρακαλώ σχολιάστε παρακάτω και θα κάνω ό, τι μπορώ για να τις απαντήσω.

Ευχαριστώ για την ανάγνωση!

Συνιστάται: