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

Αυτοκίνητο RasbperryPi με κάμερα FPV. Έλεγχος μέσω προγράμματος περιήγησης στο Web: 31 βήματα (με εικόνες)
Αυτοκίνητο RasbperryPi με κάμερα FPV. Έλεγχος μέσω προγράμματος περιήγησης στο Web: 31 βήματα (με εικόνες)

Βίντεο: Αυτοκίνητο RasbperryPi με κάμερα FPV. Έλεγχος μέσω προγράμματος περιήγησης στο Web: 31 βήματα (με εικόνες)

Βίντεο: Αυτοκίνητο RasbperryPi με κάμερα FPV. Έλεγχος μέσω προγράμματος περιήγησης στο Web: 31 βήματα (με εικόνες)
Βίντεο: Lesson 11: PICAR-X as Video Car FPV keyboard control | Raspberry Pi Smart Robot car by SunFounder 2024, Νοέμβριος
Anonim
Image
Image

Θα φτιάξουμε αυτοκίνητο 4wd - το τιμόνι θα είναι παρόμοιο όπως σε ένα ρεζερβουάρ - για να στρίψει η μία πλευρά των τροχών θα περιστραφεί με διαφορετική ταχύτητα από την άλλη. Στο αυτοκίνητο θα τοποθετηθεί κάμερα σε ειδική θήκη όπου μπορούμε να αλλάξουμε θέση κάμερας. Το ρομπότ θα ελέγχεται από το πρόγραμμα περιήγησης ιστού (chrome ή firefox στην επιφάνεια εργασίας ή firefox στο κινητό τηλέφωνο), στο πρόγραμμα περιήγησης, θα λάβουμε βίντεο από την κάμερα (με καθυστέρηση μόλις 200ms) και από το πρόγραμμα περιήγησης, μπορούμε να ελέγχουμε τις κινήσεις του αυτοκινήτου και θέση κάμερας. Για να διευκολύνω την επικοινωνία, έχω χρησιμοποιήσει το σύστημα app.remoteme.org, υπάρχει επίσης έλεγχος για τον έλεγχο αυτού του είδους αυτοκινήτου, οπότε δεν χρειάζεται να γράψετε τον δικό σας κώδικα, αλλά φυσικά μπορείτε να τροποποιήσετε προσθήκη σεναρίων νέες δυνατότητες κλπ.

Πριν συνδέσετε το ρεύμα στο PCB σας, ελέγξτε ξανά όλες τις συνδέσεις

Βήμα 1: Ορισμένες πληροφορίες σχετικά με το App.remoteme.org

Το σύστημα αποτελείται από τρία μέρη

  • webapplication - όταν φιλοξενείτε τις ιστοσελίδες ελέγχου σας και συνδέει όλη την επικοινωνία
  • πρόγραμμα rasbperryPi - πρόγραμμα που στέλνει βίντεο, διαχειριστείτε τα σενάρια python σας
  • βιβλιοθήκες όπου βρίσκετε κατηγορίες, ορισμούς συναρτήσεων

Το Remoteme.org είναι γρήγορο στο σύστημα Συνδέετε όλες τις συσκευές σας μαζί, Μπορείτε να φιλοξενήσετε εκεί τις ιστοσελίδες σας, να δείτε τις συνδεδεμένες συσκευές σας. Το σύστημα Remoteme.org δημιουργήθηκε για να σας βοηθήσει να αρχίσετε να κάνετε τα έργα σας, χωρίς να ανησυχείτε για τις επικοινωνίες πρωτοκόλλου, η κύρια ιδέα είναι να στέλνετε δυαδικά μηνύματα σε διάφορες συσκευές, όπως ιστοσελίδες, RasbeprryPI, arduino και δέσμες ενεργειών.

Από την άλλη πλευρά, το Remoteme.org σας δίνει τον πλήρη έλεγχο των αρχείων σας. Μπορείτε να το τροποποιήσετε εύκολα γράφοντας τη δική σας λειτουργικότητα

Σε αυτό το σεμινάριο θα σας δείξω πώς να φτιάξετε ένα υπέροχο έργο χωρίς να γράψετε κανένα κώδικα.

Στο τέλος αυτού του σεμιναρίου έχω βάλει χρήσιμους συνδέσμους που θα σας βοηθήσουν να κατανοήσετε το σύστημα remoteme.org.

Βήμα 2: Τι χρειάζεται:

Τι χρειάζεται
Τι χρειάζεται
Τι χρειάζεται
Τι χρειάζεται
  • Raspberry PI Zero W
  • Αφιερωμένη κάμερα
  • Adafruit 16 -Channel 12 -bit PWM/Servo Driver - I2C interface - PCA9685 ή ο κλώνος του
  • Δύο σερβο μηχανισμοί συμβατοί με το στήριγμα της κάμερας
  • Κάτοχος κάμερας
  • Μπαταρίες - Στο σεμινάριο δύο δυνατότητες σύνδεσης
  • H γέφυρα TB6612FNG, για έλεγχο σπρέι τροχών
  • Αρχεία αετών PCB Είναι εύκολο να γίνει μέθοδος θερμικής μεταφοράς DC-DC
  • Step Down Converter Module DC
  • Θήκη ρομπότ

Βήμα 3: Συνδέσεις

Συνδέσεις
Συνδέσεις

Σερβο μηχανισμός ελέγχου Raspberry pi μέσω μονάδας PWM και ταχύτητας κινητήρα με γέφυρα H που συνδέεται με ακίδες RasbperryPi, η είσοδος PWM στη γέφυρα H παράγεται από την ίδια μονάδα που χρησιμοποίησα για servos (τα μέρη που αναφέρω παραπάνω δεν χρειάζονται μετατροπείς λογικής)

Βήμα 4: PCB

PCB
PCB
PCB
PCB

Μπορείτε να κατεβάσετε αρχεία PCB αετών από εδώ Τα μονοπάτια είναι παχιά, οπότε είναι εύκολο να το κάνετε με τη μέθοδο της θερμικής μεταφοράς

Βήμα 5: Έξοδοι PCB

Έξοδος PCB
Έξοδος PCB
Έξοδος PCB
Έξοδος PCB
  1. Είσοδος PWM για κινητήρες μετάδοσης κίνησης Πρέπει να είναι συνδεδεμένο με τη μονάδα PWM 15η και 16η ακίδες (ελέγξτε το πράσινο ορθογώνιο στην εικόνα της μονάδας PWM)
  2. Είσοδος ισχύος για κινητήρες κίνησης (ελέγξτε με ποια μέγιστη τάση μπορούν να λειτουργήσουν οι κινητήρες σας)
  3. Ισχύς για μονάδα RasbperryPi και PWM - πρέπει να είναι ακριβώς
  4. Έξοδοι κινητήρα κίνησης (υπάρχουν δύο έξοδοι επειδή θα αντιστοιχίσουμε κινητήρες κίνησης)
  5. Σερβο μηχανισμοί ισχύος - επίσης Πρέπει να ελέγξετε ποια τάση είναι καλή για αυτούς
  6. Το άλμα της τρέχουσας ισχύος από την 5η είσοδο θα τροφοδοτήσει επίσης κινητήρες, οπότε δεν χρειάζεται να συνδέσετε τίποτα στην είσοδο 2
  7. Jumper αν υπάρχει RasbperryPi θα είναι τροφοδοτικό από την τρίτη είσοδο - πριν βάλετε το jumper εδώ ελέγξτε αν οι συνδέσεις είναι εντάξει - Δεν θέλετε να κάψετε το RPi σας
  8. Αφήστε να κολλήσετε εδώ καλώδια αφού δεν χρειαζόμαστε μετατροπείς λογικής

Βήμα 6: Πώς θα λειτουργήσει

Στο RasbperryPi υπάρχει σενάριο python που χρησιμοποιεί δύο βιβλιοθήκες

  • εισαγωγή RPi. GPIO ως GPIO-για ακίδες 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (συμβολισμός BCM) που είναι συνδεδεμένες με γέφυρα H
  • εισαγωγή Adafruit_PCA9685 για μονάδα PWM

