本帖最后由 lou 于 2020-4-27 11:27 编辑
Geek专栏:Web端连接智能硬件的方案
今天Geek专栏为大家带来
乐聚机器人王松博士的
“Web端连接智能硬件的方案”
Web 适合与服务器通信,但不适合与设备通信,目前可以通过 webBLE,WebSerial 和WebSocket 等方式与外围设备进行连接。
Web Bluetooth
网页通过 WebBluetooth API 向浏览器申请蓝牙控制的权限
参考示例
优缺点
- 浏览器兼容性问题,只支持 Chrome 45+ 的版本
- 设备蓝牙兼容性问题
- 需要向浏览器申请权限请求用户同意
Web Serial API
网页通过向浏览器申请串口的权限,进而和支持串口的设备进行通信
草案地址
优缺点
- 该协议目前处于草案阶段,暂不稳定
- 需要做一个 USB Dongle,协议会比较复杂
- USB 驱动也可能有兼容性的问题
- 浏览器兼容问题
Scratch Link
介绍
Scratch Link 是 MIT 开发团队 LLK 提出的方案,帮助 Scratch 3.0 web 端与蓝牙外围设备进行连接。Scratch Link 是一个桌面应用,可以运行在 Windows 和 MacOS 平台,起代理的作用,在内部运行了一个 websocket 服务,与网页进行通信,再通过蓝牙服务与外围设备进行通信。
项目地址
https://github.com/LLK/scratch-link
优缺点
- 依赖桌面应用进行代理
- 轻量、开源,支持 Win/MacOS 系统
- 暂时只支持乐高 Mindstorm 机器人、Micro:bit 等蓝牙设备
- 蓝牙兼容性问题
Codelab Adapter
介绍
CodeLab Adapter 是由 CodeLab 构建的基础项目(v2是最新版本),可以用于连接 Scratch 3.0 和其他设备,无论是软件还是硬件,无论是 AI、开源硬件、现实世界的物体、还是虚拟世界的动画角色,在 CodeLabAdapter 的驱动下,皆可彼此互动。
软件的核心架构与Scratch Link 类似,是代理软件 CodeLab Adapter 内部是 WebSocket Server 用于与 Scratch3.0 网页通信,然后通过 ZeroMQ 与各个设备之间连接通信,比如机器人、无人机等
架构参考https://codelab-adapter-docs.codelab.club/dev_guide/Architecture/
项目地址
(https://github.com/CodeLabClub/codelab_adapter_extensions),设备兼容性可由接入的设备商自行解决。
优缺点
- 依赖桌面应用进行代理
- 接入灵活,可以兼容任意的设备
- 代理软件部署在如树莓派的设备上,可以兼容移动端,比如 iPad 设备
机器人案例
- 在 Scratch3 中玩转机器人: Python、Deep Learning、Posenet and Robot!
- 当遇到 Scratch3-Codelab,Pando 觉醒了!
|
|