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

访客4年前黑客文章753

文中以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)#实际键值见附则一部分

相关文章

哪个网站可以学黑客(黑客好学吗)

哪个网站可以学黑客(黑客好学吗)

本文导读目录: 1、黑客学堂的网址是什么? 2、谁有教黑客的网站啊!本人想学,本人天天被别人黑,一天系统要还原一次,郁闷啊 3、常见的免费的黑客网站有什么? 4、自学网络技术,哪个网站比较...

深入明白CSS属性width和height

width 是界说米素内容区的宽度; height是界说米素在内容区的高度. 在内容区外面可以增添内边距(padding)、边框(border)和外边距(margin),这样的话就成了我们常...

沃尔玛网站增加Vudu视频流服务以吸引消费者

7月27日信息,沃尔玛超市已经将其Vudurtmp协议和租用服务项目放到沃尔玛网站内以吸引住大量的顾客的目光。它是沃尔玛超市为变成传统式店铺和在线商店消费者关键到达站所采用的全新措施。...

滴滴口碑值多少正常

  几多你刚注册的。没有做过业务,也就没有口碑,自然也就是零分了。   滴滴新政口碑值是指搭客对你的评价,处事分,是指你的处事立场,以及车辆状态,假如两者都很高的话,那么你的接单率就很高,反之赵洁就很...

黑客需要掌握什么(黑客都需要掌握什么)

黑客需要掌握什么(黑客都需要掌握什么)

本文目录一览: 1、黑客入门基础知识有哪些? 2、黑客需要学什么 3、黑客需要学什么? 黑客入门基础知识有哪些? 黑客入门基础知识第一步要做的是掌握web前后端基础和服务器通讯原理,前后端包...

黑客删除的数据怎么恢复

不需要用黑客技术,用恢复软件就可以了恢复误删数据,推荐用安易数ju恢复软件 微信聊天记录迁移?随着时代的进步,大家更换新手机的速度也越来越快,换手机很简单,但随之而来的问题就是数据转移,特别像微信,里...