Οι ακίδες Rpi συνδέονται ως εξής 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) και ο τρόπος ελέγχου της γέφυρας H (εμπρός, πίσω, στάση, σύντομο διάλειμμα). Η γέφυρα H χρειάζεται επίσης δύο σήματα PWM, ώστε να μπορούμε να ελέγχουμε την ταχύτητα ή την περιστροφή του κινητήρα. Επειδή στο έργο έχουμε ήδη ελεγκτή PWM (χρησιμοποιείται για σερβο) θα τον χρησιμοποιήσουμε επίσης για να δημιουργήσουμε PWM για H γέφυρα.

Η μονάδα PWM χρησιμοποιεί πρωτόκολλο επικοινωνίας I2C. Έχω χρησιμοποιήσει την επεξεργασία του κουτιού Adafruit_PCA9685. βιβλιοθήκη

Βήμα 7: Συναρμολόγηση αυτοκινήτου - Τροχοί

Συναρμολόγηση αυτοκινήτων - Τροχοί
Συναρμολόγηση αυτοκινήτων - Τροχοί
Συναρμολόγηση αυτοκινήτων - Τροχοί
Συναρμολόγηση αυτοκινήτων - Τροχοί

Θα ξεκινήσουμε από τη σύνδεση κινητήρων κίνησης σε θήκη αυτοκινήτου. Οι αριστεροί/πλευρικοί κινητήρες συνδέονται μεταξύ τους και οι δύο ζεύγος συνδέονται σε κάποιο καλώδιο τροφοδοσίας το οποίο αργότερα θα συνδεθεί με το PCB. Σημαντική σημείωση κατά τη σύνδεση των τροχών του κινητήρα σε κάθε πλευρά πρέπει να περιστρέφονται προς την ίδια κατεύθυνση.

Βήμα 8: Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2

Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2
Τροφοδοσία (Μπαταρίες επαναφόρτισης AA) Επιλογή 1/2

Θα γράψω δύο δυνατότητες ισχύος Αυτοκίνητο η πρώτη είναι από μπαταρίες επαναφόρτισης 10xAA Στην τελευταία εικόνα έχω σχεδιάσει κόκκινους χρωματισμούς που πρέπει να τοποθετηθούν.

Βήμα 9: Τροφοδοσία (Li-Po 7.2V Μπαταρίες) Επιλογή 2/2

Ισχύς (Μπαταρίες Li-Po 7,2V) Επιλογή 2/2
Ισχύς (Μπαταρίες Li-Po 7,2V) Επιλογή 2/2
Ισχύς (Μπαταρίες Li-Po 7,2V) Επιλογή 2/2
Ισχύς (Μπαταρίες Li-Po 7,2V) Επιλογή 2/2

Και η δεύτερη επιλογή είναι μπαταρία 7,2 LI-PO. Σε αυτήν την περίπτωση έχουμε 3 τάσεις - 5v Για Rpi και μονάδα, 6V για servos και απευθείας από μπαταρίες 7,2 volt για κινητήρες κίνησης. Έπρεπε να χρησιμοποιήσω ενότητες δύο βημάτων

Η επιλογή 2 με LI-PO είναι καλύτερη:

  • Οι μπαταρίες έχουν μεγαλύτερη χωρητικότητα - το αυτοκίνητο θα οδηγεί περισσότερο
  • Μεγαλύτερη τάση για κινητήρες κίνησης - το αυτοκίνητο θα κινείται γρηγορότερα
  • Λιγότερη πιθανότητα μετά την έναρξη εντοπισμού κινητήρων μετάδοσης κίνησης να έχουμε τεράστια πτώση τάσης και επανεκκίνηση του RPI.

Βήμα 10: Συγκόλληση

Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση

Έχω βάλει στο PCB μερικούς αποστάτες για μονάδα PWM. Δεν υπάρχει τίποτα για να γράψετε, απλά δείτε εικόνες πώς να κολλήσετε τα πάντα μαζί

