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

Telnet στο Arduino/AVR σας!: 4 βήματα
Telnet στο Arduino/AVR σας!: 4 βήματα

Βίντεο: Telnet στο Arduino/AVR σας!: 4 βήματα

Βίντεο: Telnet στο Arduino/AVR σας!: 4 βήματα
Βίντεο: Telnet объяснил 2024, Νοέμβριος
Anonim
Telnet στο Arduino/AVR σας!
Telnet στο Arduino/AVR σας!

Τις προάλλες ήθελα να ελέγξω ένα από τα AVR μου, αλλά ήμουν στον επάνω όροφο και ο Θεός ξέρει ότι ήταν πολύ κόπο να κατέβω κάτω, όπου ήταν ο μικροελεγκτής. Ωστόσο, υπήρχαν δύο αδρανείς υπολογιστές στον επάνω όροφο δίπλα στον τεμπέλη μου, οπότε είχα μισή μέρα από τη δουλειά και αποφάσισα να γράψω μια εφαρμογή που συνδέει δύο θύρες: μια σειριακή θύρα για σύνδεση στο Arduino/AVR και ένα TCP/IP θύρα στην οποία θα μπορούσα να τηλεφωνήσω από το ασύρματο δίκτυό μου ή μέσω του Διαδικτύου. Στη συνέχεια, η εφαρμογή λειτουργεί ως διακομιστής μεσολάβησης μεταξύ του δικτύου TCP/IP και του AVR. Για να δείτε το βίντεο καλύτερα, κάντε κλικ δύο φορές και εμφανίστε το στο δικό του παράθυρο και μεγεθύνετε. Διαφορετικά, στραβοκοιτάξτε και μπορείτε να δείτε τι πληκτρολογείτε. Έτσι, κατέληξα να τροποποιήσω την εφαρμογή σειριακής σύνδεσης AVR Terminal που είχα ήδη γράψει και πρόσθεσα υποστήριξη TCP/IP σε αυτήν. Για να το ακολουθήσω, έγραψα κάποιο υλικολογισμικό που παρέχει κάτι σαν κέλυφος UNIX, δίνοντάς μου απομακρυσμένη πρόσβαση σε όλες τις ακίδες, τις ρυθμίσεις ασφαλειών κλπ. Μπορείτε να ενεργοποιήσετε τις λυχνίες LED και όλα αυτά τα πράγματα από απόσταση. Υποστηρίζει ακόμη και την προσαρμογή της ταχύτητας του ρολογιού σε πραγματικό χρόνο και διαθέτει σύστημα ψευδο-κωδικού πρόσβασης που δίνει το πλαίσιο για Λίστες Ελέγχου Πρόσβασης ή έλεγχο ταυτότητας για εντολές σε επίπεδο ρίζας (όπως η απενεργοποίηση υποσυστημάτων κ.λπ.). Εδώ είναι μερικά από τα πράγματα που μπορεί να κάνει:

  • Εμφάνιση της συχνότητας του επεξεργαστή σας
  • Ορίστε οποιαδήποτε καρφίτσα σε είσοδο ή έξοδο
  • Διαβάστε την κατάσταση οποιασδήποτε καρφίτσας
  • Στείλτε τη λογική 1 και 0 σε οποιαδήποτε καρφίτσα για να ενεργοποιήσετε τις λυχνίες LED κ.λπ
  • Απενεργοποιήστε και ενεργοποιήστε τα περιφερειακά SPI, TWI, USART και ADC
  • Διαβάστε την κάτω ασφάλεια, την υψηλότερη ασφάλεια, την εξωτερική ασφάλεια και τα κλειδώματα σε πραγματικό χρόνο
  • Ξεκινήστε χρονοδιακόπτες για αυτόματο χρονοδιάγραμμα συμβάντων και πραγμάτων.
  • Ένα πλαίσιο για ένα σύστημα ελέγχου ταυτότητας στο EEPROM
  • Καθιερώστε οποιοδήποτε διαθέσιμο προ-χρονοδιακόπτη ρολογιού σε πραγματικό χρόνο
  • Γράφτηκε σε C ++ και καταρτίστηκε για ένα ATmega328P

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

Βήμα 1: Τι θα χρειαστείτε

  • Ένα αυτόνομο AVR ή Arduino/κλώνος (για λεπτομερείς οδηγίες σχετικά με το πώς να φτιάξετε το δικό σας, αρκετά πλήρες αυτόνομο σύστημα AVR που περιλαμβάνει έναν εξωτερικό κρύσταλλο, πυκνωτές αποσύνδεσης και μια ρυθμιζόμενη πηγή ισχύος, δείτε το άλλο μου διδάσκον).
  • Μια σειριακή σύνδεση ή USB με τον κεντρικό υπολογιστή σας
  • Η έκδοση τερματικού AVR που έχει τον ενσωματωμένο διακομιστή TCP/IP
  • Προαιρετικά, το AVR Shell (avrsh) εάν θέλετε να εκτελέσετε το υλικολογισμικό στο στόχο AVR/Arduino για να αποκτήσετε πρόσβαση στα περιφερειακά σας.

Η πύλη TCP/IP λειτουργεί με οποιοδήποτε υλικολογισμικό μπορεί να χρησιμοποιείτε ή θέλετε να γράψετε, εφόσον επικοινωνεί μέσω του UART στον υπολογιστή. Δυστυχώς, δεν υπάρχει έκδοση Java, οπότε το τερματικό AVR τρέχει μόνο σε Windows αυτήν τη στιγμή.

Βήμα 2: Λήψη και εγκατάσταση του τερματικού AVR και του διακομιστή TCP/IP

Λήψη και εγκατάσταση του τερματικού AVR και του διακομιστή TCP/IP
Λήψη και εγκατάσταση του τερματικού AVR και του διακομιστή TCP/IP

Το τερματικό AVR είναι μια εφαρμογή Windows που παρουσίασα σε προηγούμενες οδηγίες. Μπορεί να μιλήσει με το AVR σας μέσω του RS232 USART, καθώς και να ακούσει εισερχόμενες συνδέσεις TCP/IP και να τις μεταδώσει μέσω της σύνδεσης RS232 για απόκριση από το AVR που περιμένετε. Δεν είναι πλήρης για χαρακτηριστικά, αλλά προσφέρει μια αρχική περιήγηση χαρακτηριστικών που περιγράφονται λεπτομερώς εδώ και στα άλλα μου οδηγίες. Μπορείτε να κατεβάσετε την πιο πρόσφατη έκδοση εδώ. Το λογισμικό δεν λαμβάνει πλήρη εγκατάσταση. μπορείτε απλά να εκτελέσετε το λογισμικό από τον κατάλογό του. Το πλαίσιο κειμένου στη γραμμή εργαλείων που λέει ΟΠΟΙΑΔΗΠΟΤΕ είναι η διεύθυνση IP που πρέπει να συνδεθεί για ακρόαση. ΟΠΟΙΟΣΔΗΠΟΤΕ θα δεσμεύσει όλες και όλες τις διευθύνσεις IP, ή προαιρετικά μπορείτε να καταχωρίσετε μία προς την οποία θα δεσμευτείτε ιδιαίτερα. Το πλαίσιο κειμένου στα δεξιά της διεύθυνσης IP είναι η θύρα IP στην οποία θα είναι συνδεδεμένος ο διακομιστής. Η προεπιλογή είναι 23232, αλλά μπορείτε να το αλλάξετε σε ό, τι θέλετε.

Βήμα 3: Εγκαταστήστε το κέλυφός σας

Προτού το AVR σας μπορεί να επικοινωνήσει ξανά μαζί σας, θα πρέπει να έχετε κάποιο λειτουργικό σύστημα ή κέλυφος στο AVR -στόχο. Υπάρχουν μερικά διαθέσιμα, συμπεριλαμβανομένου του AVR Shell μου και του κελύφους Bitlash.

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

Βήμα 4: Telnet και απολαύστε

Telnet και απολαύστε
Telnet και απολαύστε

Θυμηθείτε τα στοιχεία διαμόρφωσής σας, διαφορετικά μπορείτε να τα διατηρήσετε σε προεπιλογή. Στο παράδειγμα της εικόνας μου, βρίσκομαι σε έναν κεντρικό υπολογιστή που ονομάζεται "newton" και τηλεφωνώ στο μηχάνημα στο οποίο είναι συνδεδεμένο το AVR, ένας κεντρικός υπολογιστής που ονομάζεται "quadcpu1". Μπορείτε να δείτε την τυπική έξοδο telnet. Έτσι, εάν το έχετε διατηρήσει στις προεπιλογές, μπορείτε να έχετε πρόσβαση στο AVR/Arduino από το δίκτυο TCP/IP με: telnet 23232

ή εάν βρίσκεστε στο ίδιο πλαίσιο: telnet localhost 23232

Απλώς θυμηθείτε να χρησιμοποιήσετε τη διαμόρφωση στην οποία την αλλάξατε, αν την αλλάξατε. Αυτό θα έπρεπε να είναι. Ο πηγαίος κώδικας τόσο για το διακομιστή telnet όσο και για το υλικολογισμικό AVR διατίθεται ελεύθερα ως ανοιχτού κώδικα και θα πρέπει να σας παρέχει αρκετές καλές πληροφορίες για να σας επιτρέψει να τον τροποποιήσετε ή να γράψετε τις δικές σας εκδόσεις. Το επόμενο βήμα μπορεί να είναι να γράψετε μια εφαρμογή Java ή Qt του διακομιστή TCP/IP, έτσι ώστε οι χρήστες Mac και Linux να μπορούν να επωφεληθούν.

Συνιστάται: