分类
折腾

使用Digispark™ 进行 USB HID 键盘程序的开发

Digispark™ Kickstarter 是一个兼容Arduino的开发板。配备了标准USB接口,同时仅有¥8($1)的售价使它成为了Hacker的新宠。虽然不能直接使用转化的Ducky Script,但是对它进行USB HID编程仍是一件非常简单的事情。

↑ Digispark™ Kickstarter 开发板

关于这个板子

  • Digispark™ Kickstarter采用了ATTiny85芯片,虽然只有20MHz的速度,但是足够用了。
  • 这是一块社区贡献的板子,板子是开源的。因此你购买回来的不一定是公版,但是完全兼容。
  • 这块板子仅有8KB的存储空间,除去Arduino Bootloader的2KB,剩下了6KB的程序存储空间。一个空的Arduino程序(setup()loop()函数全部为空)会占用41%的存储空间。因此,你编写的程序第一不能太长,第二需要精简。
  • 很多人说这个板子插入USB口后会松动,实测确实不是太紧,不过不至于会断开连线。

使用Automator生成USB HID键盘程序

因为Digispark™的USB HID函数库中的函数名都比较长,而且键位的定义也比较多,打起代码来会不方便,因此我写了Automator程序来让开发者更快地生成他们想要的Arduino程序。打来Automator,点点鼠标,然后就可以生成Arduino代码文件:

关于Automator的下载与使用,请移步到这篇文章:

★ 使用Automator简化Digispark™模拟键盘(USB HID)程序的开发


使用Arduino IDE编译并上传程序

Digispark™是社区贡献的板子,因此不在Arduino官方支持的板子里面,我们需要安装串口驱动、Arduino开发板数据才能使用。

安装Digispark™驱动程序

首先请到Digispark™的Github页面下载驱动程序(Digistump.Drivers.zip):

https://github.com/digistump/DigistumpArduino/releases

然后安装驱动,32位使用DPInst.exe,64位使用DPInst64.exe

添加Arduino支持

打开Arduino IDE,点击“文件”-“首选项”,然后在“附加开发板管理器网址”填写

http://digistump.com/package_digistump_index.json

接下来,前往“工具”-“开发板”-“开发板管理器”,类型选择“贡献”,然后安装“Disigstump AVR Boards”。

接下来,前往“工具”-“编程器”,选择“USBtinyISP”。

前往“工具”-“开发板”,选择“Digispark (Default – 16.5MHz)

编译并上传你的程序

安装驱动并添加支持后,打开Automator生成的Arduino项目,直接点击“上传”按钮(工具栏从左向右第二个),不要插入设备。等待IDE提示请现在插入设备:

Plug in device now… (will timeout in 60 seconds)

时再插入设备。

写入完成的设备会在其他的计算机、手机等设备上识别为USB人体学输入设备,不需要另外安装驱动。


参考资料与鸣谢

Seytonic 的YouTube视频:https://www.youtube.com/watch?v=fGmGBa-4cYQ

“使用Digispark™ 进行 USB HID 键盘程序的开发”上的一条回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注