Სარჩევი:

გამოიყენეთ პალმის ინფრაწითელი კლავიატურა 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– ის firmware განახლებისთვის და კლავიატურის Android დრაივერის დასაწერად, ის საკმაოდ კარგად მუშაობს. მას შემდეგ, რაც სამუშაოების უმეტესობა იყო გამოძიება და პროგრამული უზრუნველყოფა, ახლა რომ დასრულდა, ეს საკმაოდ ადვილი პროექტია ყველასთვის, ვისაც აქვს Brainlink. Შენ გჭირდება:

  • PalmOne უკაბელო კლავიატურა
  • ტვინის ბმული
  • 3 ან 8 პინიანი ტეტერი Brainlink– ისთვის (1.25 მმ მოედანზე JST სტილის კონექტორი); თქვენ შეგიძლიათ გამოიყენოთ 8 პინიანი ტეტერი, რომელიც შედის Brainlink– ში, მაგრამ თქვენ გსურთ შეუკვეთოთ მეტი სხვა პროექტებისთვის
  • გამდნარი და რკინა
  • ელექტრო ფირზე
  • სურვილისამებრ: Hook and loop fastener

წარსულში მე ვიყენებდი Brainlink– ს Mindflex EEG ყურსასმენთან დასაკავშირებლად და Roomba– სთან დასაკავშირებლად. ეს მართლაც შესანიშნავია სერიული Bluetooth– ის დასაკავშირებლად. მე უბრალოდ ვაკეთებ სხვადასხვა კონექტორს სხვადასხვა მოწყობილობებისთვის და შემიძლია გადავიტანო Brainlink მათ შორის.

ნაბიჯი 1: ფონი

ფონი
ფონი
ფონი
ფონი
ფონი
ფონი

მოგერიდებათ გამოტოვოთ ამ ფონის აღწერა.

PalmOne უკაბელო კლავიატურა აგზავნის თავის მონაცემებს IR LED– ის საშუალებით, IrDA– ს გამოყენებით. მიუხედავად იმისა, რომ შეგიძლიათ გამოიყენოთ IR დეტექტორი მონაცემების დეკოდირებისთვის, არსებობს უფრო მარტივი გზა. თუ კლავიატურას ნახევრად გადაკეცავთ, სამი სპილენძის ზოლი გამოჩნდება. შუა არის დაფქული და ქვედა არის გადამცემი ხაზი. მათი ოსცილოსკოპზე დაყენება ადასტურებს, რომ გადამცემი ხაზის სიგნალი დაშიფრულია დაახლოებით 9600 (უფრო ზუსტად: 9760) 8 N 2, მაღალი დონით დაახლოებით 1.56V და irDA პულსის ფორმირებით: 1 მაღალია და დადებითი პულსი მიიღეთ 3/16 ცოტა დრო.

სამწუხაროდ, ეს ყველაფერი იმას ნიშნავს, რომ ჩვენ არ შეგვიძლია უბრალოდ ჩავრთოთ იგი Bluetooth– ის მარტივ მოდულში (ყოველ შემთხვევაში არა ამისთვის საკუთარი პროგრამული უზრუნველყოფის შექმნის გარეშე), როგორც ეს გავაკეთე ჩემს Mindflex პროექტში. საბედნიეროდ, Brainlink– ის atxmega– ს აქვს irDA რეჟიმი მისი UART– ისთვის. Brainlink firmware- ში ცოტაოდენი კოდის დამატება მარტივია, რაც საშუალებას აძლევს "J1" კოდს გადართოს ის IrDA რეჟიმში. ველოდი, რომ 1.56V მაღალი დონე არასაკმარისი იქნებოდა atxmega– სთვის, მაგრამ სასიამოვნოდ გამიკვირდა, როდესაც სპილენძის ზოლები დავუკავშირე GND– ს და UART Receive– ს Brainlink– ზე და დავინახე შედეგები Realterm– ში: კლავიატურადან ვიღებდი ექვს ბაიტიან მიმდევრობას. რა

აღმოჩნდა, რომ ექვსი ბაიტიანი თანმიმდევრობა არის შეფუთვა მხოლოდ ერთი ბაიტიანი სკანირების კოდისთვის (მაღალი ბიტის მარკირების გამოშვებით). კერძოდ, თანმიმდევრობაა FF C0 xx yy zz C1, სადაც xx არის სკანირების კოდი, yy არის xx xor'ed FF და zz არის xx xor'ed 67. (ფაქტობრივად, სკანირების კოდი გადადის სამჯერ: ერთხელ გამჭვირვალე და ორჯერ დაშიფრული. მე ვხვდები, რომ ეს იმიტომ ხდება, რომ irDA მიდრეკილია კორუფციისკენ და ასე რომ თქვენ შეგიძლიათ გამოიყენოთ უმრავლესობის დეკოდირება ბაიტის მისაღებად.) ამის შემდეგ, ერთადერთი აპარატურის სირთულე იყო კლავიატურაზე კონექტორის შეკვრის ადგილის პოვნა. რა და ეს არ იყო რთული.

პროგრამული უზრუნველყოფის მხრივ, მიუხედავად იმისა, რომ მე შეიძლება შემეძლოს გადავიტანო RN-42 Bluetooth მოდული Brainlink– ში HID რეჟიმში, რომელსაც გააჩნდა აგურის პოტენციალი, რადგან თუ მოდული არ გადავიდა SPP– ზე, მე ვერ შევძლებ საუბარს Brainlink თავისი Bluetooth პროტოკოლით.

უფრო ადვილი გასაკეთებელი იყო მხოლოდ ღია კოდის BluezIME კლავიატურის პროგრამის აღება, რომელიც სხვადასხვა Bluetooth gamepads- ს საშუალებას აძლევს ფუნქციონირებდეს როგორც Android კონტროლერი და დაამატოთ რეჟიმი Palm One უკაბელო კლავიატურის ექვსბიტიანი მიმდევრობისთვის. შედეგად მიღებული აპლიკაცია არის უფასო P1 კლავიატურა Google Play– ში (წყაროს კოდი github– ზე).

ნაბიჯი 2: Brainklink Firmware- ის განახლება

Brainklink Firmware- ის განახლება
Brainklink Firmware- ის განახლება
Brainklink Firmware- ის განახლება
Brainklink Firmware- ის განახლება

იმისათვის, რომ ჩართოთ IrDA ფორმატის სერიული მონაცემების მხარდაჭერა Brainlink– ზე, თქვენ უნდა ჩატვირთოთ ჩემი მორგებული პროგრამული უზრუნველყოფა. ეს ადვილია Android მოწყობილობით და firmware ამტვირთველით, რაც მე დავწერე (სხვათა შორის, თქვენ შეგიძლიათ შეცვალოთ ამტვირთავი, როგორც ზოგადი დანიშნულების atmega/atxmega AVR109 ფლეშ ამტვირთავი).

  1. დააკავშირე Brainlink (PIN 1234) Android მოწყობილობასთან-ეს მაინც უნდა გააკეთო კლავიატურის დასაკავშირებლად
  2. ჩამოტვირთეთ ჩემი Brainlink Firmware Uploader Google Play– დან (წყარო ამტვირთავი და firmware github– ზე).
  3. გამორთეთ Brainlink და დააკავშირეთ ქინძისთავები 8 და 2 (უცნაურად, პინი 8 არის ყველაზე მარცხენა პინი, ხოლო პინი 1 არის მარჯვნივ) 8 პინიან პორტში.
  4. ქინძისთავების შეერთებით, ჩართეთ Brainlink. მისი LED უნდა გახდეს ლურჯი.
  5. შეარჩიეთ თქვენთვის სასურველი მორგებული პროგრამული უზრუნველყოფა (თუ თქვენ გაქვთ Roomba, ერთი ფირმა უკეთესად მუშაობს ახალ Roombas– თან და მეორე უფრო ძველი) და დააჭირეთ ღილაკს „ატვირთვა“.
  6. ეს ასეც უნდა იყოს, თუმცა თუ თქვენ გაქვთ სირთულეები კავშირისას შეიძლება დაგჭირდეთ არაერთხელ სცადოთ.

თქვენი Brainlink არის უფრო ჭკვიანი: ის არა მხოლოდ მხარს უჭერს მონაცემების წაკითხვას IrDA– ს ზოგიერთი მოწყობილობიდან (მას შემდეგ რაც აღმოაჩენთ არამოდულირებულ სიგნალს), არამედ ფუნქციონირებს როგორც სტანდარტული Roomba-to-Bluetooth ბმული და შეუძლია მონაცემების გადაღება Mindflex EEG ყურსასმენიდან. და firmware არის უკან თავსებადი.

ნაბიჯი 3: დაკავშირება Brainlink კლავიატურაზე

დაკავშირება Brainlink კლავიატურაზე
დაკავშირება Brainlink კლავიატურაზე
დაკავშირება Brainlink კლავიატურაზე
დაკავშირება Brainlink კლავიატურაზე
დაკავშირება Brainlink კლავიატურაზე
დაკავშირება Brainlink კლავიატურაზე

თქვენ დაგჭირდებათ შემაერთებელი კონექტორი, რომელიც ჯდება Brainlink– ის 8 – პინიან პორტში სამ მარცხენა პინზე. ეს არის JST სტილის კონექტორები 1.25 მმ ქინძის მანძილით. თქვენ შეგიძლიათ გამოიყენოთ სამი პინიანი კონექტორი (ჩემი არჩევანი) ან 8 პინიანი კონექტორი. თქვენ შეგიძლიათ გამოიყენოთ 8 პინიანი კონექტორი, რომელიც მოყვება Brainlink– ს, მაგრამ შემდეგ თქვენ მოგინდებათ შეუკვეთოთ მეტი მათგანი (მე ebay– ზე ვიპოვე 3 და 8 – პინიანი კონექტორები იაფი).

გახსენით კლავიატურის ბატარეის განყოფილება და ამოიღეთ ბატარეები. ბატარეების მინუს მხარეს, თქვენ ნახავთ ორ წყვილ მავთულს, რომლებიც ერთმანეთთან არის დაკავშირებული JST სტილის კონექტორის საშუალებით. თუ თქვენი ფერები ჩემნაირია, შავი მავთულები დაფქულია (შეგიძლიათ უბრალოდ შეამოწმოთ წინააღმდეგობა მასსა და ბატარეაზე მინუს ტერმინალს შორის) და სხვა ფერები (ყავისფერი და ნაცრისფერი) არის სიგნალი.

თქვენს Brainlink 8-პინიან პორტზე, მარცხენა კავშირი არის დასაბუთებული (8 პინიანი პორტის მარცხენა პინი) და მარცხენა მხრიდან მესამე პინი არის სერიული მიღება. შეაერთეთ დამცავი მავთული თქვენს Brainlink კონექტორზე კლავიატურაზე და მიიღეთ მავთულები Brainlink სიგნალის ხაზზე. თქვენ შეიძლება აღმოაჩინოთ, რომ კლავიატურის ზონაში ადგილი არ არის შედუღების კავშირისა და JST სტილის კონექტორისთვის რომელიც იყო კლავიატურის შიგნით. თუ ასეა, უბრალოდ ამოიღეთ JST სტილის კონექტორი და შეაერთეთ შესაბამისი სადენების სამი ტრიო (ორი კლავიატურის მიწა და ერთი Brainlink გრუნტის მავთული; ორი კლავიატურის სიგნალის მავთული და ერთი Brainlink მიმღები მავთული).

JST სტილის კონექტორის IR LED მხარის გათიშვა მაცდურია ბატარეის დაზოგვის მიზნით. არ გააკეთო. სიგნალი იშლება, თუ ამას აკეთებთ. ჩემი ოსცილოსკოპით შევამოწმე.

გააკეთეთ ხვრელი ბატარეის საფარის ტუჩზე, რათა გაიაროს Brainlink კავშირების მავთულები, გამოიყენეთ ელექტრული ლენტი, რომ შეინარჩუნოთ ორი კავშირი იზოლირებული და დააკავშირეთ მცირე დაძაბულობის შემსუბუქების კვანძი.

დაბოლოს, როდესაც ყველაფერი დამთავრდება, ან დაფარეთ შეუსაბამო კონტაქტები Brainlink კავშირზე, ან უბრალოდ შეწყვიტეთ შეუსაბამო მავთულები.

თქვენ შეიძლება ასევე მოგინდეთ წებო რაღაც Velcro Brainlink– ზე და კლავიატურაზე Brainlink ადგილზე შესანარჩუნებლად.

ნაბიჯი 4: Android მოწყობილობის გამოყენება

Android მოწყობილობით გამოყენება
Android მოწყობილობით გამოყენება
  1. დააწყვილეთ Brainlink თქვენს Android მოწყობილობასთან (PIN 1234).
  2. დააინსტალირეთ ჩემი P1 კლავიატურის აპი.
  3. გაუშვით P1 კლავიატურის პარამეტრები (ამის ხატულა უნდა იყოს თქვენს გამშვებ მოწყობილობაში).
  4. ჩართეთ P1 კლავიატურა Android შეყვანის მეთოდის პარამეტრებში. Android– ის უახლეს ვერსიებზე შეგიძლიათ ჩართოთ P1 კლავიატურა P1 კლავიატურის პარამეტრებში „აირჩიეთ IME“და „შეყვანის მეთოდების დაყენების“არჩევით. (თქვენ მიიღებთ გაფრთხილებას, რომ კლავიატურა ხედავს თქვენს ყველა პაროლს და ა.შ. ეს არის სტანდარტული Android გაფრთხილება: რა თქმა უნდა, კლავიატურის დრაივერი ხედავს ყველაფერს, რასაც აკრიფებთ. თუ გეშინიათ, შეხედეთ კლავიატურის წყაროს კოდს და ააშენეთ შენი საკუთარი.)
  5. შეეხეთ "აირჩიეთ მოწყობილობა" და აირჩიეთ თქვენი Brainlink (ჩემი ნაჩვენებია როგორც RN42-A308).
  6. შეეხეთ "აირჩიეთ IME" P1 კლავიატურის პარამეტრებში და აირჩიეთ P1 კლავიატურა.
  7. შეიძლება ცოტა დრო დასჭირდეს დაკავშირებას, მაგრამ თქვენ უნდა მიიღოთ შეტყობინება დაკავშირების შესახებ, თუ ყველაფერი კარგად იქნება

და დაასრულე! მოგერიდებათ შემოწირულობა BluezIME– ის ავტორზე, რომელზეც დაფუძნებულია P1 კლავიატურა.

Android 4.0+ - ზე, როდესაც ტექსტურ ველში იქნება შეტყობინება, რომელიც საშუალებას გაძლევთ შეცვალოთ შეყვანის მეთოდები, ასე რომ თქვენ შეგიძლიათ მარტივად გადახვიდეთ სხვა შეყვანის მეთოდზე.

დრაივერი, რომელიც კლავიატურაზე დავწერე, ძალიან მარტივია. ის მხარს უჭერს ჩვეულებრივ კლავიშებს, მაგრამ მხარს არ უჭერს ბევრ განსაკუთრებულ აქცენტს და სხვა განსაკუთრებულ ნივთებს. მე დავამატე მხარდაჭერა სახლის ორი ღილაკის (FN-1 და გასაღები სივრცის მარცხნივ) სახლის გამოყენებით, Windows გასაღები და FN-2 როგორც მენიუ და FN-3 როგორც ძებნა. ასევე, ctrl-a, c, v, x მუშაობს როგორც მოსალოდნელი იყო.

კარგად მუშაობს, რომ მე დავწერე ამ ინსტრუქციის სრული პირველი მონახაზი ჩემს Galaxy S2 ტელეფონზე კლავიატურით.

ნაბიჯი 5: სხვა კლავიატურები

სხვა კლავიატურები
სხვა კლავიატურები
სხვა კლავიატურები
სხვა კლავიატურები

თუ გსურთ ექსპერიმენტი ჩაატაროთ სხვა ინფრაწითელ კლავიატურაზე, თქვენ უნდა გაარკვიოთ რა სიგნალებს აგზავნიან ისინი და რა სიჩქარით. Brainlink განახლებული IrDA- თან თავსებადი პროგრამული უზრუნველყოფით, შეგიძლიათ დაუკავშირდეთ RealTerm– ს Brainlink– თან. როდესაც ხედავთ განმეორებით "BL" სიგნალს, რომელიც არის Brainlink- ის ხელმოწერა, ჩაწერეთ:

*J1Z

ვარსკვლავი ითხოვს ყურადღებას, J1 გადადის 9600 baud IrDA– ზე (უბრალოდ უნდა აკრიფოთ 1 სწრაფად J– ს შემდეგ, თუ თქვენ მიიღებთ შეცდომას). Z არის სერიული-ბლუთუს ხიდის რეჟიმში.

შეცვალეთ RealTerm ექვსკუთხა კოდების საჩვენებლად და დააჭირეთ კლავიშს კლავიატურაზე და ნახეთ, თუ გექნებათ აზრი.

სერიული ხიდის რეჟიმიდან გასასვლელად, ჩართეთ Brainlink.

მე ვფიქრობ, რომ 9600 ბაუდი არის ბაუდის სწორი მაჩვენებელი. თუ ეს ვერ მოხერხდა, თქვენ შეგიძლიათ შეცვალოთ Brainlink- ის ბოდის მაჩვენებელი. დავიწყებდი 57600 ბოდის ცდით:

*J1u57Z

და შემდეგ 1200 ბაუდი:

*J1u12Z

მას შემდეგ რაც გაარკვიეთ, როგორ აგზავნის კლავიატურა თავის მონაცემებს, უბრალოდ შეცვალეთ ჩემი დრაივერის კოდი. ალბათ საკმარისია მხოლოდ PalmOneWirelessKeyboard.java ნომრების შეცვლა.

გირჩევთ: