lou 发表于 2020-4-22 17:12:51

Geek专栏:Web端连接智能硬件的方案

本帖最后由 lou 于 2020-4-27 11:27 编辑

Geek专栏:Web端连接智能硬件的方案



今天Geek专栏为大家带来
乐聚机器人王松博士的
“Web端连接智能硬件的方案”

Web 适合与服务器通信,但不适合与设备通信,目前可以通过 webBLE,WebSerial 和WebSocket 等方式与外围设备进行连接。

Web Bluetooth

网页通过 WebBluetooth API 向浏览器申请蓝牙控制的权限

参考示例


[*]Web Bluetooth Samples
[*](https://googlechrome.github.io/samples/web-bluetooth/)

优缺点


[*]浏览器兼容性问题,只支持 Chrome 45+ 的版本
[*]设备蓝牙兼容性问题
[*]需要向浏览器申请权限请求用户同意

Web Serial API

网页通过向浏览器申请串口的权限,进而和支持串口的设备进行通信

草案地址


[*]Draft Community Group Report 22 November 2019
[*](https://wicg.github.io/serial/)

优缺点


[*]该协议目前处于草案阶段,暂不稳定
[*]需要做一个 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/

项目地址


[*]CodeLab Adapter v2(https://codelab-adapter-docs.codelab.club/)
[*]codelab_adapter_extensions 各类设备插件地址
    (https://github.com/CodeLabClub/codelab_adapter_extensions),设备兼容性可由接入的设备商自行解决。


[*]Scratch 3.0 端核心插件 EIM(https://github.com/CodeLabClub/scratch3_eim),是一个 Scratch 3.0 插件,用于 Scratch 网页端与代理软件 CodeLab Adapter v2 之间通信。

优缺点


[*]依赖桌面应用进行代理
[*]接入灵活,可以兼容任意的设备
[*]代理软件部署在如树莓派的设备上,可以兼容移动端,比如 iPad 设备

机器人案例


[*]在 Scratch3 中玩转机器人: Python、Deep Learning、Posenet and Robot!
[*]当遇到 Scratch3-Codelab,Pando 觉醒了!

页: [1]
查看完整版本: Geek专栏:Web端连接智能硬件的方案