ইউএসবি এইচআইডি হিসাবে আরডুইনো


25

আরডুইনো আনো ব্যবহার করে কি কোনও এইচআইডি ডিভাইস (কীবোর্ডের মতো) তৈরি করা সম্ভব?

এই মুহুর্তে, আমার কাছে সিরিয়াল লাইনে আড়ডুইনোগুলিতে আউটপুট দেওয়ার বোতাম ইনপুট রয়েছে। সুতরাং, আমি কীভাবে আমার বর্তমান ফার্মওয়্যারটিকে এমন কোনও কিছুতে রূপান্তর করতে পারি যা এইচআইডি কীবোর্ডের মতো আচরণ করতে পারে?

  • আমি কি নতুন উইন্ডো ডিভাইস ড্রাইভার লিখব?
  • আমি কি এমন একটি সফ্টওয়্যার স্তর তৈরি করব যা আমার সিরিয়াল ডেটা নিতে পারে এবং উইন্ডোজগুলি এইচআইডি ইনপুট হিসাবে এটি পড়তে পারে?
  • এটি অর্জনের আরও ভাল কোনও উপায় আছে কি, যদি তা আদৌ সম্ভব হয়?

1
আমি ভুল হতে পারি, তবে এটি আরডিনো সম্পর্কে আসলেই নয়। এটি উইন্ডোর সাইড ডিভাইস ড্রাইভার বিকাশ সম্পর্কে।
asheeshr

1
গুগলে প্রথম উত্তর: mitchtech.net/arduino-usb-hid-keyboard ... তবে আপনি কোন আরডুইনো নির্দিষ্ট করেন নি। লিওনার্দোতে এটি অন্তর্নির্মিত এবং উপযুক্ত ড্রাইভারটি ইতিমধ্যে উপস্থিত রয়েছে (দেখুন arduino.cc/en/References/MouseKeyboard )।
ফ্রেডপি

আমি একটি ইউনো ব্যবহার করছি তবে আপনি যা পোস্ট করেছেন তা আমি তা দেখব কারণ গতবার আমরা ডিএফইউ আপডেটটি বিবেচনা করেছি তবে উপাদানগুলি আমার অঞ্চলে সেরকম সহজলভ্য ও সস্তা না হওয়ায় আমরা ব্রিকিং স্টাফ থেকে ভয় পাচ্ছি most জায়গা.
অ্যানোমালি

3
@ আখেশআর এই সমস্যাটি এখন মেটাতে রয়েছে
রিকার্ডো

1
ঠিক আছে, এটি অবশ্যই সম্ভব, যেমন আরডুইনো ইউনো একটি ইউএসবি ড্রাইভার চিপ হিসাবে একটি এমেগা 16u2 বৈশিষ্ট্যযুক্ত, ব্যবহারকারী ডিওএইউইউ বা আইসিএসপি ফ্ল্যাশিং ব্যবহার করে ডিভাইসটিতে লেওনার্ডোর কাছাকাছি একটি ফার্মওয়্যার ব্যবহার করতে পারেন যা আড়ডিনো এইচআইডি কীবোর্ড হিসাবে আচরণ করবে। কোনও উইন্ডো বিকাশ জড়িত নেই, ইউএসবি / এইচআইডি ডিভাইস হিসাবে তৈরি করার জন্য কোনও ড্রাইভারই ডিফল্ট হিসাবে স্বীকৃত। অর্থাৎ সেই প্রশ্নটি আবার খোলা উচিত।
zmo

উত্তর:


14

আরডুইনো আনো ব্যবহার করে কি কোনও এইচআইডি ডিভাইস (কীবোর্ডের মতো) তৈরি করা সম্ভব?

হ্যাঁ! আর যে কাজ করতে কিভাবে উপর উপর একটি মহান টিউটোরিয়াল এর এখানে

এই মুহুর্তে, আমার কাছে সিরিয়াল লাইনে আড়ডুইনোগুলিতে আউটপুট দেওয়ার বোতাম ইনপুট রয়েছে। সুতরাং, আমি কীভাবে আমার বর্তমান ফার্মওয়্যারটিকে এমন কোনও কিছুতে রূপান্তর করতে পারি যা এইচআইডি কীবোর্ডের মতো আচরণ করতে পারে?

টিউটোরিয়ালটি আপনাকে যেমন দেখায়, আপনার ইভেন্টগুলি মুদ্রণের পরিবর্তে আপনার ফার্মওয়্যার কোডটি রূপান্তর করা দরকার, আপনি আসলে ইভেন্টগুলি ট্রিগার করেন। আপনার যা করা দরকার তা হ'ল আপনার কোডটিতে যুক্ত করুন:

void triggerKey(uint8_t mod, uint8_t chr) {
    uint8_t buf[8] = {mod, chr, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
    // press key
    Serial.write(buf, 8);
    // emulate key press delay
    delay(10);
    buf[1] = 0x00;
    // release key
    Serial.write(buf, 8);
}

আপনি এখানে কী করছেন, আপনার মূল আরডুইনো মাইক্রোকন্ট্রোলার ইভেন্টগুলি সিরিয়াল লাইনের উপর দিয়ে ছোট মাইক্রোকন্ট্রোলারের কাছে প্রেরণ করা হচ্ছে যা ইউএসবি যোগাযোগ পরিচালনা করে। সেই মাইক্রোকন্ট্রোলার সেই কীগুলি "বাফারগুলি" নেবে এবং তাদের ইউএসবি-তে ইউএসবি এইচআইডি কীবোর্ড কী প্রেস হিসাবে স্থানান্তর করবে।

সাবধান হন যে মূল চরিত্রটি ( chrএখানে কোডে), আসলে ইউএসবিতে প্রেরিত একটি কীকোড যা আপনার ইউএসবি এইচআইডি ড্রাইভার দ্বারা ব্যাখ্যা করা হয়, যা আপনার কীবোর্ডের জন্য সেটআপ করা বর্তমান লেআউটটি ব্যবহার করে এটি একটি সত্য চরিত্রে অনুবাদ করে।

modচরিত্র সংশোধক কী আপনি কীবোর্ড (শিফট, নিয়ন্ত্রণ, Alt ...) আছে এক, হয় 0x00কোন পরিবর্তক হচ্ছে।

  • আমি কি নতুন উইন্ডো ডিভাইস ড্রাইভার লিখব?

না, আপনার দরকার নেই! ডিএফইউ আপগ্রেডের সাথে আপনার আরডুইনো উইন্ডো দ্বারা একটি ইউএসবি কীবোর্ড হিসাবে দেখা যাবে।

  • আমি কি এমন একটি সফ্টওয়্যার স্তর তৈরি করব যা আমার সিরিয়াল ডেটা নিতে পারে এবং উইন্ডোজগুলি এইচআইডি ইনপুট হিসাবে এটি পড়তে পারে?

আপনারও এটি করার দরকার নেই, এবং এটি অনেক কারণেই আসলে খুব খারাপ ধারণা:

  • আপনার সমাধান বহনযোগ্য হবে না, এবং এইভাবে আপনি ব্যবহার করতে পারেন প্রতিটি প্ল্যাটফর্মের জন্য কিছু হ্যাক করা প্রয়োজন,
  • আপনার সমাধানটি অনেকগুলি নতুন কোড বোঝায়; একটি কোড যত বেশি লিখবে, তত বেশি বাগ আপনার সিস্টেমে থাকতে পারে,
  • আপনার সমাধানটি সত্যই হ্যাকিশ হবে, কারণ এটি কোনও ডিভাইস ড্রাইভারের (যেমন কার্নেল ল্যান্ড ) ব্যবহারকারী প্রোগ্রাম থেকে ইনপুট নেওয়ার (যেমন ব্যবহারকারীর ভূমি ) আচরণ করবে এবং সম্ভবত এটি কাজ করবে না, ডিবাগ করার জন্য একটি জাহান্নাম হবে এবং সুরক্ষার সমস্যার জন্য প্রবণ। .. যদি তা করাও সম্ভব হয়!

আমি একটি ইউনো ব্যবহার করছি তবে আপনি যা পোস্ট করেছেন তা আমি দেখব কারণ গতবার আমরা ডিএফইউ আপডেটটি বিবেচনা করেছি তবে আমরা ব্রিকিংয়ের জিনিসগুলি দেখে ভয় পাচ্ছি

অবশেষে আপনার আরডুইনো ব্রিক করার বিষয়ে একটি মন্তব্যে আপনার উদ্বেগ রয়েছে। দয়া করে আমাকে এবং নিবন্ধটির লেখককে বিশ্বাস করুন যে আপনি ফার্মওয়্যার ফ্ল্যাশ করে আপনার আরডিনো ইট করতে পারবেন না :

দ্রষ্টব্য: এই পদ্ধতিটি ব্যবহার করে ডিভাইসটিকে 'ব্রিকিং' করার কোনও সম্ভাবনা নেই। আরডুইনো বুটলোডার ফার্মওয়্যার সর্বদা ডিএফইউ প্রোটোকল ব্যবহার করে আপডেট করা যায়!

যদি কিছু সত্যিই খারাপভাবে হয়ে যায় এবং আপনি সামান্য এভিআর-এ একটি বুটলোডার দুর্নীতি পান (atmega8u2), আপনি এখনও ইউএসবি প্লাগের পাশের 6 টি পিন ব্যবহার করে অন্য আরডুইনো বা একটি অ্যাটেল প্রোগ্রামার ব্যবহার করে এটি পুনরায় প্রকাশ করতে পারেন।

শেষ অবধি, জেনে রাখুন যে কোনও এভিআর ইট করার একমাত্র উপায়, এইভাবে একটি আরডুইনো হ'ল ফিউজগুলির সাথে খেলতে এবং প্রোগ্রামিং ফিউজগুলি পুনরায় সেট করা। এবং তারপরেও, আপনি আপনার ডিভাইসটি সংরক্ষণ করতে এইচভিএসপি ব্যবহার করতে পারেন , যদিও কেবল একটি নতুন চিপ নিতে প্রায়শই কম সমস্যা হয়।


1
সমস্ত দরকারী তথ্যের জন্য ধন্যবাদ, আমরা এটি অর্জন শেষ।
অ্যানোমালি

ভাল, একটি এভিআর ইট করার সঠিক উপায় হ'ল ওভার কারেন্ট / ওভার ভোল্টেজ সহ। তারপরে এটি টোস্ট করা হবে ...
ব্যবহারকারী 2973

তবে তারপরে এটিকে ব্রিকিং বলা হয় না, তবে এটি ভাজা হয় বা আপনি টোস্টিংয়ের কথা বলে থাকেন। এমসিইউ দিয়ে 15 টি ক্যাম্প রাখুন এবং আমি বাজি ধরছি আপনি এটি রুমে লাফিয়ে দেখবেন ;-)
zmo

কিভাবে একটি নির্দিষ্ট কী মুক্তি? আমি একটি কী হোল্ড অনুকরণ করতে চাই তারপরে মুক্তি দিন। এবং লিঙ্কটিতেও, চরিত্রটি অ্যারেতে চলেছে [2] যখন এখানে চলে গেছে [1]। কেন?
আর্গন

ঠিক আছে, যেমন আমার উদাহরণে দেখানো হয়েছে, আপনি এটি দুটি ধাপে করুন, প্রথমে আপনি কী টিপুন, তারপরে বিলম্ব হবে, তারপরে আপনি এটি ছেড়ে দিন। ঠিক আছে, তারপরে আপনার নিজের কীভাবে হার্ডওয়্যার কীবোর্ড বাস্তবায়ন কাজ করে সে সম্পর্কে বক্তৃতা দেওয়া দরকার, এটি একধরণের প্রাকৃতিক নয় এবং অ্যারের প্রতিটি মানের একটি অর্থ আছে। এটিএম শেয়ার করার জন্য কোনও লিঙ্ক না রাখার জন্য আমাকে ক্ষমা করুন, তবে আপনি যখনই ওয়েবে অনুসন্ধান করতে কিছু খুঁজে পান, দয়া করে একটি নতুন মন্তব্য পোস্ট করুন
z

6

আমি এমন একটি প্রকল্প তৈরি করেছি যা পুরোপুরি আরডিনো বুটলোডারকে প্রতিস্থাপন করে। আপনি স্কেচগুলি আপলোড করতে এবং এটি HID হিসাবে ব্যবহার করতে সক্ষম। প্রকল্পের এইচআইডি গিথুব দেখুন: https://github.com/NicoHood/HID


4
আরডুইনো এসই তে স্বাগতম! আপনি কীভাবে আপনার গ্রন্থাগারটি ব্যবহার করবেন সে সম্পর্কে কিছুটা যুক্ত করতে পারেন? ধন্যবাদ!
বেনামে পেঙ্গুইন

2
রিডমি পড়ুন এবং উদাহরণগুলি চেষ্টা করে দেখুন? সব ঠিক আছে, এখানে সবকিছু ছাপানোর দরকার নেই।

দুঃখিত দোস্ত, এটিকে দুর্দান্ত লাইব্রেরির মতো মনে হচ্ছে তবে আপনার ডকুমেন্টেশনের অভাব রয়েছে। যতদূর আমি বলতে পারি সেখানে কোনও বাস্তব ইনস্টলেশন নির্দেশনা নেই এবং আপনার উইকির পুরো বিষয়গুলি কেবল "টোডো" বলে (বিশেষত গেমপ্যাডের বিষয়টি পুরোপুরি খালি)। : - /
BrainSlugs83

1
আসলে এখানে একটি মৌলিক বিবরণ উপস্থাপন করা দরকার: উত্তরগুলি বাইরের লিঙ্ক ছাড়াও অর্থবহ হওয়া প্রয়োজন, যা মারা যেতে পারে। এবং এই এক না।
ক্রিস স্ট্রাটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.