利用ESP32晶片DIY有線鍵盤轉無線鍵盤模塊軟鍵篇

2020-12-26 BLab大熊實驗室

hi,大家好。歡迎來到大熊實驗室。上篇文章說了硬體部分,那這篇文章主要講解軟體部分如何實現無線鍵盤。

在上篇文章說我說過了鍵盤轉無線模塊的硬體設計,那這次就來說說軟體部分。ESP32軟體的開發並沒有使用樂鑫原廠的SDK來開發,原因有這麼幾個:

第一:每個晶片都有自己的一套開發環境,我的電腦上安裝的東西實在太多了。正好樂鑫官方對Arduino有了很好的支持。

第二:使用arduino開發的話沒有什麼學習成本,同時有很多通用的庫可以使用,省時省力。

其實關於ESP32作為藍牙HID設備部分,官方的代碼裡面是有相關庫的,只是我們平時沒仔細去看,目錄層級比較深可能不好找,具體層級我貼出來。

那麼,說了這麼多。我們到底要怎麼去實現第一步,將ESP32作為藍牙鍵盤設備呢。其實可以直接用官方的庫,但是有些麻煩,於是為了方便大家使用我其實去基於官方庫封裝了另一個庫。這個庫作用也很鍵盤,屏蔽掉多餘的操作,只留下了這次項目需要的幾個接口。

啟動藍牙HID上報電量信息上報HID報文接收HID報文下發給鍵盤

藍牙部分其實沒有什麼好說的,都是非常固定的東西。主要開始將ch9350報文部分吧。

作為ESP32讀取USB鍵盤信息的中間晶片,說實話CH9350做的並不好,國產晶片真的是有各種各樣的問題(預告一下,下一個版本我會使用CH579F做一個更小的轉換模塊)。首先,CH9350有很多個工作模式,這幾個模式中最終我使用了模式2,這點如果小夥伴們去按照硬體打板的話要注意了。至於各個模式的區別除了模式0/1和其他模式區別很大,剩下的幾個模式沒發現有特別大的區別,這個文檔中也是有描述。

說一下我為什麼選擇模式2,當ch9350工作在模式0/1時,下位機的ch9350不不斷發送請求幀直到上位機相應的停止發送命令。

其實如果我們不對鍵盤進行控制的話,直接發送請求停止上報的數據幀也沒什麼。但是實際上我們是需要控制鍵盤的,比如鍵盤上有大小寫鎖定顯示燈,如果我們不控制鍵盤那麼這個燈你就永遠控制不了。但是,我們的數據是在循環中讀取的,而CH9350的狀態進行切換時會不斷發送請求幀,這就導致了代碼實現上要考慮太多種情況,非常麻煩。關鍵一點是,CH9350本身就不太穩定,所以為了不考慮處理這些問題,我就直接忽略掉狀態0/1了。

究竟是怎麼從CH9350讀取數據的呢?

我利用了ESP32的串口2,因為串口1是用來燒錄用的。

在初始化系統的時候,將藍牙回調傳入。回調作用是當鍵盤大小寫等鎖定時我們的ESP32能夠接收到,當接收到以後我們直接去下發報文給CH9350讓它去控制鍵盤亮鎖定燈,這裡需要注意,CH9350有時候狀態切換很快,有時候狀態切換很慢。

具體下發給CH9350的鍵盤鎖定報文,官方給的PDF文檔我看得雲裡霧裡,但是幸好論壇裡有人問過官方人員得到的回答是:

也就是說下發給CH9350的報文要有11個字節,同時狀態的實際內容要在第8個字節,這也就是我代碼裡為什麼這麼寫的原因

然後我用4層if判斷去讀取真實鍵盤數據並發送,篇幅原因不展開了。直接貼源碼

相關焦點

  • 如何DIY萬能無線鍵盤轉換器硬體設計
    hi,大家好,歡迎來到大熊實驗室,鍵盤是我們平時一直在使用的輸入設備。機械鍵盤因為其手感比薄膜鍵盤好最近幾年又興起了。但是市面上絕大多數機械鍵盤都是有線的,那我們一起來做一個將有線鍵盤轉換辰有線鍵盤的轉換模塊吧。
  • 如何自己製作無線滑鼠和鍵盤
    此無線滑鼠/鍵盤在製作時無須對原有滑鼠的外觀及內部電路做任何改動,使用起來符合操作習慣,方便可靠,非常適合愛好者自製。其工作原理是利用編解碼電路MC145026/MC145027和射頻發射/接收模塊TDA1808/TDA1809互相配合,可以在10~120m範圍內靈活操縱滑鼠。   一般情況下,滑鼠與電腦的連接線內部有4根電路連接線,它們是電源正極、電源地、數據線1、數據線2。
  • 精緻的簡約主義者 達爾優EK861鍵盤體驗_達爾優 EK861無線藍牙雙模...
    ,防滑墊的設計也十分有趣,磁吸的設計讓玩家可以通過拔出支架模塊調整方向,即可將鍵盤在3.5mm高度之間便捷調整,輕鬆找到符合你的輸入角度。達爾優EK861達爾優EK861藍牙雙模機械鍵盤與電腦的連接方式為藍牙和有線連接兩種,藍牙5.0協議連接更加穩定,延遲更低。
  • 2399元的妙控鍵盤買不起?還有別的選擇—那些值得買的無線鍵盤推薦榜
    首先這款鍵盤採用了104鍵的全尺寸鍵位,搭配上簡潔的全金屬外殼和白色鍵帽,讓其看上去非常符合職場辦公的風格,另外這款鍵盤採用了三模、即有線、藍牙以及無線2.4G三種模式,多樣的連接方式可以讓這款GK300兼顧穩定、便捷與靈活,在使用場景上會更加全能。雖然軸體方面並沒有使用櫻桃原廠軸,但TTC紅軸在手感上同樣也表現不俗。
  • 達爾優雙模無線系列機械鍵盤,手機、電腦、平板都能用,一把鍵盤就...
    手機、平板、電腦都能用  達爾優雙模無線系列機械鍵盤  一把鍵盤即可連接你的智能設備  達爾優EK861雙模無線機械鍵盤,內置1900mAh可充電鋰電池,有線連接自動為鍵盤充電,支持邊充邊用;藍牙狀態可同時連接三臺設備,通過鍵盤上方推撥按鍵即可輕鬆跨平臺操縱。
  • 杜伽復古機械鍵盤實現經典與現代交融
    那些年的鍵盤,都是通過有線的方式連接著設備。作為一款復古設計的鍵盤,Fusion當然也可以通過有線連接。但在無線連接大行其道的今天,Fusion也實現了多種無線連接模式。通過藏在鍵盤上品牌LOGO下的接收器,Fusion可以實現2.4GHz無線連接;打開鍵盤上的開關,Fusion即可通過藍牙5.0協議進行無線連接。
  • 曜越G521飛行家機械鍵盤圖賞:TTC軸體 三模無線
    去年底,TT曜越發布了G821 W1飛行家三模無線鍵盤,採用的全新的有線/2.4GHz/藍牙三模方案,集成手託模塊,售價619元起。現在,TT又推出了售價更親民的G521機械鍵盤,採用TTC機械軸體替換了Cherry MX軸體,其他配置未變,售價只要419元,6月2日到手價349元。我們快科技已經拿到了這款新品,下面為大家帶來圖賞。
  • 小黃人聯名無線鍵盤滑鼠評測:超萌裝備陪你並肩作戰
    這款滑鼠墊的面積為32×24cm,厚度為4mm,黑色包邊,三個超萌的小黃人圖案設計於滑鼠墊右半邊。 這款鍵盤支持藍牙無線、有線雙模式連接。並且提供有青軸和黃軸兩種軸體可選。青軸段落感強,段落有聲,擁有強烈的節奏感,適合打字使用。
  • 美商海盜船K57 RGB無線遊戲鍵盤評測
    美商海盜船K57 RGB無線鍵盤支持ICUE驅動引擎,可在無線2.4GHz模式下對鍵盤進行設定。點進去找到K57 RGB Wilreless,右側有顯示鍵盤剩餘電量的功能以及設定睡眠模式的啟動時間,根據大家的需求可以自由設定鍵盤無活動後多少分鐘,進入睡眠狀態。美商海盜船K57 RGB無線鍵盤RGB動態燈光效果展示。
  • 個性外觀隨心變 RK837無線68鍵機械鍵盤發布
    一隻鍵盤兩款外觀,RK近期給大家帶來了一款個性多變的新品RK837無線68鍵機械鍵盤, 創新可拆卸的邊框設計,可拆可換,隨時「變身」懸浮鍵位,還能更換個性DIY邊框,小小鍵盤滿足你的多個需求。延續無線雙模設計,出差辦公無壓力,這款全新的68鍵盤想必可以收割不少小夥伴的青睞。
  • 入門級高性價比無線機械鍵盤推薦 電競外設鍵盤手感好才是王道
    入門級高性價比無線機械鍵盤推薦 電競外設鍵盤手感好才是王道 2020年06月10日 18:25作者:黃頁編輯:黃頁 所謂工欲善其事,必先利其器,一把手感舒適的鍵盤不僅能極大的提升工作效率,還能改善工作心情;。對於大部分遊戲玩家而言,出色的手感和超靈敏的響應速度,也極大地提升了娛樂體驗。2020年200-500元價位的入門無線機械鍵盤,又有哪些值得推薦呢?
  • 現代派復古-杜伽 Fusion 三模無線機械鍵盤
    最近機械鍵盤有一款關注度比較高的,就是杜伽的Fusion,三模無線,68鍵,復古配色,眾籌好像賣爆了都。今天就跟大家分享一下這把鍵盤吧。 左上角這個杜伽的LOGO實際上是一個磁吸蓋子,按下右側即可翹起,裡面收納著2.4G的無線接收器。上次K320W我吐槽的鍵盤沒地方收納接收器終於是改進了。
  • 羅技G913 TKL無線機械鍵盤使用體驗
    我覺得有這麼幾點,無線賦予產品的定義就是便攜;再一個兼容性要好,在這之前我是體驗過很多機械鍵盤做的還不錯的廠家推出的無線機械鍵盤的,包括杜伽、ikbc這些國內還不錯的Cherry系機械鍵盤品牌,他們的無線機械鍵盤除了比較笨重之外都有一個很影響體驗的點,就是驅動優化的不好,多多少少在驅動上都有一些bug。還有更重要的無線連接的穩定性上,辦公也就罷了,遊戲掉幀可是要命的問題。
  • 2020年有哪些高性價比鍵盤 500元內品質無線機械鍵盤推薦
    2020年200-500元價位的入門無線機械鍵盤,又有哪些值得推薦呢?本文引用地址:http://www.eepw.com.cn/article/202006/414091.htmNO.1  雷神KL30無線機械鍵盤
  • 推薦2020年最值得入手的無線鍵盤
    無論你是在沙發上玩遊戲,在路上寫小說,還是你只是想要一個整潔的桌子,這些無線鍵盤都是最好的選擇。什麼是最好的無線鍵盤很大程度上取決於你打算如何使用它。你是一個沙發遊戲迷還是一個專注於工作的整潔怪人,只是想要最好的無線鍵盤,這樣你就可以保持桌面的整潔?
  • 手感出的鍵盤 愛國者遊戲機械鍵盤青軸usb有線吃雞遊戲鍵盤臺式筆...
    目前愛國者遊戲機械鍵盤青軸usb有線吃雞遊戲鍵盤臺式筆記本外接辦公遊戲家用有線防水鍵盤電競104鍵 黑+RGB-104鍵在京東商城的售價為199.00元,快速直達購買連結:點此前往京東購買>>>
  • 小鍵位,玩手感的達爾優EK861無線機械鍵盤
    鍵盤鍵位問題,對於不同的人來說都有著不同的習慣,標準3區104鍵固然好,但佔地面積著實太多,並不能便於攜帶,而且鍵位較多,也讓整體顏值無法做到更高的個性化。所以,小鍵位的鍵盤也開始整活了,什麼87key、67key的都為我們帶來了不一樣的視覺和使用體驗。
  • 超強續航羅技無線鍵盤大盤點
    、現在我們的生活和工作都離不開電腦,而鍵盤作為電腦的重要配件,其重要程度不言而喻。擁有一款品質出眾,續航能力持久的鍵盤和清晰收音的耳機,也是為工作、生活助力!現在市面上的無線鍵盤非常多,而我們在選擇時,最關心的無非就是鍵盤的響應速度、靈敏度以及續航能力,羅技的這兩款鍵盤就能滿足我們的日常使用需求。這款羅技MX Keys無線鍵盤以及羅技GAstro A40 杜比7.1電競耳機,續航能力和各方面的性能都非常優秀,一起來看看是否值得入手吧!
  • 達爾優發布EK871雙模無線機械鍵盤:71鍵設計,USB-C接口
    IT之家 8 月 7 日消息 6 月份,達爾優發布了 EK861 雙模機械鍵盤,採用 61key 鍵位布局。現在,EK871 雙模無線機械鍵盤也來了,採用全新的 71 鍵配列,官方稱 71key 的鍵位設計幾乎具備了標準鍵位鍵盤的功能性,搭配更為個性的鍵帽配色方案。
  • 遊戲玩家利器,羅技G913無線RGB機械遊戲鍵盤,上手測評
    在包裝方面,G913 TKL無線RGB機械遊戲鍵盤,延續了羅技G系列鍵盤包裝的特色,採用了熟悉且經典的藍+灰配色包裝,盒面印有英、中雙字的文字說明,包裝正面上,可以清楚看到G913 TKL無線RGB機械遊戲鍵盤預覽圖,為87鍵緊湊設計。包裝右上角印製有產品的三大特點,包括矮軸、無線、與RGB。在包裝的背面,印製有該產品的參數,性能和相關設計的介紹。