本指南将展示开源TinyUSB USB端口软件和Chrome WebUSB浏览器功能的组合如何为程序员和用户提供插入基于微控制器的项目的能力,并让他们在web浏览器中与用户交互。在显示计算机上不需要额外的代码,除了一个标准的Chrome浏览器窗口(即。没有插件等)
这种功能非常适合学校、学习、易于使用和辅助技术应用。
什么是webbusb ?
WebUSB是最新的标准,用于从网页安全访问USB设备。自2017年9月起,Chrome 61和所有当前版本均可使用。
创建WebUSB API的原因之一是:提供一种向Web公开USB设备服务的方法。有了这个API,硬件制造商就可以为他们的设备构建跨平台的JavaScript sdk。但最重要的是,这个通过将USB带到网络上,使其更安全、更容易使用.
让我们看看webbusb API能给你带来什么:
- 购买USB设备。
- 把它插到你的电脑上。
- 马上就会出现一个通知,告诉你该设备的正确网站。
- 只需点击它。网站在那里,准备使用!
- 点击连接,Chrome中会出现一个USB设备选择器,在那里你可以选择你的设备。
- 大作。
如果没有webbusb API,这个过程会是什么样子?
- 阅读一个框,标签或在线搜索,可能会在错误的网站结束。
- 必须安装本地应用程序。
- 我的操作系统支持它吗?确保你下载了“正确”的东西。
- 可怕的操作系统提示弹出,警告你从互联网安装驱动程序/应用程序。
- 出现故障的代码会损害整台计算机。网络是为了控制出现故障的网站.
- USB设备只用一次?在网页上,一旦你关闭标签,网站就消失了。在计算机上,代码一直存在。
TinyUSB如何帮助?
TinyUSB是一个开源的嵌入式系统的跨平台USB主机/设备栈。它被设计成内存安全的,没有动态分配,线程安全的,所有中断事件都被延迟,然后在堆栈的任务函数中处理。
虽然有其他一些用于微控制器的USB堆栈,特别是Arduino堆栈,但TinyUSB与广泛的微控制器兼容,具有更好的设备支持,并且是MIT授权的。
TinyUSB库在Adafruit的GitHub回购在这里.
WebUSB和TinyUSB一起
Adafruit致力于确保TinyUSB与WebUSB兼容。它们使Adafruit和兼容的微控制器可以与Chrome等WebUSB浏览器一起工作,而主机/平板电脑/手机/chromebook上没有驱动程序。超级简单,而且在学校这样的环境中效果很好。