为什么需要Scratch Link

从我之前的一些二次开发文章可以看出,Scratch 3.0不论是在线版本还是离线的桌面版都是一个Web App,出于安全性等等因素的考虑,Web App对系统接口的访问有着非常严格的限制,比如硬件文件读写、蓝牙或串口外设等等。

那要连接Wedo等外设怎么办呢?Scratch的解决方案是这样的,另准备一个本地程序,这个程序可以使用系统API来访问蓝牙以及串口外设,同时,它又是一个服务器程序,可以通过wss协议与Web app通信,这样它就成了Scratch 与 外设的桥梁(所谓的wss,就是安全的WebSocket通信协议)。下图是一个简单的示意图:

(实际上新版的Chrome浏览器已经支持 Web Serial API 和 Web Bluetooth API,所以或许再过一段时间就不需要蹩脚的Scratch Link了)

为什么安装了Scratch Link还是用不了

这是因为在scratch-vm的代码设定的wss通信地址是:wss://device-manager.scratch.mit.edu:20110/scratch/ble,也就是需要通过scratch官网旅游一圈再回到我们的Scratch Link,但是 scratch.mit.edu 已经被墙了,没梯子这路就断了。
所以网络可以看到一些修改host的方案,把device-manager.scratch.mit.edu 解析到本地127.0.0.1

怎么解决

从二次开发的角度来说,代码是直接暴露给开发人员的,完全没有必要再用device-manager.scratch.mit.edu:20110 这样的地址,直接改成 127.0.0.1 它不香吗。
Kidsline就是这么做的,同时为了避免与官网Scratch Link端口冲突,我们把通信端口改为了20111

Kidsline的一些小细节

Scratch link编译后的运行文件很小 1M+,通常是需要单独安装的,在整 Kidsline 时,我把Scratch Link直接打包到了Kidsline的安装包中,取名为Kidslink,这样一次安装即可搞定,也省了什么版本不匹配等等的问题。
同时,我在菜单栏里增加了一个启动项,需要时点击菜单就好。

想折腾直接修改源码,不想折腾的可以下载我们的Kidsline。点这里下载页

Scratch3.0 使用 Scratch Link 连接Wedo等外设相关推荐

  1. 官方scratch3.0正式发布,全面支持移动设备在线编程!

    Scratch3.0介绍 Scratch融合卡通.动画.音效等多媒体的运用和直观拖拽式的编程方式,生动有趣,可以编写各种类型程序,游戏.动画.互动美术.实物模拟.数学模拟等,想象无限.同时蕴含丰富知识 ...

  2. Scratch3.0连接EV3,WEDO2.0的方法视频讲解。

    为什么讲这个问题 最近因为国内对Scratch服务器访问的限制,现在访问官网和链接Scratch服务器的功能模块都使用不成了,离线版本中EV3和WEDO链接上也出了问题,目前这个是可以解决的. 这个问 ...

  3. Scratch3.0创意编程(基础篇):第1课 Scratch画图形

    前言 课程用到的环境是Scratch3.0版本,本节课作为初级学习编程的第一节课,主要以学生熟悉Scratch界面,了解编程为主.课程设计比较简单,拓展性强,学习完以后可以根据本节课所学知识拓展自由编 ...

  4. ▷Scratch课堂丨Scratch3.0如何设置造型中心点?

    随着scratch3.0的发布,很多人开始尝试使用新的版本,前几天有网友在后台在问:"Scratch3.0如何设置造型中心点?",能不能出一篇教程,那今天就来了!请君品读. 总体来 ...

  5. 【雕虫小技第9篇】scratch编程技巧之Scratch3.0字体调节,字体变大缩放。

    本文章转载自xtrobot公众号 不玩虚的先说结论,Scratch3.0不能直接改字体,但是可以间接改. 目前很多使用Scratch的用户都切换到了3.0平台,除了鲜艳漂亮的界面带给我们的视觉冲击以外 ...

  6. 少儿编程Scratch学习教程--Scratch3.0界面简介

    对比一下Scratch2.0,我们简单介绍下Scratch3.0的界面. 先看下2.0的界面. 再看下3.0的界面. 最后我们看下3.0主要的改变点. 1.主界面布局被改变了,新版本代码块区域更清晰了 ...

  7. Scratch3.0 二次开发环境部署(一)

    简介 Scratch终于在2019年1月2日,发布了3.0正式版. 我们先来看下Scratch3.0改进了什么. 首先要说明的是,3.0完全兼容2.0的作品,所有用2.0制作的作品,都可以在3.0中打 ...

  8. Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)

    Scratch3.0--助力新进程序员理解程序(案例一.画画的蝴蝶) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...

  9. Blockly与Scratch3.0的比较分析

    原文网址:https://blog.just4fun.site/scratch3-blockly.html 可是时间究竟是什么?没有人问我,我倒清楚,有人问我,我想给他解释,却茫然不解了 --奥古斯丁 ...

最新文章

  1. smbpasswd 和 pdbedit 的区别
  2. 投资学习网课笔记(part1)--基金第一课
  3. oracledatabase11gr2怎么打开_win10 安装oracle 11gR2_database(内附下载地址)
  4. Hibernate一级缓存与二级缓存的区别
  5. rel=alternate stylesheet属性
  6. 一个两年Java的面试总结
  7. PHP中获取星期的几种方法
  8. HTTPS 使用成本
  9. Akka源码分析-Remote-收消息
  10. php密送,向多个收件人发送电子邮件 – 抄送:和密送:在PHP中
  11. 怎么找回计算机用户名密码怎么办,电脑steam账号密码忘记了怎么办|电脑找回steam账户的方法...
  12. 英文简历模板计算机专业,计算机专业英文简历模板制作
  13. H5app 调用手机摄像头拍照、录制视频并上传demo
  14. 基于google api 的youtube评论爬取
  15. java.io.IOException: Failed to create local dir in /tmp/blockmgr-adb70127-0a28-4256-a205-c575acc74f9
  16. 画图清空画布,怎样将Word中会出现的绘图画布删除掉?
  17. java 设置页面宽度_java – PDFBox设置A5页面大小
  18. Python深度学习之处理文本数据
  19. D1 哪吒开发板 上电记录
  20. Head First C - C语言入门

热门文章

  1. solr 近实时搜索
  2. ThinkPHP5 上传图片
  3. 希尔顿、洲际、万豪、麦当劳、雀巢、霍尼韦尔、阿科玛、斯凯孚等外企在中国 | 美通社头条...
  4. matlab--solve函数的用法
  5. Mac安装brew的终极方法
  6. Python语言程序设计之平面连杆机构解析法
  7. Android交叉编译OpenCV+FFmpeg+x264的艰难历程
  8. 猿创征文|openGauss数据库从3.0.0升级到3.1.0操作实践
  9. 电脑城特别加强工具盘【2008年春季版】
  10. Modernizr教程