、前言
??今天看到B站視頻中,別的UP主 展示了 STM32制作鼠標的過程,在一些實驗中,我也需要能夠自動控制鼠標和鍵盤。下面,就對這個功能進行測試。也為今后的應用提供經驗。
??電路圖非常簡單,因為僅僅測試它的鼠標基本功能。所以在這里只是增加了一個USB端口。通過單面布線,使用一分鐘制版方法得到了測試電路板。實驗電路制作的還算可以,只是有一根USB線好像要斷了。使用一分鐘制版方法,重新再制作一塊實驗板。這次所有的引線都正常。一分鐘制板方法使得電路板的制作就像打印紙張一樣方便。
▲ 圖1.2.1 測試電路原理圖
▲ 圖1.2.2 測試電路PCB
??電路比較簡單,焊接也相對容易。單片機使用熱風槍焊錫,可以看到單片機管腳可以自動對齊焊盤。在電路中,最細的線的寬度為 7 mil。可以在兩個焊盤之間過兩根引線。
四、軟件測試
??使用 CubeMX 配置單片機的 HID 功能。首先,選擇USB 設備的功能。然后,在下面的軟件配置中,設置 USB 的功能為 HID。這樣,單片機便可以模擬鼠標和鍵盤了。接下來,在需要控制的軟件中,引入頭文件。主要是 USB_DEVICE,以及 USB_HID兩個頭文件。在下面,聲明外部變量 USB Device FS。通過發送四個字節的數據,來聲明鼠標的按鍵動作,以及移動的參數。將這四個字節通過 Send Report 函數發送,計算機變可以進行 鼠標的相應動作。這部分的簡單說明可以參考網絡文章。其中關于四個自己的定義,這里給出了簡要的說明。
??發送鼠標移動指令,鼠標立即執行。發送鼠標按鍵,則需要在發送按鍵之后,等待大約 15毫秒之后,再發送一個空的數據包。這樣便可以模擬一個鼠標按鍵的過程。下面讓我們來測試一下。
??這里通過串口發送一個指令,單片機接收到指令之后,便通過USB 產生一個鼠標左鍵按動的過程。這驗證了剛才簡單的發送協議的效果。通過串口控制 單片機發送鼠標移動的指令,效果也非常好。由此驗證了單片機控制鼠標的功能。
??本文測試了基于F103的USB端口,產生鼠標動作的功能。在后面,再檢驗一下F103制作USB鍵盤的功能。
參考資料
[1]
? ? ? ? ? ? ,?,??: https://www.bilibili.com/video/BV17p42127LD/?buvid=Z34E643DFE868DE14873B2DA10EDEFE34C8F&from_spmid=united.player-video-detail.relatedvideo.0&is_story_h5=false&mid=RlFskWsC899Y%2F8ZFWQKwsQ%3D%3D&p=1&plat_id=114&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=17461416-B0CE-4E80-BEF4-7785E39404F2&share_source=WEIXIN&share_tag=s_i&spmid=united.player-video-detail.0.0×tamp=1711409205&unique_k=cO4xRP8&up_id=2044983862&vd_source=018fb56143bdd99e9082b03b2d65a531
[2]
教你STM32做USB鼠標、鍵盤: https://zhuanlan.zhihu.com/p/583964588
豬腳本(原飛豬腳本)以按鍵精靈教學為主,涉及UiBot,Python,Lua等腳本編程語言,教學包括全自動辦公腳本,游戲輔助腳本,引流腳本,網頁腳本,安卓腳本,IOS腳本,注冊腳本,點贊腳本,閱讀腳本以及網賺腳本等各個領域。想制作腳本和學習按鍵精靈的朋友可以添加按鍵精靈學習交流群:554127455 學習路上不再孤單,金豬腳本伴你一同成長.5
內容提要
[backcolor=rgb(154, 205, 50)]1點到點模擬鼠標真實移動——直線
[backcolor=rgb(154, 205, 50)] 2點到點模擬鼠標真實移動——直線+轉折
[backcolor=rgb(154, 205, 50)]3點到點模擬鼠標真實移動——直線+振幅
[backcolor=rgb(154, 205, 50)] 4點到點模擬鼠標真實移動——曲線場景
[backcolor=rgb(154, 205, 50)] 在mspaint畫圖工具中,讓鼠標從點100,100 移動到點800,600
NO.1-點到點模擬鼠標真實移動——直線
代碼1 [backcolor=rgb(46, 139, 87)]作者:林家鋪子
復制代碼
運行效果:
代碼2 [backcolor=rgb(46, 139, 87)]作者:_雪狼
復制代碼
運行效果:
代碼3-[backcolor=rgb(46, 139, 87)]變速 作者:playandhappy
復制代碼
運行效果:
代碼4-[backcolor=rgb(46, 139, 87)]移動次數 作者:fuyong198010222
復制代碼
運行效果:
代碼5-[backcolor=rgb(46, 139, 87)]移動間隔 作者:xuyuzui
復制代碼
運行效果:
[backcolor=rgb(46, 139, 87)]
NO.2-點到點模擬鼠標真實移動——直線+轉折
[backcolor=rgb(46, 139, 87)]代碼1 作者:VBS技術者
復制代碼
運行效果:
[backcolor=rgb(46, 139, 87)]代碼2 作者:dinwidi
復制代碼
運行效果:
NO.3-點到點模擬鼠標真實移動——直線+振動
[backcolor=rgb(46, 139, 87)]代碼 作者:lucky619486332
運行效果:
NO.4-點到點模擬鼠標真實移動——曲線
代碼 [backcolor=rgb(46, 139, 87)]作者:xxx_mail
0 and y2 - y1運行效果:
NO.5
[backcolor=rgb(154, 205, 50)] 為了加強模擬效果,我們可以將上述代碼中移動間隔時間、移動距離使用隨機數來代替。
近手癢,想寫點小玩意。
發呆中發現電腦屏幕保護了。
于是想寫個防止屏幕保護的小東西。
所以沒有啥技術含量,高手可以不用看。
首先是思路:
一般來說,電腦沒有任何操作一段時間后才會進入屏幕保護,所以我們只要讓電腦以為我們一直在電腦前操作,就可以避免進入屏幕保護。
所以我的想法就是,假裝我在移動鼠標。但是如果只是在固定的點移動或點擊鼠標,有點太過簡單,可以加隨機數,讓鼠標在一個范圍內隨機點擊。
再者,為了防止在點擊過程中打開無意中點擊的程序或文件,點擊模式就設置成單擊。當然為了防止單擊點了過快變成了雙擊,就考慮限制鼠標的移動范圍,盡量在空白的地方點。
最后說的是,這個小程序,實際沒有用處,純粹是為了練手。