国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個帶有USB和藍牙的手工「焊」接Python鍵盤的代碼

strongerHuang ? 來源:機器之心 ? 2020-09-07 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是一個內(nèi)部運行 Python 的開源鍵盤,可根據(jù)個人需求定制鍵盤映射。從此以后,「窮苦玩家」也能在 MOBA 游戲里一鍵放連招了,不知這樣算不算硬件外掛?「氪金玩家」請出門右轉(zhuǎn)購買宏編程鍵盤。

近日,一位中國開發(fā)者在 GitHub 上開源了一個帶有 USB藍牙的手工「焊」接 Python 鍵盤的代碼。該項目使用了 AdaFruit 的人員開發(fā)的 CircuitPython(衍生自 MicroPython)的特定實現(xiàn),該實現(xiàn)可以在容納 256K 的代碼空間和 16K 的 RAM 的虛擬機上運行。

這一 Python 鍵盤可以讓用戶輕松地使用 Python 編寫控制板。 項目地址:https://github.com/makerdiary/python-keyboard 下面我們就來看下這個 Python 鍵盤的具體操作和實現(xiàn)細節(jié)。 操作步驟 在 GitHub 上,作者詳細描述了制作這個 Python 鍵盤的操作步驟,總結(jié)起來包括: 1. 手工「焊」接鍵盤 下面這些圖展示了作者對這些鍵盤內(nèi)部結(jié)構(gòu)的改造。

去掉鍵盤帽扣,作者用焊絲把關(guān)聯(lián)按鍵連接起來,達到下圖這樣的效果。

最后,作者把一個能夠運行 Python 的開源控制板連接到鍵盤上。最終圖示如下。

2. 編程 Pitaya Go 第二步是對上圖中紅色設(shè)備的編程。作者在 Github 中編寫了詳細的指南,對 Pitaya Go 進行編程并燒寫到 Flash CircuitPython 固件上。 3. 下載 CircuitPython 庫 接下來,下載兩個 CircuitPython 庫:adafruit-ble 和 adafruit-hid,并將它們放入名為 CIRCUITPY 的 USB 驅(qū)動器里的 lib 目錄中,如下圖所示。

4. 復制代碼 最后一步是將 Python 的代碼復制到 code.py。重新加載 code.py 后,我們就可以獲得一個帶有 USB 以及藍牙的鍵盤了。 完整代碼作者也開源到 Github 項目中。 生產(chǎn)力升級 60%(61 鍵)的鍵盤缺少 F1~F12、方向鍵、PgUp、PgDn 等鍵位。該項目加入了 tmk_keyboard 項目中的鍵位映射功能,同時參考了 Toward a more useful keyboard 項目對于鍵位設(shè)置上的優(yōu)化理念,使得小鍵盤更具生產(chǎn)力「折騰才有樂趣,就是不買全鍵盤」!

tmk_keyboard 項目地址:https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md

Toward a more useful keyboard 項目地址:https://github.com/jasonrudolph/keyboard

由于使用了 Python 編寫鍵位映射,我們可以很方便地對鍵位進行個性化定制「以后誰還需要宏編程鍵盤,大霧」。該項目自帶 Tap-key 功能,即按住一個鍵不放可激活替代功能模式,在 60% 鍵盤上擴展出更多鍵位。我們只需將 keyboard.py 與 keycodes.py 復制到 CIRCUITPY 目錄下,之后修改 code.py 導入新鍵盤,即可將按鍵 D 用作導航。

當僅想要輸出 D 時快速敲擊即可,而按住 D 不放則激活導航功能,變化后的鍵位如下圖所示。

此時 H、J、K、L 鍵分別被映射為上下左右方向鍵,而 U 與 N 則被映射為 PgUp 和 PgDn。

另外還支持同時按住兩個鍵(間隔小于 25 毫秒)激活替代功能模式,以及按住「;」鍵作為 Ctrl。 為什么要用 Python 寫? 這個項目在 hackernews 和 twitter 上都引來了不少人圍觀。多數(shù)人認為這是一個非常有創(chuàng)意的想法,之前沒見過這種操作。

但鑒于作者在項目中用的語言是 Python,大家不免擔心起速度問題。對此,作者回復稱,「確實有點慢,現(xiàn)在掃描一次矩陣需要 4 毫秒,但優(yōu)化之后速度會有提升。」

既然用 Python 速度慢,那為什么不用 C 語言寫呢?也沒有多復雜啊。作者表示,「項目中的硬件包含一個 QSPI 閃存,它是一個 USB 存儲,用來保存 Python 源代碼,你可以直接改 Python 代碼。而且,使用 Python 為快速驗證硬件產(chǎn)品的創(chuàng)意提供了一個新的方式。」

除此之外,也有人幫作者補充了使用 Python 的好處。ta 指出,這個項目用到的 CircuitPython 實現(xiàn)使用一個非常不同的 VM 運行,雖然不能指望它接近 C 的性能,但相比 Cpython 要輕量化得多。整個開發(fā)過程也會簡單得多。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    4207

    瀏覽量

    46152
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4968

    瀏覽量

    73992
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90058

原文標題:自己「焊」鍵盤:使用Python編寫

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    探析手工貼片打樣的優(yōu)勢

    手工貼片打樣技術(shù)是種傳統(tǒng)的電子制造技術(shù),它是制造小批量電路板的理想解決方案,通過手工貼片的方式,可以快速有效地驗證原型電路板設(shè)計的準確性,從而降低制造成本和減少設(shè)計中的錯誤。本文將會針對手工
    的頭像 發(fā)表于 01-08 12:48 ?176次閱讀
    探析<b class='flag-5'>手工</b>貼片打樣的優(yōu)勢

    手工到自動:球剪切測試的技術(shù)演進與科學原理

    在現(xiàn)代微電子制造領(lǐng)域,引線鍵合的質(zhì)量檢測經(jīng)歷了從手工操作到自動測試的重要演進。早期,技術(shù)人員僅使用鑷子等簡單工具進行球剪切測試,這種手工方法雖然直觀,但存在操作致性差、測試精度低等
    發(fā)表于 12-31 09:12

    DA14535 USB開發(fā)套件硬件解析:開啟低功耗藍牙開發(fā)新征程

    USB開發(fā)套件(型號610 - 12 - A),為開發(fā)者提供了低成本且功能豐富的開發(fā)平臺,助力藍牙相關(guān)項目的快速落地。今天,我們就來深入剖析這個開發(fā)套件的硬件設(shè)計與特性。 文件下
    的頭像 發(fā)表于 12-29 11:00 ?490次閱讀

    Termux中調(diào)試圣誕樹Python代碼

    在Termux中調(diào)試Python代碼(以圣誕樹立例)非常簡單,核心分為環(huán)境準備、代碼編寫、運行調(diào)試三步驟,下面步步教你操作:
    發(fā)表于 12-09 09:02

    藍牙BQB認證是什么

    ,BluetoothSpecialInterestGroup)管理的種認證制度。它是所有帶有藍牙功能的產(chǎn)品必須獲得的官方資格認證,用于證明產(chǎn)品符合藍牙協(xié)議規(guī)范(BluetoothSp
    的頭像 發(fā)表于 11-04 17:14 ?982次閱讀
    <b class='flag-5'>藍牙</b>BQB認證是什么

    Python調(diào)用API教程

    不同系統(tǒng)之間的信息交互。在這篇文章中,我們將詳細介紹Python調(diào)用API的方法和技巧。 、用Requests庫發(fā)送HTTP請求 使用Python調(diào)用API的第
    的頭像 發(fā)表于 11-03 09:15 ?888次閱讀

    通孔焊接還用手工?選擇性波峰才是降本增效的智慧之選!

    、為什么通孔焊接需要選擇性波峰? 傳統(tǒng)波峰(整板浸錫)的痛點: 浪費錫料:僅 10% 通孔需要焊接,其余 90% 盤被冗余覆蓋 熱損傷風險:電容、晶振等熱敏元件耐溫<260℃,
    的頭像 發(fā)表于 08-27 17:03 ?837次閱讀

    為什么SMT貼片后,這些關(guān)鍵焊點還得靠手工?揭秘PCBA加工中的“手工壁壘”

    站式PCBA加工廠家今天為大家講講PCBA加工中手工焊接的優(yōu)勢有哪些?PCBA加工中手工焊接的不可替代性。在自動化SMT貼片技術(shù)高度普及的今天,我們始終堅持手工焊接與自動化生產(chǎn)的協(xié)同
    的頭像 發(fā)表于 08-26 09:19 ?1094次閱讀
    為什么SMT貼片后,這些關(guān)鍵焊點還得靠<b class='flag-5'>手工</b>?揭秘PCBA加工中的“<b class='flag-5'>手工</b>壁壘”

    【HZ-T536開發(fā)板免費體驗】4、使用藍牙模塊讀取小米溫濕度計的數(shù)據(jù)

    雖然設(shè)備上沒有藍牙模塊,我們依舊可以通過USB的星閃模組實現(xiàn)藍牙ble相關(guān)的功能,例如讀取小米溫濕度計的數(shù)據(jù)。 首先需要加載對應(yīng)的模塊,這些模塊在前面
    發(fā)表于 08-25 22:16

    AI的未來,屬于那些既能寫代碼,又能電路的“雙棲人才”

    正因此,一個詞被頻頻提起:“雙棲人才”:既能寫代碼,又能電路。二、“雙棲工程師”正在構(gòu)建真正的AI系統(tǒng)我們發(fā)現(xiàn),在AI落地過程中, “從Python到板子”之間有
    發(fā)表于 07-30 16:15

    【正點原子STM32MP257開發(fā)板試用】2.USB攝像頭使用

    ) (usb-482f0000.usb-1.3): /dev/video7 /dev/video8 /dev/media2 最后(UVC Camera)就是設(shè)備,要記下是video多少,后期opencv-
    發(fā)表于 06-16 19:16

    帶有USB C的便攜式設(shè)備可以通過USB C轉(zhuǎn)USB A電纜連接到計算機的USB A嗎?

    我有問題:我們有帶有 USB B 和 FTDI FT232RNL 和(8 位 MCU)的便攜式設(shè)備,由適配器供電。 多虧了歐盟,我們
    發(fā)表于 05-27 06:29

    TPS65921 集成電源管理 IC (PMIC),帶 3 DC/DC、4 LDO、USB HS 收發(fā)器數(shù)據(jù)手冊

    管理 OMAP 電源排序要求的 EPC 和 RTC 模塊。USB 模塊提供 HS 2.0 收發(fā)器,適合直接連接到帶有集成電荷泵 (CP) 的 OMAP 通用收發(fā)器宏單元接口 (UT
    的頭像 發(fā)表于 04-28 11:30 ?998次閱讀
    TPS65921 集成電源管理 IC (PMIC),帶 3 <b class='flag-5'>個</b> DC/DC、4 <b class='flag-5'>個</b> LDO、<b class='flag-5'>USB</b> HS 收發(fā)器數(shù)據(jù)手冊

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行簡單的Pyth
    的頭像 發(fā)表于 03-25 09:27 ?2049次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?

    用hal庫通過usb做了hid復合設(shè)備,想問問怎么才能通過藍牙來實現(xiàn)hid設(shè)備?

    新手剛剛接觸stm32,想請教大佬, 最近用hal庫通過usb做了hid復合設(shè)備,想問問怎么才能通過藍牙來實現(xiàn)hid設(shè)備 我用cubemx直接就給我生成了很多初始化
    發(fā)表于 03-11 08:16