新闻详情

新闻详情

首页 / 资讯中心 / 详情

从0到1开发串口屏Blockly扩展:serial-display-module blocksdef.js实现完全教程

发布时间:2026/9/25 4:34:03来源:尧图网络
从0到1开发串口屏Blockly扩展:serial-display-module blocksdef.js实现完全教程
从0到1开发串口屏Blockly扩展serial-display-module blocksdef.js实现完全教程【免费下载链接】serial-display-module源师兄扩展项目: 串口屏模块 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/serial-display-module源师兄 serial-display-module 是一款串口屏 Blockly 扩展项目让你通过积木拖拽就能控制串口屏外接显示屏显示文字、图片和页面跳转。本教程面向新手从项目结构、积木定义到 blocksdef.js 实现与底层串口驱动带你完整走一遍从 0 到 1 开发串口屏扩展的全过程并教你举一反三地添加自己的新积木。 先认识项目4个文件构成完整串口屏扩展文件职责blocksdef.js定义积木外观 Python 代码生成规则核心category.json积木分类名、配色与分组config.json设备信息源师兄外接扩展屏 / 扩展显示屏library/screen_extend.py串口协议驱动生成屏幕命令字节流config.json 里的一句话概括了整个扩展的目标通过串口控制显示屏显示图片和文字。积木面板则在 category.json 中定义分类名为串口屏主题色是#84a740绿色所有积木按基础和获取数据两个标签分组。 第一步画积木——init() 的三大要素blocksdef.js 中的每个积木先注册外观。以显示文字积木为例它在 blocksdef.js 的注册结构只有三大要素端口输入槽appendDummyInput添加串口下拉框P1、P2、P5、P8、P11~P16、硬串口appendValueInput添加控件ID与显示内容两个可插值的接口连接关系setPreviousStatement/setNextStatement让它成为可上下堆叠的语句积木setInputsInline(true)让端口横向排列外观与说明setColour统一使用分类绿色#84a740setTooltip提供鼠标悬浮提示。 小技巧如果想要一块有结果、能塞进其他积木的值积木就改用setOutput——获取当前页面ID、获取按键状态等积木就是值积木。⚙️ 第二步代码生成——pythonGenerator.forBlock 的作用积木画好后关键问题是用户拖到画布上时它生成什么 Python 代码blocksdef.js 中每个积木都配一个pythonGenerator.forBlock[积木名]生成函数常用技巧有三招读下拉框block.getFieldValue(choose)拿到用户选择的串口读插值口pythonGenerator.valueToCode(block, id, ...)拿到端口插入值对应的代码自动注入 import往pythonGenerator.definitions_里写入语句代码顶部会自动出现from screen_extend import ...用户完全不用手写导入。最终生成的核心代码其实只有一行suart_1.write(show_text(2, 标签1))其中1是所选串口2与标签1来自 category.json 中设置的 shadow 默认值控件ID默认2、内容默认标签1新手不填任何值也能直接运行。 第三步category.json 分组与默认值积木定义完只需在 category.json 中登记即可出现在串口屏面板kind: BLOCKtype指向 blocksdef.js 里定义的积木名inputs下的shadow为每个端口设置灰色占位默认值kind: LABEL制造基础获取数据分隔标签让面板层次清晰。 8个串口屏积木功能一览积木名blocksdef.js 中的标识功能类型ohcode_extend_screen_show_text设置文字控件显示内容语句ohcode_extend_screen_show_pic设置图片控件显示图片语句ohcode_extend_screen_goto_pageN 秒后跳转到指定页面语句ohcode_extend_screen_set_button_enable打开/关闭按键触摸功能语句ohcode_extend_screen_set_button_state模拟按键按下/抬起语句ohcode_extend_screen_get_page_id获取当前页面ID值ohcode_extend_screen_get_button_state获取按键按下状态Boolean值ohcode_extend_screen_get_button_data获取按键自定义事件数据值ohcode_extend_screen_get_button_press获取按键按压次数值 规律很好记5 个控制积木都带串口下拉框4 个获取积木都以页面ID 按键ID为参数——这正是串口屏协议的命名习惯。 底层驱动 library/screen_extend.py 如何配合blocksdef.js 生成的代码最终调用的是 library/screen_extend.py 中的函数SUART(tx)在指定引脚上创建软串口SoftUART主屏与外接屏通过它通信show_text、show_pic、go_to_page按串口屏协议拼装命令字节流结构都是帧头 地址 数据 固定帧尾\xff\xfc\xff\xffget_button_state等函数先读取屏幕回传的数据再用analysis_data解析出页面、按键、按压次数等信息。一句话总结分工blocksdef.js 管长什么样和生成什么screen_extend.py 管怎么通信两者解耦扩展新功能时互不干扰。 获取代码与你的第一个扩展运行以下命令获取项目源码打开后以显示文字积木为模板照着写你自己的第一块积木git clone https://gitcode.com/yuanshixiong/serial-display-module开发新积木的三步检查清单在 blocksdef.js 写一对函数Blockly.Blocks[你的积木名]注册外观 pythonGenerator.forBlock[你的积木名]生成代码在 category.json 登记积木名和 shadow 默认值若需要新的屏幕命令在 library/screen_extend.py 增加对应协议函数。项目采用 Apache-2.0 协议发布可放心二次开发。掌握这套模式后你还能用同样方式为串口屏添加调节亮度关屏等新功能。【免费下载链接】serial-display-module源师兄扩展项目: 串口屏模块 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/serial-display-module创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

网御星云安全集中管理系统实战:日志接入、告警配置与运维避坑指南 2026/9/25 5:56:11

网御星云安全集中管理系统实战:日志接入、告警配置与运维避坑指南

简介:面向网御星云安全集中管理系统的运维人员与安全管理员,这份PDF手册围绕V3.0.7版本,系统梳理了从登录到主页模块的使用方法。内容涵盖产品特点、软件描述、License控制,并重点展开安全等级、24小时安全趋势、服务器状态和设备…

阅读更多 →
网络安全防御能力评价体系框架:量化评分与整改闭环实战指南 2026/9/25 5:56:11

网络安全防御能力评价体系框架:量化评分与整改闭环实战指南

简介:《网络安全防御能力评价体系框架》PDF是360政企安全推出的实战化网络安全能力度量与评价方法,面向企业CISO、安全架构师与蓝队评估人员,解决传统等保、ISO27001等体系“看似完善却难以预判真实攻击效果”的痛点。资源为单个PDF文件&…

阅读更多 →
红蓝攻防全景图:一张图掌控攻防演练全流程 2026/9/25 5:56:11

红蓝攻防全景图:一张图掌控攻防演练全流程

简介:这份PPT全景图面向网络安全攻防人员、蓝队防御工程师及企业安全管理者,系统梳理红蓝攻防实战中的攻击面、暴露面识别,边界突破/防护、横向渗透/区域控制、攻陷/强控等关键阶段,并以基础、强化、协同三层保护机制构建综合防御…

阅读更多 →
AI PLC落地实战:确定性与智能的工业融合方法论 2026/9/25 5:56:04

AI PLC落地实战:确定性与智能的工业融合方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Plugin4Shell零点击漏洞:AI编程助手插件安全风险与防护指南 2026/9/25 5:56:04

Plugin4Shell零点击漏洞:AI编程助手插件安全风险与防护指南

1. 从"零点击"说起:Plugin4Shell 到底在讲一件什么事先把结论摆在前面:Plugin4Shell 不是一个具体的软件产品,而是一类针对 AI 编程助手插件体系的漏洞利用思路的统称。它的核心特征在于"零点击"——也就是说&#xff0c…

阅读更多 →
SaFeRDialogues 实战指南:让对话模型优雅回应安全失败后的用户反馈 2026/9/25 5:55:58

SaFeRDialogues 实战指南:让对话模型优雅回应安全失败后的用户反馈

NLP人工智能深度学习 【免费下载链接】ParlAI A framework for training and evaluating AI models on a variety of openly available dialogue datasets. 项目地址: https://gitcode.com/gh_mirrors/pa/ParlAI 点击查看 免费下载 SaFeRDialogues(Safe…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