利用micropython迅速完成Badusb及手机上无线遥控拓展

文中以TPYBoard单片机开发板为例子解读了利用micropython开展HID机器设备测试的关键方式,应用mt7681控制模块开展了一个简单的实验,完成了手机上无线遥控数字键盘的测试。 0×01前言 Micropyt...

文中以TPYBoard单片机开发板为例子解读了利用micropython开展HID机器设备测试的关键方式,应用mt7681控制模块开展了一个简单的实验,完成了手机上无线遥控数字键盘的测试。

0×01前言

Micropython即运作在微处理器上的Python,只需你懂得python3.x,就可以给你像应用arduino那般开展硬件设计。伴随着micropython的公布,早已有愈来愈多的人科学研究和利用其开展新项目开发设计。自己也开展了一些科学研究,发觉利用python开展实际操作的确很便捷,非常简单。现阶段适用micropython的单片机开发板有很多,如pyboard、pyMagic、TPYBoard等。

PYmagic

pyboard 1.0

tpyboard V102

近期从在网上搞了一块TPYBoardV101(官方网站开展了一下科学研究,尤其是对其本身的USB-HID作用开展了测试,让人意外惊喜的是,你能在仅懂python的状况下,开展HID触摸键盘的测试。

0×02 TPYBoardV101模拟键盘

该木板的操作方法新手入门,文中中忽略,有兴趣爱好的能够查询其网址中,在开展电脑键盘仿真模拟时,每一次推送了八个标识符,只需弄清楚了这八个标识符的含意,就可以开展HID仿真模拟了。

电脑键盘仿真模拟时,每一次要推送的八个标识符,实际为BYTE1、BYTE2、 BYTE3、 BYTE4、 BYTE5 、BYTE6、 BYTE7、 BYTE8。在其中BYTE1用于完成按键:

BYTE1–|–bit0:Left Control按下时为1

|–bit1:Left Shift按下时为1

|–bit2:Left Alt按下时为1

|–bit3:Left GUI按下时为1

|–bit4:Right Control按下时为1

|–bit5:Right Shift按下时为1

|–bit6:Right Alt按下时为1

|–bit7:Right GUI按下时为1

BYTE3到BYTE8是实际功能键。

如:按下leftshift a,则推送0×02,0×00,0×04,0×00,0×00,0×00,0×00,0×00。

这儿以按下leftGUI R来实际解读完成全过程。

第一步:修改boot.py文件,编码以下:

import machine

import pyb

#pyb.main('main.py')

# main script to run after this one

#pyb.usb_mode('CDC MSC')

# act as a serial and a storage device

pyb.usb_mode('CDC HID',hid=pyb.hid_keyboard)

第二步,修改main.py文件,编码以下:

# main.py -- put your code here!

hid=pyb.USB_HID()

def release_key_once():

buf=bytearray(8) # report is 8 bytes long

buf[2]=0

hid.send(buf) # key released

pyb.delay(10)

def press_key_once(key):

buf=bytearray(8) # report is 8 bytes long

buf[2]=key

hid.send(buf) # key released

pyb.delay(10)

def press_2mey(key1,key2):

buf=bytearray(8) # report is 8 bytes long

buf[0]=key1

buf[2]=key2

hid.send(buf) # key released

pyb.delay(10)

def release_2mey():

buf=bytearray(8) # report is 8 bytes long

buf[0]=0

buf[2]=0

hid.send(buf) # key released

pyb.delay(10)

pyb.delay(1000) #逐渐添加一秒廷时

press_2mey(0x08,0x15)#实际键值见附则一部分

release_2mey()

第三步,安全性撤出TPYBoardv101,随后按一下RST键,能够见到一秒后“运作”对话框弹出来。

0×03 简易的HID测试

测试开启“运作”对话框,键入cmd,随后弹出来cmd后,键入shutdown-s -t 60 ,即60秒后自动开关机。假如前边早已干了boot.py的修改,这儿就不用再开展修改了,立即修改main.py就可以了。

# main.py -- put your code here!

hid=pyb.USB_HID()

def release_key_once():

buf=bytearray(8) # report is 8 bytes long

buf[2]=0

hid.send(buf) # key released

pyb.delay(10)

def press_key_once(key):

buf=bytearray(8) # report is 8 bytes long

buf[2]=key

hid.send(buf) # key released

pyb.delay(10)

def press_2mey(key1,key2):

buf=bytearray(8) # report is 8 bytes long

buf[0]=key1

buf[2]=key2

hid.send(buf) # key released

pyb.delay(10)

def release_2mey():

buf=bytearray(8) # report is 8 bytes long

buf[0]=0

buf[2]=0

hid.send(buf) # key released

pyb.delay(10)

pyb.delay(1000) #逐渐添加一秒廷时

press_2mey(0x08,0x15)#实际键值见附则一部分

  • 发表于 2021-02-24 12:58
  • 阅读 ( 271 )
  • 分类:互联网

0 条评论

请先 登录 后评论
鼎盛科技
鼎盛科技

681 篇文章

你可能感兴趣的文章

相关问题