Βήμα 11: Κάμερα

ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ
ΦΩΤΟΓΡΑΦΙΚΗ ΜΗΧΑΝΗ

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

Βήμα 12: Τοποθέτηση ανταλλακτικών αυτοκινήτων

Τοποθέτηση ανταλλακτικών αυτοκινήτων μαζί
Τοποθέτηση ανταλλακτικών αυτοκινήτων μαζί
Τοποθέτηση ανταλλακτικών αυτοκινήτων μαζί
Τοποθέτηση ανταλλακτικών αυτοκινήτων μαζί
Τοποθέτηση ανταλλακτικών αυτοκινήτων μαζί
Τοποθέτηση ανταλλακτικών αυτοκινήτων μαζί

Για PCB έχω φτιάξει μικρό τραπέζι από πλεξιγκλάς

Βήμα 13: Διαμόρφωση App.remoteme.org

Διαμόρφωση App.remoteme.org
Διαμόρφωση App.remoteme.org

Έχω χρησιμοποιήσει το δωρεάν app.remoteme.org σύστημα που σας βοηθά να κάνετε συνδέσεις και έχει ήδη δέσμες ενεργειών που χρειαζόμαστε

Σε αυτό το διδακτικό, θα δείξω βήμα προς βήμα τι πρέπει να γίνει για να οδηγήσει το αυτοκίνητο (εδώ θα βρείτε περισσότερες λεπτομέρειες)

  • Τραγουδήστε στο https://app.remoteme.org μετά την εγγραφή Θα συνδεθείτε αυτόματα
  • ανοίξτε την καρτέλα Token στα αριστερά και, στη συνέχεια, κάντε κλικ στο "νέο διακριτικό" δώστε κάποιο όνομα και κάντε κλικ στο OK, Μόλις δημιουργήσαμε νέο διακριτικό (εικόνα στην οθόνη)
  • σε αυτό το παράδειγμα, η συμβολική τιμή είναι: ~ 1_ & p@+BNnZ@A+x8 (η δική σας θα είναι διαφορετική;))

Βήμα 14: Διαμόρφωση RasbperryPi

Διαμόρφωση RasbperryPi
Διαμόρφωση RasbperryPi

στην κονσόλα στόκου (εδώ πώς να ρυθμίσετε την RPi ενεργοποίηση επικοινωνίας κάμερας I2c)

git κλωνοποίηση git: //github.com/remoteme/remoteme.git

cd remoteme

python3.5 install.py

  • Ο Instalator θα μας κάνει μερικές ερωτήσεις για όλους όσους απαντάμε [Y] es και επιβεβαιώνουμε με [enter]
  • όταν η εγκατάσταση θα ζητήσει διακριτικό επικολλούμε (shift+insert) το διακριτικό που αντιγράφεται από την εφαρμογή και Enter
  • το όνομα για παράδειγμα Rpi
  • deviceId 1 Enter
  • μετά την εγκατάσταση - εκτελέστε το πρόγραμμα

./runme.sh

Βήμα 15: Έλεγχος συνδέσεων

Έλεγχος συνδέσεων
Έλεγχος συνδέσεων

Ας επιστρέψουμε στη διεύθυνση

Στην καρτέλα συσκευές θα δούμε το συνδεδεμένο RPi (το πράσινο εικονίδιο συνδέσμου σημαίνει ότι το RPi είναι συνδεδεμένο τώρα)

Βήμα 16: Προσθήκη Python Script

Προσθήκη Python Script
Προσθήκη Python Script
Προσθήκη Python Script
Προσθήκη Python Script

Τώρα θα προσθέσουμε python script, είναι ήδη στα πρότυπα, οπότε δεν χρειάζεται να προγραμματίσουμε τίποτα.

Στην καρτέλα συσκευές ανοίξτε το μενού RasbperryPi και επιλέξτε "Προσθήκη εξωτερικού σεναρίου".

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

Μην ξεχάσετε να επιλέξετε το πρότυπο "car4wd". Μετά από αυτά τα βήματα, το remoteme.org θα προσθέσει σενάριο python στο RasbperryPi και θα το επανεκκινήσει

