external-speaker外接喇叭进阶:仿照它的积木架构开发你自己的硬件扩展(完整教程)

发布时间:2026/9/25 8:24:12
external-speaker外接喇叭进阶:仿照它的积木架构开发你自己的硬件扩展(完整教程) external-speaker外接喇叭进阶仿照它的积木架构开发你自己的硬件扩展完整教程【免费下载链接】external-speaker源师兄扩展项目: 外接喇叭 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/external-speakerexternal-speaker外接喇叭是由源师兄组织创建的硬件扩展示例项目它用 5 个轻量文件把外接喇叭接入积木编程平台让新手可以拖拽积木完成播放音调、播放频率、停止播放。这篇完整教程带你逐文件拆解它的积木架构学会开发自己的硬件扩展。 先认识 external-speaker 外接喇叭能做什么这个扩展在积木侧边栏新增了一个外接喇叭分类提供 3 块积木积木作用可选参数喇叭播放音调播放 do/re/mi/fa/sol/la/si 七个音端口 p0、p1、p2、p8、p12、p13喇叭播放频率播放任意指定频率默认 1000Hz端口 频率数值停止播放让喇叭停止发声端口妙处在于积木拼好后会自动生成 Python 代码比如 blocksdef.js 中定义的代码生成器会把播放 do一块积木转成from ohcode import beepbeep(端口).on(262)这样的驱动调用——你不用手写代码硬件扩展照样能跑。 核心5 个文件搭起一套积木扩展架构这是仿写前最该看懂的部分。external-speaker 的整个扩展只由这几样东西组成config.json —— 设备档案声明我是谁blocksdef.js —— 积木长什么样 积木如何生成代码category.json —— 积木在侧边栏如何分组、摆什么默认值library/screen_extend.py —— 设备端 Python 库示例laba.zip —— 喇叭设备驱动包README.md —— 项目说明记住这个档案 → 定义 → 分类 → 驱动四层结构你自己的硬件扩展也只需要照葫芦画瓢。第 1 步用 config.json 注册设备档案打开 config.json只有 4 个字段Device设备全称如源师兄外接扩展喇叭Name侧边栏显示名称Description功能一句话说明HelpUrl帮助链接可留空 仿写提示开发新扩展时先把这四个字段填好这是平台识别你设备的身份证。第 2 步在 blocksdef.js 里画出你的第一块积木积木的外观由Blockly.Blocks定义。以播放音调积木为例blocksdef.js#L4-L19用FieldDropdown加下拉框端口p0~p13、音调do~si 对应 262~494HzsetPreviousStatement / setNextStatement让它能前后拼接成为语句块setColour统一配色本项目用#df21dcsetTooltip写一句鼠标悬停提示积木的灵魂是pythonGenerator.forBlockblocksdef.js#L21-L29它读取用户选择的端口和音调拼出驱动代码。三个积木共用同一套套路——先确保from ohcode import beep被导入再按端口创建beep(端口)实例最后调用.on(频率)或.off()。 仿写套路新增积木 写一个Blockly.Blocks[你的积木名] 一个同名的pythonGenerator.forBlock。第 3 步用 category.json 把积木装进分类面板category.json#L2-L37 声明了一个CATEGORYname为外接喇叭colour为#e11f71分类标题色contents里按顺序放一个LABEL说明文字 三个BLOCK条目频率积木的value_name输入口配了shadow默认值1000这样没插积木时也不会报错⚠️ 常见坑积木在 blocksdef.js 里定义好了但忘加进 category.json 的contents侧边栏就不会显示它。第 4 步设备端驱动怎么接library laba.zip积木负责前端驱动负责后端laba.zip 是喇叭设备驱动包运行环境据此加载beep等能力library/screen_extend.py#L3-L21 展示了设备库的写法风格把显示文字 / 显示图片封装成函数内部拼好带包头\xee\x81的串口协议字节串再返回开发你自己的硬件扩展时前端照抄本项目的三件套后端只需换成你设备的驱动库即可。❓ 新手仿写常见 3 问Q1想加一块播放 2 秒再停的积木改哪个文件主要改 blocksdef.js新增积木定义 代码生成器再到 category.json 的contents里加一个BLOCK条目。Q2为什么端口下拉只有 p0、p1、p2、p8、p12、p13这些是该主控板可驱动喇叭的可用引脚在FieldDropdown里集中维护换硬件时改这一处即可。Q3积木颜色和分类颜色不一样正常——积木色由 blocksdef.js 的globalcolor控制分类标题色由 category.json 的colour控制两者独立设置。 小结你的硬件扩展开发清单建config.json填设备档案写blocksdef.js积木外观 Python 代码生成器配category.json分类名、颜色、积木列表、默认值准备library/驱动库与设备驱动包对照 external-speaker 这 5 个文件逐项仿写你就能为自己的屏幕、电机、传感器快速做出一个完整的积木硬件扩展。【免费下载链接】external-speaker源师兄扩展项目: 外接喇叭 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/external-speaker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询