فهرست مطالب:
- تدارکات
- مرحله 1: ویدیو را بررسی کنید
- مرحله 2: [اختیاری] شروع به کار با ESP32
- مرحله 3: نصب کتابخانه صفحه کلید ESP32 Ble
- مرحله 4: نگاهی به مثال
- مرحله 5: نکات دیگر برای کتابخانه
- مرحله 6: صفحه کلید ماکرو
- مرحله 7: کد برای صفحه کلید ماکرو
- مرحله 8: بیایید آن را بی سیم کنیم
- مرحله 9: آزمایش آن
- مرحله دهم: ممنون که خواندید
تصویری: صفحه کلید ماکرو بلوتوث DIY: 10 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
در این دستورالعمل ما قصد داریم نگاهی به استفاده از بلوتوث داخلی ESP32 برای تقلید از صفحه کلید بلوتوث بیندازیم.
Bluetooth HID (دستگاه رابط انسانی) پروتکلی است که توسط صفحه کلید و موش های معمولی بلوتوث استفاده می شود و امکان شبیه سازی آن با ESP32 وجود دارد که بسیار عالی است!
با شروع برخی از تابلوهای توسعه ESP32 با قیمت کمتر از 5 دلار* ، این یک راه بسیار ارزان و ساده برای ایجاد صفحه کلیدهای سفارشی بی سیم مانند صفحه کلیدهای ماکرو است. صفحه کلیدهای ماکرو را می توان برای کنترل برنامه های مختلف مانند ویرایشگرهای ویدئو یا فتوشاپ استفاده کرد ، شخصاً از من برای کنترل صحنه ها در OBS هنگام تهیه فیلم یا پخش جریان استفاده می کنم.
ما ابتدا نحوه استفاده از کتابخانه صفحه کلید ESP32 HID را بررسی می کنیم و سپس به شما نشان خواهم داد که چگونه از این دستگاه برای ساختن صفحه کلید بلوتوث ماکرو باتری استفاده کردم.
تدارکات
- TinyPICO ESP32 Dev board (هر ESP32 می تواند کار کند)
- صفحه کلید 4*4 ماتریس*
شما همچنین به یک باتری لیپو احتیاج دارید ، من فقط از یک باتری تصادفی استفاده کردم که نمی توانم به آن لینک دهم!
اگر رایانه شما بلوتوث ندارد می توانید از دانگ هایی مانند این استفاده کنید:
Amazon.co.uk*:
Amazon.com*:
Amazon.de*:
* = وابسته
مرحله 1: ویدیو را بررسی کنید
من یک ویدیو تهیه کرده ام که مشابه این دستورالعمل را شامل می شود ، بنابراین اگر علاقه دارید ، لطفاً آن را بررسی کنید! من همچنین به طور منظم ویدئوهایی را در مورد پروژه های ESP8266 و ESP32 می سازم ، بنابراین شاید ویدیوهای دیگری در کانال من وجود داشته باشد که برای شما جالب باشد!
مرحله 2: [اختیاری] شروع به کار با ESP32
ESP32 ها میکروکنترلرهایی هستند که با Arduino IDE سازگار هستند و دارای WiFi و بلوتوث هستند. آنها همچنین بسیار ارزان هستند ، بنابراین تراشه های بسیار مفیدی برای پروژه های شما هستند.
شما باید تعریف برد ESP32 را به Arduino IDE خود اضافه کنید ، به این ترتیب می توانید مراحل ذکر شده در صفحه Github پروژه های ESP32 Arduino را دنبال کنید
مرحله 3: نصب کتابخانه صفحه کلید ESP32 Ble
امکان استفاده از Bluethooth HID در ESP32 بدون کتابخانه خارجی وجود دارد ، اما کاربر Github T-Vk کتابخانه ای به نام ESP32-BLE-Keyboard نوشته است که آن را بیشتر شبیه کتابخانه استاندارد صفحه کلید Arduino کرده است که استفاده از آن را بسیار آسان می کند.
این کتابخانه در مدیریت کتابخانه موجود نیست بنابراین باید آن را از Github بارگیری کنید.
- به صفحه انتشار پروژه ها بروید و جدیدترین ESP32-BLE-Keyboard.zip را بارگیری کنید
- پس از بارگیری ، می توانید آن را به Arduino IDE خود اضافه کنید اما به Sketch-> Include Library بروید و سپس Zip را به کتابخانه اضافه کنید و ESP32-BLE-Keyboard.zip را از مرحله قبل انتخاب کنید.
مرحله 4: نگاهی به مثال
پس از اضافه شدن ، می توانیم مثال همراه آن را باز کنیم. این یک مثال بسیار خوب است زیرا چندین چیز مختلف را که می توانید با کتابخانه به دست آورید نشان می دهد ، اما من همچنین جزئیات بیشتری را در جایی که فکر می کنم مفید باشد ، اضافه می کنم.
با رفتن به فایل -> مثالها -> صفحه کلید ESP32 BLE -> SendKeyStrokes می توانید به مثال دسترسی پیدا کنید
راه اندازی اتصال بلوتوث
در راه اندازی اتصال بلوتوث شروع می شود ، در این مرحله باید در دستگاه شما قابل جفت شدن باشد.
bleKeyboard.begin ()؛
در داخل حلقه نیز بررسی می کند که آیا به یک دستگاه متصل است
bleKeyboard.isConnected ()
تایپ کردن
اولین چیزی که مثال نشان می دهد این است که چگونه می توانید متن را به محض اتصال تایپ کنید ، ابتدا با استفاده از "Hello world" تایپ می کند
bleKeyboard.print ("سلام جهان") ؛
دکمه های تک را فشار می دهد
سپس نشان می دهد که چگونه می توانید کلید بازگشت را "بنویسید" ، این اساساً شبیه سازی یک فشار واحد از این دکمه است.
bleKeyboard.write (KEY_RETURN) ؛
می توانید فایل BleKeyboard.h کتابخانه را باز کنید تا همه کلیدهایی که به این شکل تعریف شده اند را ببینید. همچنین می توانید کاراکترهای ascii را با قرار دادن آنها در کاما تک ارسال کنید.
bleKeyboard.write ('A')؛
کلیدهای رسانه ای
همچنین نشان می دهد که چگونه می توانید کلیدهای رسانه ای را ارسال کنید ، این شبیه نحوه کنترل صدا یا رد کردن آهنگ ها با هدفون بلوتوث است. مثال کلید پخش/مکث را نشان می دهد ، اما دوباره می توانید BleKeyboard.h را باز کنید تا سایر گزینه های موجود را مشاهده کنید.
bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE) ؛
فشار دادن و رها کردن کلیدها
آخرین چیزی که مثال به ما نشان می دهد این است که چگونه می توانید کلیدها را فشار داده و نگه دارید ، این برای ایجاد صفحه کلیدهای ماکرو مفید است. مثال نشان داده شده در اینجا برای Ctrl + Alt + Delete است
bleKeyboard.press (KEY_LEFT_CTRL) ؛
bleKeyboard.press (KEY_LEFT_ALT) ؛
bleKeyboard.press (KEY_DELETE) ؛
سپس releaseAll را فراخوانی می کند ، که همانطور که احتمالاً می توانید با نام آن حدس بزنید ، تمام کلیدهای فشرده شده را آزاد می کند.
bleKeyboard.releaseAll ()؛
همچنین می توانید کلیدهای خاصی را در صورت تمایل با استفاده از فرمان release همراه با کلیدی که می خواهید آزاد کنید آزاد کنید
bleKeyboard.release (KEY_DELETE) ؛
مرحله 5: نکات دیگر برای کتابخانه
ما در مرحله قبل عملکرد اصلی کتابخانه را پوشش دادیم ، اما در اینجا موارد دیگری وجود دارد که فکر می کنم دانستن آنها مفید باشد
از یک ماشه خارجی استفاده کنید
همیشه بهتر است دستگاه HID مانند این را با استفاده از یک ماشه خارجی مانند فشار دادن دکمه کنترل کنید. اگر از تایمر استفاده می کنید و مشکلی پیش می آید ، ممکن است قطع ارتباط ناخوشایند باشد. تصور کنید اگر بلوتوث خود را به طور تصادفی برنامه ریزی کرده اید ، باید آن را خاموش کنید ، باید Ctrl+Alt+Del را در هر 100mS فشار دهید!
تغییر نام دستگاه
به طور پیش فرض نام دستگاه به عنوان "صفحه کلید ESP32 BLE" نشان داده می شود ، این می تواند هنگام ایجاد نمونه ای از کتابخانه تغییر کند. می توانید نام دستگاه ، سازنده و سطح باتری اولیه را تنظیم کنید.
BleKeyboard bleKeyboard ("نام دستگاه بلوتوث" ، "سازنده دستگاه بلوتوث" ، 100) ؛
تنظیم سطح باتری (حداقل برای من کار نمی کند)
کتابخانه ادعا می کند که می توانید سطح باتری را نیز تنظیم کنید ، اما در رایانه شخصی ویندوز من برای من کار نکرد (با مقدار اولیه بود) و تلفن اندروید من سطح همه آن را نشان نمی دهد. در اینجا این دستور برای آن وجود دارد در صورتی که برای شما کار می کند
bleKeyboard.setBatteryLevel (50)
سازگاری دستگاه
من این مثال را با موفقیت در رایانه ویندوز 10 ، تلفن Android و Mac خود اجرا کردم (اگرچه هنوز به نحوی Sierra اجرا می شود!)
همچنین می توان آن را فقط به یک دستگاه در یک زمان متصل کرد.
عیب یابی جفت شدن
اگر هنگام جفت شدن مشکلاتی دارید ، ESP32 را در حالی که دستگاه شما در حال جستجو است راه اندازی مجدد کنید. همچنین یکبار مجبور شدم بلوتوث خود را در رایانه خود روشن و خاموش کنم تا بتواند آن را جفت کند.
مرحله 6: صفحه کلید ماکرو
اکنون که اصول اولیه را از دست داده ایم ، بیایید از آن چیزی کاربردی بسازیم!
در راهنمای قبلی نحوه ساخت ساده ترین صفحه کلید ماکرو از یک صفحه کلید Arduino pro Micro و ارزان را نشان دادم. برای هر دکمه روی صفحه کلید ، ترکیبی متفاوت از دکمه ها ارسال می شود که می تواند برای کنترل برنامه ها استفاده شود ، شخصاً از آن برای OBS استفاده می کنم ، نرم افزاری که برای ضبط فیلم ها و هنگام پخش جریانی استفاده می کنم. به نظر می رسد که پروژه خوبی برای انتقال روی ESP32 باشد تا بتوانیم نسخه بی سیم آن را بسازیم.
برای این ساخت ، من از برد Unexpected Maker's TinyPICO ESP32 استفاده می کنم. دلیل اصلی انتخاب آن یک برد بسیار کارآمد است و دارای مدار برای خاموش شدن و شارژ باتری Lipo داخلی است ، بنابراین تنها کاری که باید انجام دهم این است که یک باتری را به برق وصل کنید.
من دروغ می گویم اگر این واقعیت که فاصله ردیف های مشابه Pro Micro را دارد و من می توانم از تخته برک آوت ساخته شده قبلی استفاده کنم ، جذابیتی نداشته باشد!
صفحه کلید برای کار به 8 پین GPIO نیاز دارد و TinyPICO دارای 8 پین GPIO در یک ردیف است ، بنابراین ما از آنها استفاده خواهیم کرد. همانطور که در تصویر بالا نشان داده شده است ، می توانید صفحه کلید را به TinyPICO وصل کنید.
مرحله 7: کد برای صفحه کلید ماکرو
کد طرح کلی صفحه کلید را می توانید در Github من پیدا کنید.
و همچنین کتابخانه BleKeyboard که در مرحله قبلی نصب شده بود ، همچنین باید کتابخانه را برای صفحه کلید نصب کنید ، می توانید این کار را با باز کردن مدیر کتابخانه با رفتن به Sketch -> Include Library -> Manage Libraries انجام دهید.
در داخل مدیر کتابخانه ، "صفحه کلید" را جستجو کرده و آن را توسط مارک استنلی و الکساندر برویگ نصب کنید
اگر از ESP32 متفاوتی استفاده می کنید که TinyPICO پین های صفحه کلید است ، باید آن را تنظیم کنید ، آنها در آرایه rowPins و colPins تنظیم شده اند. وقتی به جلوی صفحه کلید نگاه می کنید و از سمت چپ شروع می کنید ، 4 پین اول پین های ردیف و 4 پین دیگر پین های ستون هستند.
پس از انجام این کار ، کد را روی برد بارگذاری کنید و در این مرحله باید آزمایش کنید که کار می کند.
مرحله 8: بیایید آن را بی سیم کنیم
همانطور که قبلاً ذکر شد ، TinyPICO دارای مدارهایی برای جابجایی یک Lipo داخلی است ، بنابراین تنها کاری که باید انجام دهیم اتصال آن است. دارای اتصالات JST است که می توان آنها را به پایین لحیم کرد ، یا اگر می خواهید از طریق پین ها این کار را انجام دهید ، می توانید از پین های Bat و GND استفاده کنید.
اگر از اتصالات JST استفاده می کنید ، لطفاً قطبیت باتری خود را با TinyPICO مطابقت دهید ، هیچ استانداردی برای نحوه اتصال سیم ها وجود ندارد ، بنابراین احتمال اینکه باتری شما مطابقت نداشته باشد وجود ندارد.
قبل از استفاده ولتاژ باتری لیپو خود را بررسی کنید ، یک خمیر سالم باید 3 ولت یا بیشتر باشد ، باتری که با اتصال JST صحیح پیدا کردم 0 ولت را می خواند!
در نهایت از یک سلول 18650 در یک نگهدارنده استفاده کردم و آن را به اتصال JST باتری خالی لحیم کردم.
TinyPICO در هنگام خالی شدن باتری با روشن نکردن هیچ یک از LED های آن ، مصرف برق خود را کاهش می دهد ، بنابراین امیدوارم حتی اگر روشن نشود ، اینطور باشد! بهبود آینده پروژه ممکن است به این صورت باشد که هنگام راه اندازی ، چراغ dotstar روی صفحه را فشار دهید تا به شما اطلاع دهد که در واقع روشن شده است و شاید دوباره هنگام اتصال دوباره روشن شود. در حال حاضر می توانید منوی بلوتوث سیستم خود را بررسی کنید که روشن است و وصل است.
مرحله 9: آزمایش آن
بیایید آن را آزمایش کنیم ، اگر بخش کلیدهای میانبر OBS را باز کنم ، می توانم روی عملکردهای مختلف کلیک کنم تا ترکیبی از دکمه که آن را کنترل می کند ضبط شود ، برای این کار می توانیم روی دکمه صفحه کلید خود کلیک کنیم و به روز می شود.
پس از کلیک روی Apply ، نباید بتوانید از صفحه کلید خود برای کنترل صحنه خود در OBS استفاده کنید.
مرحله دهم: ممنون که خواندید
امیدوارم این دستورالعمل مفید واقع شده باشد. من دوست دارم درباره آنچه شما با این نوع تنظیمات انجام می دهید ، بشنوم. لطفاً در نظرات زیر به من اطلاع دهید ، یا به من و تعدادی از سازندگان دیگر در سرور Discord من بپیوندید ، جایی که می توانیم در مورد این موضوع یا هر سازنده دیگری که در مورد آن صحبت می کنید بحث کنیم ، مردم واقعاً در آنجا مفید هستند ، بنابراین مکانی عالی برای آویزان کردن است بیرون
من همچنین می خواهم از حامیان Github خود که به حمایت از کاری که انجام می دهم کمک کنند ، تشکر کنم ، واقعاً از آن قدردانی می کنم. اگر نمی دانید ، Github برای سال اول حامی مالی می کند ، بنابراین اگر حمایت مالی کنید ، تا چند ماه آینده 100 با آن مطابقت دارد.
ممنون که خواندید!
توصیه شده:
لنز ماکرو Diy با AF (متفاوت از سایر لنزهای ماکرو DIY): 4 مرحله (همراه با تصاویر)
لنز ماکرو Diy با AF (متفاوت از سایر لنزهای ماکرو DIY): من افراد زیادی را دیده ام که با یک لنز کیت استاندارد (معمولاً 18-55 میلی متر) لنزهای ماکرو می سازند. بیشتر آنها یک لنز هستند که روی دوربین چسبیده اند یا قسمت جلویی برداشته شده است. برای هر دوی این گزینه ها معایبی وجود دارد. برای نصب لنز
صفحه کلید ماکرو DIY: 5 مرحله
صفحه کلید ماکرو DIY: با افزایش روزافزون افراد در رایانه های خود کارهای بسیار شدید و وارد جریان شدن. اگر به دنبال تهیه یک نوع صفحه کلید ثانویه ، شاید Streamd باشید ، ممکن است بخواهید گردش کار خود را در رایانه خود بهبود بخشید
صفحه کلید ماکرو آردوینو چاپ سه بعدی: 6 مرحله (همراه با تصاویر)
صفحه کلید ماکرو آردوینو چاپ سه بعدی: این اولین پروژه من بود که با Arduino Pro Micro کار کردم. می توانید از آن در چت های Zoom یا Discord برای انجام کارهایی مانند ضامن نادیده ، تغییر حالت ویدیو یا اشتراک گذاری صفحه استفاده کنید. علاوه بر این ، می توانید آن را طوری برنامه ریزی کنید که برنامه های پرکاربرد را در دستگاه خود باز کند
ساده ترین صفحه کلید ماکرو DIY: 10 مرحله (همراه با تصاویر)
ساده ترین صفحه کلید ماکرو DIY: از صفحه کلید ماکرو می توان برای انجام برخی اقدامات یا عملکردها در رایانه شما استفاده کرد و می تواند در برنامه های خاص مانند ویرایشگرهای ویدئو یا بازی ها واقعاً مفید باشد. بسیاری از برنامه ها دارای کلیدهای داغ برای انجام سریع اقدامات هستند ، اما گاهی اوقات
رابط صفحه کلید با 8051 و نمایش شماره های صفحه کلید در 7 بخش: 4 مرحله (همراه با تصاویر)
رابط صفحه کلید با 8051 و نمایش شماره های صفحه کلید در 7 بخش: در این آموزش من به شما می گویم که چگونه می توان صفحه کلید را با 8051 و نمایش شماره های صفحه کلید در نمایش 7 بخش نمایش داد