Βήμα 17: Έλεγχος εάν το Python Script προστέθηκε με επιτυχία

Έλεγχος εάν το σενάριο Python προστέθηκε με επιτυχία
Έλεγχος εάν το σενάριο Python προστέθηκε με επιτυχία

Στην καρτέλα συσκευές θα πρέπει να προστεθεί νέα συσκευή python script, και η συσκευή της θα είναι 2. Σε αυτήν τη συσκευή, η ιστοσελίδα Id θα στείλει μηνύματα στον έλεγχο του αυτοκινήτου

Βήμα 18: Προσθήκη ιστοσελίδας στο αυτοκίνητο ελέγχου

Προσθήκη ιστοσελίδας στο αυτοκίνητο ελέγχου
Προσθήκη ιστοσελίδας στο αυτοκίνητο ελέγχου

στην καρτέλα συσκευές κάντε κλικ στο "Νέο" και στη συνέχεια "Ιστοσελίδα". Απλώς προσθέτουμε μια άλλη συσκευή - ιστοσελίδα που θα τη χρησιμοποιήσουμε για τον έλεγχο του αυτοκινήτου μας. Και επειδή χρησιμοποιήσαμε το πρότυπο "car4wdDesktop" στην ιστοσελίδα είναι ήδη αρχεία σχεδόν έτοιμα για χρήση

Βήμα 19: Διαμόρφωση συσκευής ιστοσελίδας για έλεγχο αυτοκινήτου 1/2

Διαμόρφωση συσκευής ιστοσελίδας για έλεγχο αυτοκινήτου 1/2
Διαμόρφωση συσκευής ιστοσελίδας για έλεγχο αυτοκινήτου 1/2

Αναπτύξτε την Ιστοσελίδα στην καρτέλα συσκευή και κάντε κλικ στο index.html και, στη συνέχεια, στο Άνοιγμα

Βήμα 20: Διαμόρφωση συσκευής ιστοσελίδας για έλεγχο αυτοκινήτου 2/2

Διαμόρφωση συσκευής ιστοσελίδας για έλεγχο αυτοκινήτου 2/2
Διαμόρφωση συσκευής ιστοσελίδας για έλεγχο αυτοκινήτου 2/2

Εμφανίζεται το παράθυρο τότε πρέπει να δώσουμε το deviceId του σεναρίου python μας στη συσκευή περίπτωσής μας Το ID είναι 2. Ας αλλάξουμε τη θέση που εμφανίζεται στην εικόνα

Βήμα 21: Ανοίξτε το Κέντρο ελέγχου αυτοκινήτου

Ανοίξτε το Κέντρο ελέγχου αυτοκινήτου
Ανοίξτε το Κέντρο ελέγχου αυτοκινήτου
Ανοίξτε το Κέντρο ελέγχου αυτοκινήτου
Ανοίξτε το Κέντρο ελέγχου αυτοκινήτου

Itsρθε η ώρα να ανοίξουμε τη σελίδα μας και να δούμε πώς λειτουργεί. Στην καρτέλα συσκευής κάντε κλικ στο index.html και στη συνέχεια "Άνοιγμα σε νέα καρτέλα" Για να λάβετε προεπισκόπηση βίντεο, πρέπει να χρησιμοποιήσετε πρόγραμμα περιήγησης chrome ή firefox, το πρόγραμμα περιήγησης που δεν υποστηρίζει πλήρως το webRTC

Βήμα 22: Διαμόρφωση κάμερας 1/2

Διαμόρφωση κάμερας 1/2
Διαμόρφωση κάμερας 1/2

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

Βήμα 23: Διαμόρφωση κάμερας 2/2

Διαμόρφωση κάμερας 2/2
Διαμόρφωση κάμερας 2/2

Ανοίξτε το script.js (η καρτέλα συσκευές επεκτείνει την ιστοσελίδα και κάντε κλικ στο script.js και στη συνέχεια ανοίξτε) και βρείτε το μέρος που έδειξα στην οθόνη

στο κέντρο της περίπτωσής μου η θέση είναι 560 και 430 και το εύρος κινήσεων είναι και για τους δύο άξονες 200

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

Βήμα 24: Οδήγηση 1/2

Οδήγηση 1/2
Οδήγηση 1/2

Εάν πιέσετε το βέλος προς τα επάνω στο πληκτρολόγιο, οι μετρητές πρέπει να αλλάξουν θέση και το αυτοκίνητο να οδηγήσει. Εάν πατήσετε το βέλος "επάνω" και το αυτοκίνητο γυρίζει τότε πρέπει να προσθέσετε/αφαιρέσετε μείον σε σημεία στην οθόνη.

Μετά από αυτή τη λειτουργία μετά το χτύπημα "πάνω" βέλος το αυτοκίνητο θα πρέπει να κινείται μπροστά και κάτω το βέλος θα πρέπει να κινείται προς τα πίσω.

Βήμα 25: Οδήγηση 2/2

Οδήγηση 2/2
Οδήγηση 2/2

Τώρα στρίβετε - χτυπήστε αριστερό βέλος εάν το αυτοκίνητο στρίβει δεξιά Πρέπει να αναστρέψετε τα καλώδια (ελέγξτε την παραπάνω εικόνα)

Εάν συγκολλήσετε αυτά τα καλώδια, μπορείτε να τα αλλάξετε στο script.js αλλάξτε τη σειρά αποστολής ταχύτητας κινητήρων, πριν:

pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));

pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));

pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));

μετά:

pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));

pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));

pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ()));

pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));

και τώρα πρέπει να παίξετε με τα μειονεκτήματα όπως ένα βήμα πριν για να λειτουργήσει σωστά;). Όπως πιθανότατα παρατηρήσατε μετά το χτύπημα του βέλους, το αυτοκίνητο δεν οδηγεί με όλη την ταχύτητα για να κάνει το αυτοκίνητο να κινείται γρηγορότερα. και πατήστε και κρατήστε το ξανά

Βήμα 26: Πώς λειτουργεί

Η ιστοσελίδα στέλνει μηνύματα μηνύματος 9-byte σε python script σε μορφή:

  • 1 byte ένα byte ακέραιη τιμή 1
  • 2 bytes ακέραιος Χ θέση κάμερας
  • 2 byte ακέραιη θέση της κάμερας Y
  • Αριθμός 1 byte αριστερός κινητήρας (3 = πίσω, 1 = εμπρός, 2 = στάση)
  • Αριθμός 1 byte ακέραιος αριστερός κινητήρας
  • 1 byte ακέραιος τρόπος κινητήρα δεξιά (3 = πίσω, 1 = εμπρός, 2 = στάση)
  • Αριθμός ταχύτητας κινητήρα 1 byte ακέραιος

η αποστολή μηνύματος γίνεται στο αρχείο script.js στη λειτουργία "sendNow ()"

στο RasbperryPi python.py λαμβάνει αυτό το μήνυμα σε λειτουργία "onUserMessage"

Μπορείτε να το δείτε και να παίξετε λίγο για να ξέρετε τι συμβαίνει.

περιγραφή λειτουργιών κλάσης εδώ

Βήμα 27: Tablet, Mobile Steering

Tablet, τιμόνι για κινητά
Tablet, τιμόνι για κινητά

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

Στη συνέχεια, ρυθμίζουμε τα πάντα στο script.js όπως κάναμε για την ιστοσελίδα ελέγχου επιφάνειας εργασίας Η μορφή μηνύματος είναι ακριβώς η ίδια, ώστε να μην χρειάζεται να αλλάξουμε το σενάριο python.py.

Βήμα 28: Άνοιγμα σελίδας στο κινητό τηλέφωνο

Άνοιγμα σελίδας στο κινητό τηλέφωνο
Άνοιγμα σελίδας στο κινητό τηλέφωνο
Άνοιγμα σελίδας στο κινητό τηλέφωνο
Άνοιγμα σελίδας στο κινητό τηλέφωνο

Αντί να συνδεθείτε στο λογαριασμό σας από το κινητό, απλώς σαρώστε οποιοδήποτε url QR.

λεπτομέρειες για το QR εδώ

Εάν το χειριστήριό σας για κινητά λειτουργεί όταν το RPi και το κινητό είναι στο ίδιο wifi, αλλά όχι εάν χρησιμοποιείτε internet για κινητά, πρέπει να προσθέσετε διακομιστή turn, πώς να το κάνετε αυτό που έχω γράψει εδώ

Βήμα 29: Προσθήκη Turn Server

Προσθήκη Turn Server
Προσθήκη Turn Server
Προσθήκη Turn Server
Προσθήκη Turn Server
Προσθήκη Turn Server
Προσθήκη Turn Server

Μερικές φορές (όταν βρίσκεστε πίσω από NAT ή κάποιες ρυθμίσεις τείχους προστασίας) Δεν μπορείτε να συνδέσετε το ρομπότ σας από άλλο δίκτυο, τότε το ρομπότ σας είναι συνδεδεμένο. Δεν είναι μεγάλο πρόβλημα και στη συνέχεια πρέπει να προσθέσετε turn server.

Έχω δοκιμάσει διακομιστή από την εταιρεία XIRSYS (είναι δωρεάν για προγραμματιστές) και θα δείξω πώς να διαμορφώσετε το turn server χρησιμοποιώντας το σύστημα XIRSYS

κανω ΕΓΓΡΑΦΗ:

global.xirsys.net/dashboard/signup

στη συνέχεια, κάντε κλικ στο "συν" για να προσθέσετε την εφαρμογή

στα δεξιά στην ενότητα "διαπιστευτήρια στατικής στροφής" Έχετε όλα τα δεδομένα που χρειάζεστε. Αντιγράψτε το στο αρχείο webrtc_streamer.conf για να το κάνετε αυτό, μεταβείτε στη διεύθυνση

επεκτείνει το RaspberryPi

κάντε κλικ στο αρχείο webrtc_streamer.conf

κάντε κλικ στο άνοιγμα

και προσθέστε πληροφορίες

turn_server = turn_username =

turn_credential =

μετά το τέλος της επεξεργασίας Θα πρέπει να έχετε κάτι σαν την οθόνη.

στη συνέχεια, κάντε κλικ στην επιλογή Αποθήκευση και επανεκκίνηση του You Rpi, κάνοντας κλικ στο μενού στη συσκευή RasbperryPi και επιλέξτε επανεκκίνηση

Μετά την επανεκκίνηση του προγράμματος RPi Μπορείτε να δείτε προεπισκόπηση βίντεο στο κινητό σας τηλέφωνο ακόμη και αν χρησιμοποιείτε κινητό Internet.

Βήμα 30: Κινητό τιμόνι

Κινητό τιμόνι
Κινητό τιμόνι

στον κύκλο 1 τοποθετούμε αριστερό αντίχειρα, 2 δεξιά - δεν χρειάζεται να είστε ακριβώς σε αυτά τα σημεία - η ιστοσελίδα θα ορίσει μηδενική θέση αμέσως μόλις αγγίξετε την οθόνη και μετακινώντας τους αντίχειρές σας (αριστερή οδήγηση, δεξιά θέση κάμερας) Μπορείτε να ελέγξετε το αυτοκίνητό σου

Βήμα 31: Περίληψη

Ελπίζω να σας άρεσε αυτό το σεμινάριο, όπως έγραψα πριν σε αυτό το σεμινάριο είναι περισσότερες λεπτομέρειες για το πώς λειτουργεί κάτω από την κουκούλα.

μερικοί σύνδεσμοι:

remoteme.org - αρχική σελίδα του remoteme.org εκεί Βρίσκετε τεκμηρίωση και σεμινάρια

FB fanpage - Facebook fanpage νεότερη πληροφορία σχετικά με το remoteme.org

Youtube - μερικά βίντεο έργου, σεμινάρια

Στην υγειά σας, Maciek

Συνιστάται: