惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Register - Security
The Register - Security
J
Java Code Geeks
S
SegmentFault 最新的问题
月光博客
月光博客
G
Google Developers Blog
美团技术团队
Last Week in AI
Last Week in AI
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
The Blog of Author Tim Ferriss
腾讯CDC
Recent Announcements
Recent Announcements
Recorded Future
Recorded Future
The Cloudflare Blog
有赞技术团队
有赞技术团队
博客园_首页
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
B
Blog
I
InfoQ
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
D
DataBreaches.Net
F
Full Disclosure
M
MIT News - Artificial intelligence
博客园 - 司徒正美
H
Help Net Security

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 使用micro:bit自制PPT翻页笔 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事 blockly与结对编程
蓝牙设备与Scratch3.0
种瓜 · 2019-01-22 · via 夜行人

文章目录

前言

本文的目标是帮助开发者将任意的蓝牙设备接入Scratch3.0,当然前提是你了解该设备的蓝牙协议细节。如果它没有开放协议,你又想接入,需要做些破解工作,这块当然也非常有趣,但不是本文关注的话题,有兴趣的话可以读我之前关于BLE的文章, Bleah是个非常好的攻击工具,值得了解:)

蓝牙

我们讨论两类蓝牙设备:

  • 传统蓝牙(2.0)
  • 低功耗蓝牙(4.0/5.0)

传统蓝牙(2.0)

对于传统蓝牙,一般使用串口与之通信,连接之后,当作普通串口使用即可。

希望将传统蓝牙设备接入Scratch3.0,推荐使用codelab-adapter

例子

我们此前使用codelab-adapter将优必选 Alpha系列机器人接入到Scratch3.0中,源码已经开放:extension_ubtrobot

同时支持Windows/MacOS/Linux,Windows支持windows7/windows8/windows10.

如果大家需要将传统蓝牙(2.0)设备接入Scratch3.0,可以参考这个例子。

低功耗蓝牙(4.0/5.0)

我个人非常偏好低功耗蓝牙(BLE)设备,我相信它是教器的未来,席卷而来的bluetooth5.0更是为物联网带来了许多令人振奋的特性。

micro:bit便支持蓝牙4.0, 树莓派3也支持。新设备的蓝牙几乎都是4.0以上了。

将BLE设备接入Scratch3.0,目前的最佳方式是采用官方的Scratch Linkcodelab-adapter在未来也可能支持BLE设备(通过一个通用的插件来实现这些),但我们希望等到系统对BLE的支持更好之后来做。

Scratch Link对系统环境要求比较严苛,需要Windows10的某个版本以上,对MacOS的版本也有要求,这不能怪Scratch Link,当前操作系统对BLE的支持程度参差不齐,只能等时间淘汰旧系统。BLE是未来,我相信是很清晰的。

我们假设Scratch Link运行正常,那么要如何通过Scratch Link将BLE设备接入Scratch3.0呢,这块已经有很多例子了:

原理上,你可以把Scratch Link看作Scratch3.0与BLE设备通信的透明代理。

如果你对通信的细节和原理有更多兴趣,可以参考我之前对micro:bit与Scratch3.0通信细节的分析:分析scratch3.0与micro:bit的通信, 理解这些细节后,你就可以做任何改造了。

我的建议

  1. 推荐使用NRF的调试工具。
  2. 推荐使用UART Service(micro:bit就是这样做的)