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

访客4年前黑客文章739

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

相关文章

微商卖什么最赚钱?2019微商暴利产品十大排行版

微商卖什么最赚钱?2019微商暴利产品十大排行版

有很多人想要加入微商,但是不知道做什么产品更有市场,2018做微商什么比较好卖?哪类产品是最赚钱的?小编推荐2018微商最好卖的十大产品,大家可以参考下。 2018做微商什么比较好卖 第1名:...

免费帮忙的黑客QQ号多少(找黑客帮忙要多少钱)

我需要他和我老公在一起的那个最有利的证据,那最好了,知道他们具体的位置在哪里,然后我好去找他拍了他们在一起的照片 不要光想着找别人帮忙,骗子太多了。靠人不如靠己。你可以自己学。找不到方向我可以教你。如...

关于AI交互设计,这几点你需要知道

关于AI交互设计,这几点你需要知道

编辑导读:人工智能在如今的利用很是遍及,我们可以在糊口中看到各类与AI相关的产物,Siri、AI换脸、AI教诲等等。作为一个设计师,人工智能时代需要我们具备什么样的本领呢?本文将从四个方面,对这个问题...

房产知识:没有房产证中学生怎么转学?这个跟

相信现在有很多的朋友们对于没有房产证中学生怎么转学?这个跟房产有关系的吗?请问有哪个大神能说说?都想要了解吧,那么今天小编就来给大家针对没有房产证中学生怎么转学?这个跟房产有关系的吗?请问有哪个大神能...

黑客们都用哪种安全卫士(黑客们都用哪种安全卫士了)

黑客们都用哪种安全卫士(黑客们都用哪种安全卫士了)

本文目录一览: 1、国内杀毒软件和那个安全卫士好 2、哪个安全卫士好 3、电脑用什么卫士好 国内杀毒软件和那个安全卫士好 几种搭配(通常同种公司的产品搭配会比较好些,以免出现兼容问题):1、...

手机号定位官方网

没有谁的成功从天而降,做公众号也是这么一个道理!其实很多人在一开始的时候做公众号真的是信心满满,每天一篇文章绝对不拉。但是,自从粉丝量不断的下降和官方这边限流了之后,真的是非常的丧啊!其实对于公众号来...