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

Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone: 11 βήματα
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone: 11 βήματα

Βίντεο: Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone: 11 βήματα

Βίντεο: Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone: 11 βήματα
Βίντεο: 6 πράγματα που δεν ξέρεις για το iPhone! | 2022 Tips 2024, Νοέμβριος
Anonim
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone
Πώς να συνδέσετε ένα πληκτρολόγιο PS/2 στο iPhone

Παρόλο που έχω δει πολλές εικόνες από πληκτρολόγια PS/2 που είναι συνδεδεμένα σε iPhone στο Διαδίκτυο, κανείς δεν έχει δημοσιεύσει ακόμη λεπτομερείς οδηγίες για το πώς να το κάνετε αυτό μόνοι σας. Μέχρι τώρα, δηλαδή.

Σε αυτό το Instructable θα σας δείξω πώς μπορείτε να φτιάξετε ένα μετατροπέα πληκτρολογίου PS/2 σε iPhone, συμπεριλαμβανομένων όλων των οδηγιών υλικού και λογισμικού.

Προαπαιτούμενα

  • Jailbroken iPhone - Το επίσημο SDK δεν επιτρέπει πρόσβαση στη σειριακή θύρα λόγω της συνωμοσίας ξωτικών, επομένως απαιτείται jailbreak. Το μόνο που χρειάζεται να γνωρίζετε για το jailbreaking είναι στο iPhone Dev Team Blog.
  • Arduino Diecimila ή Dumilanove (ή κλώνος), διαθέσιμο από πολλά μέρη. Αυτό το πώς υποθέτει ότι το Arduino σας είναι συναρμολογημένο.
  • Ένας πίνακας iPod Breakout, όπως αυτός από το Sparkfun. Οποιοδήποτε παρόμοιο προϊόν θα λειτουργήσει.
  • Υποδοχή πληκτρολογίου θηλυκού PS/2 (Din 6). Τραβήξτε έναν από έναν παλιό υπολογιστή ή αγοράστε έναν από Digikey ή παρόμοιο προμηθευτή.
  • Σύρμα, κατά προτίμηση αρκετά χρώματα και περίπου 24 μετρητή. Χρησιμοποιώ ένα καρούλι από το RadioShack στις παρακάτω φωτογραφίες.
  • Μία αντίσταση 500k. Χρησιμοποιώ μια αξονική αντίσταση μέσω οπών από το RadioShack, αλλά μπορείτε να το προσθέσετε και στην παραγγελία σας Digikey.
  • Συγκολλητικό σίδερο και συγκολλητικό. Εάν δεν ξέρετε πώς να κολλήσετε, μπορείτε να μάθετε εδώ και εδώ.
  • (Προαιρετικά) Κεφαλίδες καρφιτσών, όπως αυτές. Τα σπάω και τα κολλάω στα άκρα των καλωδίων, έτσι ώστε να συνδέονται όμορφα στο Arduino.
  • (Προαιρετικά) Γλυκό λουρί μπαταρίας 9v, ώστε το Arduino σας να είναι φορητό διαθέσιμο από το Maker Store.
  • (Προαιρετικά) Στερεοφωνική υποδοχή ακουστικών από το RadioShack ή το Digikey.

Βήμα 1: Κολλήστε το iPhone Breakout - Μέρος 1

Συγκολλήστε το iPhone Breakout - Μέρος 1
Συγκολλήστε το iPhone Breakout - Μέρος 1

Μόλις φτάσουν όλα τα συστατικά σας, πυροδοτήστε το συγκολλητικό σίδερο και ρίξτε μια γρήγορη ματιά στο iPod Connector Pin-Out.

Θα χρησιμοποιήσουμε τέσσερις από αυτές τις ακίδες για το πληκτρολόγιο: 11, 13, 16 και 21. Ο ορισμός του πείρου 21 λέει ότι πρέπει να τοποθετήσουμε μια αντίσταση 500k μεταξύ της ακίδας 21 και της γείωσης για να ενεργοποιήσουμε τις σειριακές επικοινωνίες με το iPhone, οπότε θα κολλήσουμε μια αντίσταση μεταξύ του πείρου 21 και του πείρου 16, που είναι η σειριακή γείωση. Θα προσθέσουμε επίσης κεφαλίδες pin στις ακίδες 11 και 13, οι οποίες θα λειτουργήσουν ως οι ακίδες TX και RX για σειριακές επικοινωνίες. Δεδομένου ότι θα αποστέλλουμε ΜΟΝΟ στο iPhone, χρησιμοποιούμε μόνο την καρφίτσα RX του iPhone, οπότε θα προσθέσουμε επίσης ένα κομμάτι σύρμα για να συνδέσουμε τον πείρο 11, τον αχρησιμοποίητο πείρο TX, απευθείας στη γείωση στο pin 16.

Μπορείτε επίσης προαιρετικά να προσθέσετε την υποδοχή ακουστικών stero στις ακίδες 2, 3 και 4 αυτή τη στιγμή και θα λειτουργεί όποτε είναι συνδεδεμένο το breakout. Αυτό δεν έχει καμία σχέση με το πληκτρολόγιο, αλλά αν έχετε 1G iPhone με το κουτσό τυπική υποδοχή ακουστικών, αυτό θα διορθωθεί.

Βήμα 2: Συγκολλήστε το iPhone Breakout - Μέρος 2

Συγκολλήστε το iPhone Breakout - Μέρος 2
Συγκολλήστε το iPhone Breakout - Μέρος 2

Έχω βάλει το βραχυκυκλωτήρα μεταξύ του πείρου 11 και του πείρου 16 στο πίσω μέρος του πίνακα διαρροής. Μπορεί να είναι λίγο δύσκολο να τοποθετήσετε τα πάντα στον πείρο 16, γι 'αυτό συνιστώ πρώτα να κολλήσετε την αντίσταση μέσα από την τρύπα, στη συνέχεια να τυλίξετε το άκρο του καλωδίου βραχυκυκλωτήρα γύρω από αυτήν και να τις κολλήσετε πριν αποκολλήσετε το καλώδιο αντίστασης.

Μια άλλη τακτική που μπορεί να είναι χρήσιμη εδώ είναι πρώτα να κολλήσετε τα άκρα του σύρματος σας και στη συνέχεια να κολλήσετε λίγο κολλητά στην τρύπα στην οποία θέλετε να κολλήσετε το σύρμα. Χρησιμοποιήστε την πλευρά του συγκολλητικού σιδήρου για να ζεστάνετε την κόλλα συγκόλλησης και το ΔΙΑΦΑΝΕΙΤΕ το κονσερβοποιημένο άκρο του σύρματος στην επιφάνεια. Αφαιρέστε το σίδερο, αφήστε το κηλίδιο να κρυώσει και μετά αφήστε το σύρμα.

Βήμα 3: Συγκόλληση του συνδετήρα PS/2 - Μέρος 1

Συγκόλληση του συνδετήρα PS/2 - Μέρος 1
Συγκόλληση του συνδετήρα PS/2 - Μέρος 1

Δεν υπάρχει καμιά διαδρομή που μπορείτε να ακολουθήσετε μέσω της αρίθμησης καρφιτσών του συνδετήρα PS/2 που έχει οποιοδήποτε νόημα εκτός του πλαισίου των διαταραγμένων αναταραχών μιας συνάντησης επιτροπής. Μην σκέφτεστε πολύ τους αριθμούς των καρφιτσών, απλώς δείτε την εικόνα.

Θα χρησιμοποιήσουμε τέσσερις καρφίτσες εδώ και θα τις συνδέσουμε όλες με το Arduino. Το έδαφος θα συνδεθεί με το Ground στο Arduino, το VCC θα συνδεθεί με 5V και οι ακίδες δεδομένων και ρολογιού θα μεταφερθούν σε δύο από τις ψηφιακές ακίδες του Arduino (3 και 4).

Βήμα 4: Συγκόλληση του συνδετήρα PS/2 - Μέρος 2

Συγκόλληση του συνδετήρα PS/2 - Μέρος 2
Συγκόλληση του συνδετήρα PS/2 - Μέρος 2

Το κάτω μέρος του συνδετήρα PS/2 είναι ακόμη λιγότερο διαισθητικό από το σχήμα αρίθμησης. Σας συνιστώ να ελέγξετε αυτήν την εικόνα, αλλά και να επαληθεύσετε ότι οι καρφίτσες στο κάτω μέρος του συνδέσμου σας ταιριάζουν με τις αριθμημένες καρφίτσες που νομίζετε ότι κάνουν πριν από τη συγκόλληση οτιδήποτε. Μπορείτε να ελέγξετε τη συνδεσιμότητα με ένα κανονικό πολύμετρο ρυθμίζοντάς το να μετράει την αντίσταση και συνδέοντας τον έναν αισθητήρα στον πείρο στο κάτω μέρος και κολλώντας τον άλλο στην τρύπα. Εάν υπάρχει οποιαδήποτε αντίσταση, τότε ο πείρος είναι συνδεδεμένος με αυτήν την οπή.

Χρησιμοποιώ το πράσινο σύρμα για τον πείρο του ρολογιού, το κόκκινο σύρμα για το VCC, το λευκό σύρμα για τα δεδομένα και το μαύρο σύρμα για τη γείωση.

Βήμα 5: Κολλήστε τις επικεφαλίδες καρφιτσών σε δυνητικούς πελάτες

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

Μόλις συνδέσετε τα βύσματα, αφαιρέστε τα άλλα άκρα των καλωδίων και συγκολλήστε τα καλώδια στις κεφαλίδες καρφιτσών. Αυτό θα σας επιτρέψει να τα συνδέσετε εύκολα στο Arduino. Εάν δεν έχετε πάρει τις επικεφαλίδες των καρφιτσών, μπορείτε να δοκιμάσετε προσεκτικά να κολλήσετε τα καλώδια για να τα κάνετε να παραμείνουν καλύτερα στις οπές καρφίτσας Arduino.

Έχω συνδέσει ορισμένα καλώδια στις κεφαλίδες των ακίδων στις ακίδες 11 και 13 του πίνακα διάσπασης του iPhone. Το μαύρο σύρμα είναι στη γείωση (καρφίτσα 11) και το κόκκινο σύρμα είναι στο VCC (ακίδα 13). Έχω κολλήσει στη συνέχεια επικεφαλίδες καρφιτσών στα καλώδια για τα δύο καλώδια από την πλακέτα διάσπασης και τα τέσσερα που προέρχονται από τη σύνδεση PS/2.

Βήμα 6: (Προαιρετικό) Ιμάντας μπαταρίας 9V

(Προαιρετικό) Λάμπα μπαταρίας 9V
(Προαιρετικό) Λάμπα μπαταρίας 9V

Χρησιμοποιώ Arduino Diecimila, καθώς αυτό το πρόγραμμα δεν απαιτεί καλύτερο τσιπ. Αυτό φαίνεται με μια πλεξούδα μπαταρίας 9V από το SparkFun για φορητότητα.

Βήμα 7: Συνδέστε τους οδηγούς PS/2 στο Arduino

Συνδέστε τους οδηγούς PS/2 στο Arduino
Συνδέστε τους οδηγούς PS/2 στο Arduino

Στη συνέχεια, συνδέουμε το PS/2 Connector στο Arduino. Συνδέστε το καλώδιο ρολογιού στην ψηφιακή ακίδα 3, το καλώδιο δεδομένων στην ψηφιακή ακίδα 4 και συνδέστε το καλώδιο γείωσης στη γείωση στο Arduino και το καλώδιο VCC στον πείρο 5V.

Βήμα 8: Συνδέστε τα καλώδια IPhone στο Arduino

Συνδέστε τα καλώδια IPhone στο Arduino
Συνδέστε τα καλώδια IPhone στο Arduino

Για να συνδέσετε το iPhone breakout, απλώς συνδέστε το καλώδιο από το Pin 13 στο TX Pin στο Arduino (Pinηφιακό Pin 1) και, στη συνέχεια, συνδέστε το καλώδιο από το Pin 11 σε οποιοδήποτε διαθέσιμο Ground στο Arduino.

ΣΗΜΑΝΤΙΚΟ: Για να αποφύγετε προβλήματα με το φλας του Arduino, αποσυνδέστε το TX Pin στο Arduino πριν το αναβοσβήνει. Περισσότερα για αυτό αργότερα. Μετά από αυτό, όλη η συγκόλληση έχει ολοκληρωθεί. Τώρα ήρθε η ώρα να προχωρήσουμε στον προγραμματισμό του Arduino!

Βήμα 9: Ο κώδικας Arduino

Ο κώδικας Arduino
Ο κώδικας Arduino

Το λογισμικό Arduino απομακρύνει τα δεδομένα από το πληκτρολόγιο, μεταφράζει τους κωδικούς σάρωσης του πληκτρολογίου σε κωδικούς κλειδιών και χειρίζεται πατήματα των πλήκτρων shift και caps κλείδωμα.

Αρχικά, κατεβάστε και εγκαταστήστε το περιβάλλον ανάπτυξης Arduino από εδώ. Ακολουθήστε τις οδηγίες στον ιστότοπο, αλλά φροντίστε να εγκαταστήσετε το κατάλληλο πρόγραμμα οδήγησης FTDI από τον κατάλογο προγραμμάτων οδήγησης στην εγκατάσταση Arduino.

Στη συνέχεια, θα χρειαστείτε μια πρόσθετη βιβλιοθήκη Arduino για PS/2. Κατεβάστε το αρχείο "ps2.zip" από αυτήν τη σελίδα. Για εγκατάσταση, αποσυμπιέστε τη λήψη σε ένα φάκελο και μετακινήστε τον φάκελο σε υποκατάλογο του καταλόγου "υλικό/βιβλιοθήκες" στην εγκατάσταση Arduino. Στο OSX, μπορείτε να μεταβείτε πρώτα στο Arduino.app και στην επιλογή "Εμφάνιση περιεχομένων πακέτων".

Μόλις εγκατασταθεί το Arduino και η βιβλιοθήκη ps2, κατεβάστε τον πηγαίο κώδικα από εδώ. Ανοίξτε την εφαρμογή Arduino, δημιουργήστε ένα νέο έργο και επικολλήστε τον πηγαίο κώδικα σε αυτήν. Αποθήκευση και, στη συνέχεια, μεταβείτε στο Sketch-> Verify/Compile για να βεβαιωθείτε ότι δημιουργείται. Εάν όχι, βεβαιωθείτε ότι η βιβλιοθήκη έχει εγκατασταθεί σωστά.

Σε μια δευτερεύουσα σημείωση, στην πραγματικότητα δεν έγραψα κανένα απολύτως κωδικό για αυτό το έργο. Ξεκίνησα να προσπαθώ να χρησιμοποιήσω τη βιβλιοθήκη PS2KeyboardExt2, αλλά αυτή η βιβλιοθήκη βασίζεται σε διακοπές και ενώ μπορεί να τρέξει σε ένα Arduino που μιλάει επίσης σειριακά στα 9600 bps, μόλις σκαρφάλωσα το σειριακό έως 19200 bps, οι διακοπές σταμάτησαν να λειτουργούν σε σταθερός τρόπος. Έτσι έβγαλα όλο τον ωραίο κώδικα από το PS2KeyboardExt2, συμπεριλαμβανομένων των βασικών ορισμών και του ωραίου χειρισμού βάρδιων και κεφαλών κλειδώματος και το επεξεργάστηκα σε ένα πρόγραμμα που δεν χρησιμοποιεί διακοπές και κάνει χρήση μιας διαφορετικής, πολύ απλούστερης βιβλιοθήκης PS/2 Το Αυτό το καθιστά ικανό να χειρίζεται σειριακά 19200 bps με αξιόπιστο τρόπο.

Τώρα, για να προγραμματίσετε το Arduino!

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

Μόλις μεταφορτωθεί το πρόγραμμα, συνδέστε το πληκτρολόγιο στην υποδοχή PS/2. Θα πρέπει να δείτε τα φώτα να αναβοσβήνουν. Μπορείτε να ανοίξετε το Serial Monitor στην εφαρμογή Arduino και να δοκιμάσετε να πληκτρολογήσετε μερικά γράμματα στο πληκτρολόγιο. Θα πρέπει να δείτε αυτά τα γράμματα να εμφανίζονται στο Serial Monitor. Δοκιμάστε να ενεργοποιήσετε και να απενεργοποιήσετε το Caps Lock, το φως στο πληκτρολόγιο πρέπει να ανάβει και να απενεργοποιείται και οι χαρακτήρες να βγαίνουν σωστά με κεφαλαία γράμματα.

Βήμα 10: Το πρόγραμμα πελάτη IPhone

Τώρα για να ρυθμίσετε το πρόγραμμα -πελάτη iPhone.

Για τον κωδικό πελάτη, χρησιμοποιώ ένα πρόγραμμα που βρήκα στη σελίδα του Κώδικα Google του Anthony Pray. Αυτό το πρόγραμμα διαβάζει την είσοδο από τη σειριακή θύρα στα 19200 bps και στη συνέχεια εγχέει το κατάλληλο συμβάν πληκτρολογίου χρησιμοποιώντας μια βιβλιοθήκη πελάτη VNC. Έχω δημιουργήσει έναν τοπικό καθρέφτη της πηγής μόνο για το κείμενο, ο οποίος μπορεί εύκολα να ληφθεί με το wget.

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

Μεταβείτε στο Cydia ή το Icy και εγκαταστήστε τα ακόλουθα πακέτα:

  • Veency - Παρέχει τον διακομιστή VNC, διαμορφώστε τον ώστε να λειτουργεί κατά την εκκίνηση
  • LibVNCServer - Παρέχει libvncclient
  • iPhone 2.0 Toolchain - Παρέχει ένα περιβάλλον κατασκευής (gcc, libgcc, ldid, libz απαιτούνται αν ακολουθήσετε άλλη διαδρομή)
  • MobileTerminal - Έτσι μπορείτε να έχετε πρόσβαση στο τερματικό iPhone
  • wget - Έτσι μπορείτε να τραβήξετε προς τα κάτω το αρχείο προέλευσης

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

  • wget
  • gcc -static -libgcc -o TouchClient TouchClient.c -lvncclient
  • ldid -S TouchClient

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

Για να ξεκινήσετε το πρόγραμμα, εκτελέστε το από το Mobile Terminal με:

./TouchClient

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

Παρατήρησα ότι η εκτέλεση αυτού από το MobileTerminal διατηρεί το πρόγραμμα ζωντανό ακόμη και όταν φεύγετε από το MobileTerminal, αλλά θα ήταν καλύτερα να χρησιμοποιείτε το launchd. Δεν το έχω καταλάβει ακόμα.

Βήμα 11: Τελειώνοντας τις πινελιές και τη μελλοντική εργασία

Για να τελειώσετε, επανασυνδέστε το καλώδιο από το Pin 13 στο iPhone breakout στο TX pin (pin 1) στο Arduino. Αποσυνδέστε το καλώδιο USB και αλλάξτε το Arduino σε εξωτερική τροφοδοσία. Συνδέστε το iPhone breakout στο iPhone σας.

Αν:

  • Το TouchClient εκτελείται στο iPhone σας
  • Το λογισμικό PS2 εκτελείται στο Arduino σας
  • Το πληκτρολόγιο είναι συνδεδεμένο στην υποδοχή και η σύνδεση συνδέεται σωστά στο Arduino
  • Το Veency εκτελείται και έχετε αποδεχτεί τη σύνδεση από το TouchClient
  • Δεν κολλάει τίποτα άλλο

Θα πρέπει να μπορείτε να πληκτρολογείτε στο πληκτρολόγιο PS/2 και να μεταφράζετε αυτά τα πλήκτρα στις κατάλληλες πληκτρολογήσεις iPhone. Αυτό θα λειτουργήσει οπουδήποτε στο iPhone, σε οποιαδήποτε εφαρμογή ή εγγενή λειτουργία.

Αυτή η λύση δεν είναι τέλεια, αλλά είναι μια προσέγγιση γενικής χρήσης για τη χρήση του Arduino για προσθήκη υποστήριξης πληκτρολογίου PS/2 σε σχεδόν οτιδήποτε μπορεί να διαβάσει απλά σειριακά μηνύματα.

Μελλοντική δουλέια:

  • Η αντιστοίχιση κώδικα σάρωσης θα μπορούσε να μεταφερθεί εξ ολοκλήρου στο iPhone και το τμήμα υλικού αυτού του έργου θα μπορούσε να εφαρμοστεί εκ νέου σε ένα πολύ φθηνότερο και χαμηλότερο τσιπ κατανάλωσης ενέργειας, όπως ένα PIC. Αυτό θα μείωνε το κόστος της μονάδας κατά περίπου $ 30, αν και θα απαιτούσε προγραμματιστή PIC.
  • Δεν είναι όλα τα ειδικά κλειδιά αντιστοιχισμένα σωστά, αλλά αν κοιτάξετε τον κώδικα Arduino και μετά τον κωδικό iPhone, θα δείτε ότι πρόκειται για μια απίστευτα απλή διαδικασία. Παρακαλώ δημοσιεύστε τυχόν αλλαγές που κάνετε εδώ ως σχόλιο!
  • Αντί να είμαι ένα τρελό σύρμα, θα ήθελα να το δω να ταιριάζει σε ένα άνετο μικρό περίβλημα για πραγματική φορητότητα. Οποιεσδήποτε ιδέες σε αυτό το τμήμα θα εκτιμηθούν.
  • Θα ήθελα να δώσω στον TouchClient έναν κωδικό πρόσβασης για το Veency, ώστε να μην υπάρχει αυτό το ενοχλητικό αναδυόμενο παράθυρο Αποδοχή/Απόρριψη.
  • Αυτή η ακριβής μέθοδος θα μπορούσε να χρησιμοποιηθεί για την προσθήκη πληκτρολογίου Bluetooth. Απλώς προσθέστε μια ενότητα Bluetooth-Serial στο iPhone breakout και συνεχίστε να χρησιμοποιείτε το TouchClient & Veency.

Αυτό είναι. Ελπίζω να απολαύσατε το Instructable! Περιμένω με ανυπομονησία τα σχόλιά σας. Σχετικά, - αχ

Συνιστάται: