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

Χρήση πληκτρολογίου υπερύθρων παλάμης με συσκευές Android: 5 βήματα
Χρήση πληκτρολογίου υπερύθρων παλάμης με συσκευές Android: 5 βήματα

Βίντεο: Χρήση πληκτρολογίου υπερύθρων παλάμης με συσκευές Android: 5 βήματα

Βίντεο: Χρήση πληκτρολογίου υπερύθρων παλάμης με συσκευές Android: 5 βήματα
Βίντεο: Leap Motion SDK 2024, Ιούλιος
Anonim
Χρησιμοποιήστε πληκτρολόγιο υπέρυθρης παλάμης με συσκευές Android
Χρησιμοποιήστε πληκτρολόγιο υπέρυθρης παλάμης με συσκευές Android
Χρησιμοποιήστε πληκτρολόγιο υπέρυθρης παλάμης με συσκευές Android
Χρησιμοποιήστε πληκτρολόγιο υπέρυθρης παλάμης με συσκευές Android
Χρησιμοποιήστε πληκτρολόγιο υπέρυθρης παλάμης με συσκευές Android
Χρησιμοποιήστε πληκτρολόγιο υπέρυθρης παλάμης με συσκευές Android

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

Είχα επίσης μια συσκευή Brainlink. Αυτή είναι μια αρκετά χαριτωμένη μικρή συσκευή για τη διαμεσολάβηση μεταξύ διαφορετικών συσκευών. Διαθέτει έναν επεξεργαστή atxmega16, μια επαναφορτιζόμενη μπαταρία, μερικούς αισθητήρες, ένα ραδιόφωνο Bluetooth, μια δέσμη θυρών, μια θήκη και κάποιο αναβαθμίσιμο υλικολογισμικό για τον έλεγχο όλων. Το Brainlink διακόπτεται, αλλά το SurplusShed το έχει για $ 39 και έχουν περιοδική έκπτωση 30-50% στις πωλήσεις σε όλα. Το πήρα για $ 20. Θα μπορούσατε επίσης να χρησιμοποιήσετε τη δική σας πλακέτα atxmega plus Bluetooth (σχήματα εδώ), αλλά το κόστος σας μπορεί να μην είναι χαμηλότερο.

Ούτως ή άλλως, αφού εντοπίσετε πού βρίσκεται η γραμμή σήματος στο πληκτρολόγιο, πραγματοποιήσετε αναβάθμιση υλικολογισμικού για το Brainlink και γράψετε ένα πρόγραμμα οδήγησης Android για το πληκτρολόγιο, λειτουργεί αρκετά καλά. Δεδομένου ότι το μεγαλύτερο μέρος της εργασίας ήταν έρευνα και λογισμικό, τώρα που έγινε αυτό είναι αρκετά εύκολο έργο για όποιον έχει Brainlink. Χρειάζεσαι:

  • Ασύρματο πληκτρολόγιο PalmOne
  • Brainlink
  • Σύνδεση 3 ή 8 ακίδων για το Brainlink (σύνδεσμος τύπου JST ύψους 1,25 mm). μπορείτε να χρησιμοποιήσετε τη σύνδεση 8 ακίδων που περιλαμβάνεται στο Brainlink, αλλά θα θέλετε να παραγγείλετε περισσότερα για άλλα έργα
  • Συγκόλληση και σίδερο
  • Ηλεκτρική ταινία
  • Προαιρετικά: Σφιγκτήρας γάντζου και βρόχου

Στο παρελθόν έχω χρησιμοποιήσει το Brainlink για να συνδεθώ με ακουστικά Mindflex EEG και με Roomba. Είναι πραγματικά εξαιρετικό για σειριακές εργασίες γεφύρωσης. Απλώς φτιάχνω διαφορετικούς συνδέσμους για διαφορετικές συσκευές και μπορώ να μετακινήσω το Brainlink μεταξύ τους.

Βήμα 1: Ιστορικό

Ιστορικό
Ιστορικό
Ιστορικό
Ιστορικό
Ιστορικό
Ιστορικό

Μη διστάσετε να παραλείψετε αυτήν την περιγραφή φόντου.

Το ασύρματο πληκτρολόγιο PalmOne στέλνει τα δεδομένα του μέσω IR LED σε μίσχο, χρησιμοποιώντας IrDA. Ενώ κάποιος θα μπορούσε να χρησιμοποιήσει έναν ανιχνευτή IR για την αποκωδικοποίηση των δεδομένων, υπάρχει ένας ευκολότερος τρόπος. Εάν διπλώσετε το πληκτρολόγιο κατά το ήμισυ, εκτίθενται τρεις λωρίδες χαλκού. Το μεσαίο είναι αλεσμένο και το κάτω είναι μια γραμμή μετάδοσης. Η τοποθέτησή τους σε παλμογράφο επαληθεύει ότι το σήμα στη γραμμή εκπομπής κωδικοποιείται σε περίπου 9600 (ακριβέστερα: 9760) 8 N 2, με υψηλό επίπεδο περίπου 1,56V και με διαμόρφωση παλμού irDA: 1 είναι υψηλός και θετικοί παλμοί πάρτε τα 3/16 του χρόνου bit.

Δυστυχώς, όλα αυτά σημαίνουν ότι δεν μπορούμε απλά να το συνδέσουμε σε μια απλή μονάδα Bluetooth (τουλάχιστον όχι χωρίς να δημιουργήσουμε προσαρμοσμένο υλικολογισμικό για αυτό), όπως έκανα στο έργο μου Mindflex. Ευτυχώς, το atxmega στο Brainlink διαθέτει λειτουργία irDA για το UART του. Είναι απλό να προσθέσετε λίγο κώδικα στο υλικολογισμικό Brainlink που επιτρέπει σε έναν κώδικα "J1" να τον αλλάξει σε λειτουργία IrDA. Περίμενα ότι το υψηλό επίπεδο 1.56V θα ήταν ανεπαρκές για το atxmega, αλλά εξεπλάγην ευχάριστα όταν ένωσα τις χάλκινες λωρίδες στο GND και το UART Receive στο Brainlink και είδα τα αποτελέσματα στο Realterm: Έπαιρνα ωραίες ακολουθίες έξι byte από το πληκτρολόγιο Το

Αποδείχθηκε ότι η ακολουθία των έξι byte είναι συσκευασία μόνο για έναν κωδικό σάρωσης ενός byte (με μεγάλη απελευθέρωση σήμανσης bit). Συγκεκριμένα, η ακολουθία είναι FF C0 xx yy zz C1, όπου xx είναι ο κωδικός σάρωσης, yy xx xor'ed με FF και zz xx xor'ed με 67. (Στην πραγματικότητα, ο κωδικός σάρωσης μεταδίδεται τρεις φορές: μία φορά σαφής και δύο φορές κωδικοποιημένη. Υποθέτω ότι αυτό συμβαίνει επειδή το irDA είναι επιρρεπές σε διαφθορά και έτσι μπορείτε να χρησιμοποιήσετε την αποκωδικοποίηση της πλειοψηφίας για να λάβετε το byte.) Μετά από αυτό, η μόνη δυσκολία υλικού ήταν να βρούμε ένα μέρος για να κολλήσουμε μια υποδοχή στο πληκτρολόγιο Το Και αυτό δεν ήταν δύσκολο.

Από την πλευρά του λογισμικού, ενώ ίσως θα μπορούσα ίσως να αλλάξω τη μονάδα Bluetooth RN-42 στο Brainlink στη λειτουργία HID, η οποία είχε δυνατότητες τούβλου, αφού αν η μονάδα δεν γυρνούσε πίσω σε SPP, δεν θα μπορούσα να μιλήσω το Brainlink μέσω του πρωτοκόλλου Bluetooth.

Το πιο εύκολο πράγμα ήταν να πάρετε την εφαρμογή πληκτρολογίου BluezIME ανοιχτού κώδικα που επιτρέπει σε διάφορα gamepads Bluetooth να λειτουργούν ως χειριστήρια Android και να προσθέσετε μια λειτουργία για τις ακολουθίες έξι byte του ασύρματου πληκτρολογίου Palm One. Η εφαρμογή που προκύπτει είναι το δωρεάν πληκτρολόγιο P1 στο Google Play τώρα (πηγαίος κώδικας στο github).

Βήμα 2: Αναβάθμιση υλικολογισμικού Brainklink

Αναβάθμιση υλικολογισμικού Brainklink
Αναβάθμιση υλικολογισμικού Brainklink
Αναβάθμιση υλικολογισμικού Brainklink
Αναβάθμιση υλικολογισμικού Brainklink

Για να ενεργοποιήσετε την υποστήριξη σειριακών δεδομένων σε μορφή IrDA στο Brainlink, πρέπει να φορτώσετε το προσαρμοσμένο υλικολογισμικό μου. Είναι εύκολο με μια συσκευή Android και ένα πρόγραμμα μεταφόρτωσης υλικολογισμικού που έγραψα (παρεμπιπτόντως, μπορείτε να τροποποιήσετε το πρόγραμμα μεταφόρτωσης για γενική χρήση atmega/atxmega AVR109 flash uploader).

  1. Συνδέστε το Brainlink (PIN 1234) με μια συσκευή Android-θα πρέπει να το κάνετε ούτως ή άλλως για να συνδέσετε το πληκτρολόγιο
  2. Λήψη του προγράμματος Brainlink Firmware Uploader από το Google Play (πηγή για το πρόγραμμα μεταφόρτωσης και υλικολογισμικό στο github).
  3. Απενεργοποιήστε το Brainlink και συνδέστε τις ακίδες 8 και 2 (περιέργως, ο πείρος 8 είναι ο αριστερότερος πείρος και ο πείρος 1 είναι δεξιά) στη θύρα 8 ακίδων.
  4. Κρατώντας τις καρφίτσες συνδεδεμένες, ενεργοποιήστε το Brainlink. Το LED του πρέπει να γίνει μπλε.
  5. Επιλέξτε το προσαρμοσμένο υλικολογισμικό που θέλετε (εάν έχετε Roomba, το ένα από τα firmware λειτουργεί καλύτερα με τα νεότερα Roombas και το άλλο με τα παλαιότερα) και πατήστε "Μεταφόρτωση".
  6. Αυτό θα έπρεπε να είναι, αν και αν έχετε δυσκολίες σύνδεσης μπορεί να χρειαστεί να δοκιμάσετε περισσότερες από μία φορές.

Ο Brainlink σας είναι πλέον πιο έξυπνος: όχι μόνο υποστηρίζει την ανάγνωση δεδομένων από ορισμένες συσκευές IrDA (μόλις εντοπίσετε ένα μη διαμορφωμένο σήμα), αλλά λειτουργεί επίσης ως τυπικός σύνδεσμος Roomba-to-Bluetooth και μπορεί να καταγράψει δεδομένα από ένα ακουστικό Mindflex EEG. Και το υλικολογισμικό είναι συμβατό προς τα πίσω.

Βήμα 3: Σύνδεση Brainlink με Πληκτρολόγιο

Σύνδεση Brainlink με Πληκτρολόγιο
Σύνδεση Brainlink με Πληκτρολόγιο
Σύνδεση Brainlink με Πληκτρολόγιο
Σύνδεση Brainlink με Πληκτρολόγιο
Σύνδεση Brainlink με Πληκτρολόγιο
Σύνδεση Brainlink με Πληκτρολόγιο

Θα χρειαστείτε έναν σύνδεσμο πρόσδεσης που ταιριάζει στους τρεις αριστερότερους πείρους στη θύρα 8 ακίδων του Brainlink. Αυτοί είναι σύνδεσμοι τύπου JST με απόσταση πείρου 1,25 mm. Μπορείτε να χρησιμοποιήσετε μια υποδοχή τριών ακίδων (επιλογή μου) ή μια υποδοχή 8 ακίδων. Μπορείτε να χρησιμοποιήσετε το βύσμα 8 ακίδων που συνοδεύει το Brainlink, αλλά στη συνέχεια θα θέλετε να παραγγείλετε περισσότερα από αυτά (βρήκα φθηνούς συνδετήρες 3 και 8 ακίδων στο ebay).

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

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

Είναι δελεαστικό να αποσυνδέσετε την πλευρά LED IR της υποδοχής τύπου JST για εξοικονόμηση ζωής μπαταρίας. Μην το κάνεις. Το σήμα καταρρέει αν το κάνετε αυτό. Έλεγξα με τον παλμογράφο μου.

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

Τέλος, όταν τελειώσουν όλα, είτε καλύψτε τις άσχετες επαφές στη σύνδεση Brainlink είτε απλώς κόψτε τα άσχετα καλώδια.

Μπορεί επίσης να θέλετε να κολλήσετε σε κάποιο Velcro στο Brainlink και στο πληκτρολόγιο για να διατηρήσετε το Brainlink στη θέση του.

Βήμα 4: Χρήση με συσκευή Android

Χρήση με συσκευή Android
Χρήση με συσκευή Android
  1. Συνδέστε το Brainlink με τη συσκευή σας Android (PIN 1234).
  2. Εγκαταστήστε την εφαρμογή πληκτρολογίου P1.
  3. Εκκινήστε τις Ρυθμίσεις πληκτρολογίου P1 (ένα εικονίδιο για αυτό θα πρέπει να βρίσκεται στο πρόγραμμα εκκίνησης).
  4. Ενεργοποιήστε το πληκτρολόγιο P1 στις ρυθμίσεις της μεθόδου εισαγωγής Android. Σε νεότερες εκδόσεις Android, μπορείτε να ενεργοποιήσετε το πληκτρολόγιο P1 επιλέγοντας "Επιλογή IME" στις Ρυθμίσεις πληκτρολογίου P1 και πατώντας "Ρύθμιση μεθόδων εισαγωγής". (Θα λάβετε μια προειδοποίηση ότι το πληκτρολόγιο βλέπει όλους τους κωδικούς πρόσβασής σας κ.λπ. Αυτή είναι μια τυπική προειδοποίηση Android: φυσικά, ένα πρόγραμμα οδήγησης πληκτρολογίου βλέπει όλα όσα πληκτρολογείτε. Εάν φοβάστε, κοιτάξτε τον πηγαίο κώδικα του πληκτρολογίου και δημιουργήστε το δικό σου.)
  5. Πατήστε "Επιλογή συσκευής" και επιλέξτε το Brainlink (το δικό μου εμφανίζεται ως RN42-A308).
  6. Πατήστε "Επιλογή IME" στις Ρυθμίσεις πληκτρολογίου P1 και επιλέξτε πληκτρολόγιο P1.
  7. Μπορεί να χρειαστεί λίγος χρόνος για να συνδεθείτε, αλλά θα πρέπει να λάβετε ένα μήνυμα σχετικά με τη σύνδεση εάν όλα πάνε καλά

Και τελειώσατε! Μη διστάσετε να κάνετε δωρεά στον συγγραφέα του BluezIME στο οποίο βασίζεται το πληκτρολόγιο P1.

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

Το πρόγραμμα οδήγησης που έγραψα για το πληκτρολόγιο είναι πολύ απλό. Υποστηρίζει τα συνηθισμένα πλήκτρα, αλλά δεν υποστηρίζει πολλά από τα ειδικά κλειδιά ή άλλα ειδικά πράγματα. Πρόσθεσα υποστήριξη για τη χρήση των δύο κουμπιών με ένα σπίτι (FN-1 και το κλειδί στα αριστερά του χώρου) ως Home, χρησιμοποιώντας το κλειδί των Windows και το FN-2 ως Μενού και το FN-3 ως Αναζήτηση. Επίσης, το ctrl-a, c, v, x λειτουργεί όπως αναμενόταν.

Λειτουργεί αρκετά καλά που έγραψα το πλήρες πρώτο σχέδιο αυτού του Instructable στο τηλέφωνό μου Galaxy S2 με το πληκτρολόγιο.

Βήμα 5: Άλλα πληκτρολόγια

Άλλα πληκτρολόγια
Άλλα πληκτρολόγια
Άλλα πληκτρολόγια
Άλλα πληκτρολόγια

Εάν θέλετε να πειραματιστείτε με άλλα πληκτρολόγια υπερύθρων, θα πρέπει να καταλάβετε τι σήματα στέλνουν και με ποιο ρυθμό baud. Με το Brainlink ενημερωμένο στο λογισμικό συμβατό με το IrDA, μπορείτε να συνδεθείτε με το RealTerm στο Brainlink. Όταν δείτε το επαναλαμβανόμενο σήμα "BL" που είναι η υπογραφή του Brainlink, πληκτρολογήστε:

*J1Z

Ο αστερίσκος ζητάει προσοχή, το J1 μεταβαίνει σε 9600 baud IrDA (απλώς πρέπει να πληκτρολογήσετε το 1 γρήγορα μετά το J ή θα λάβετε σφάλμα). Το Z είναι για σειριακή λειτουργία σε σύνδεση γέφυρας Bluetooth.

Αλλάξτε το RealTerm για να εμφανίσετε εξαγωνικούς κωδικούς και πατήστε τα πλήκτρα στο πληκτρολόγιο και δείτε αν μπορείτε να το καταλάβετε.

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

Υποθέτω ότι το 9600 baud είναι το σωστό ποσοστό baud. Σε αντίθετη περίπτωση, μπορείτε να αλλάξετε το ρυθμό baud του Brainlink. Θα ξεκινήσω δοκιμάζοντας 57600 baud:

*J1u57Z

και μετά 1200 baud:

*J1u12Z

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

Συνιστάται: