文中以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.u *** _mode('CDC MSC')
# act as a serial and a storage device
pyb.u *** _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)#实际键值见附则一部分
闪迪SDSSDA240GZ25加强版怎么样 2016固态硬盘推荐。大家都知道,现在SSD固态硬盘已经摆脱了高价时代,并且逐渐步入亲民主流,不少装机用户都会搭配一款固态硬盘。下面小编推荐一款240GB容...
中国的互联网并不是真正开放的互联网,有时候很多人耐不住自己想要窥探外面世界的好奇心,选择用翻墙这种方式打开世界的大门,而虚拟专用网络(虚拟专用网络)就是看似用来帮助你混淆自己踪迹的帮助者。可是,你真的...
怎么能联系上外围小学妹经纪人【金玫】 今天给大家分享的内容是“怎么能联系上外围小学妹经纪人【金玫】”,我是金玫,来自阿坝州,今年34岁,作为职业:高端模特,我热爱我的职业:高端模特。三圍:胸64腰88...
鸡都是自己挂出来的和扫出来的,买的容易掉 有,但是绝对不会卖给你 简单来说肉鸡就是被黑客控制的电脑,有的黑客可以有成千上万的肉鸡。由于你已经被黑客控制,在你的电脑上植入了木马,因此你的电脑就有可能成为...
反比例函数知识点(初三反比例函数知识点) 反比例函数知识点汇总 关于函数的知识,相信同学们早已不陌生,之前小编已经带大家学习过一次函数和二次函数的内容了,今天要接触的部分是反比例函数,顺便再来...
中国得话知乎问答有相近的许多难题了,有大神小结的很全方位了,那我填补好多个海外较为强烈推荐的黑客论坛吧。() 1、GreySec 黑客和安全性论坛。 2、Hack Forums 这是一个公布有关黑...