# ext2-ul-esp8266-iot **Repository Path**: mind-plus/ext2-ul-esp8266-iot ## Basic Information - **Project Name**: ext2-ul-esp8266-iot - **Description**: DJKJ 的 ESP8266 IOT 编程套装配套的 OLED 屏、电机图形化编程扩展,可在 Mind+ V2 上传模式中通过积木控制套装上的直流电机和 OLED 显示屏。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-14 - **Last Updated**: 2026-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: MindPlus-Ext2 ## README # ESP8266物联网编程套装 DJKJ 的 ESP8266 IOT 编程套装配套的 OLED 屏、电机图形化编程扩展,可在 Mind+ V2 上传模式中通过积木控制套装上的直流电机和 OLED 显示屏。扩展提供电机正反转与停止、OLED 清屏与刷新、按行/按坐标显示文本、描点以及进度条、柱状条、直线、矩形、圆角矩形、圆、三角形等基本图形绘制积木。 本扩展由 Mind+ V1 用户库 `ESP8266 IOT`(author `DJKJ`)转换为 Mind+ V2 格式,保留原有积木的函数名、参数、菜单取值与生成代码行为。 ## 积木 | 二级菜单 | 积木 | 说明 | | --- | --- | --- | | 电机 | 电机顺时针旋转,速度为[SPEED] | D3 拉高、D9 输出 255-SPEED,占空比越大转速越高 | | 电机 | 电机逆时针旋转,速度为[SPEED] | D9 拉高、D3 输出 255-SPEED | | 电机 | 电机停止 | D3、D9 同时拉低 | | oled屏幕 | OLED显示[STATE] | 按 清空 / 全亮 / 黑底 / 白底 填充显示缓冲区 | | oled屏幕 | OLED清除缓冲区 | 清空显示缓冲区 | | oled屏幕 | OLED显示生效 | 把缓冲区内容发送到屏幕 | | oled屏幕 | OLED第[OLED_LINE]行显示[STR]模式[OLED_MODE] | 在第 1~4 行显示文本,模式可选 普通 / 反转 / 透明 / XOR | | oled屏幕 | OLED清除第[OLED_LINE]行 | 清除指定行 | | oled屏幕 | OLED在坐标X:[X]Y:[Y]显示[STR]模式[OLED_MODE] | 在指定坐标显示文本 | | oled屏幕 | 描点 坐标X:[X]Y:[Y]状态[OLED_PIXEL] | 点亮 / 熄灭单个像素 | | oled屏幕 | 进度条 坐标X:[X]Y:[Y] 宽[W]高[H]进度[P] | 绘制进度条 | | oled屏幕 | 柱状条[BAR] 坐标X:[X]Y:[Y] 宽[W]高[H]进度[P] | 绘制垂直或水平柱状条 | | oled屏幕 | [DRAW][BAR]线 起点X:[X]Y:[Y] 长度[L] | 绘制或擦除指定长度的水平 / 垂直线 | | oled屏幕 | [DRAW]线 起点X1:[X1]Y1:[Y1] 终点X2:[X2]Y2:[Y2] | 绘制或擦除任意两点连线 | | oled屏幕 | [DRAW][FULL]矩形 在X:[X]Y:[Y] 宽[W]高[H] | 绘制空心或实心矩形 | | oled屏幕 | [DRAW][FULL]圆角矩形 在X:[X]Y:[Y] 宽[W]高[H]半径[R] | 绘制空心或实心圆角矩形 | | oled屏幕 | [DRAW][FULL]圆 在X:[X]Y:[Y] 半径[R] | 绘制空心或实心圆 | | oled屏幕 | [DRAW][FULL]三角形 X1:[X1]Y1:[Y1] X2:[X2]Y2:[Y2] X3:[X3]Y3:[Y3] | 绘制空心或实心三角形 | 其中「电机」与「oled屏幕」是 V1 `blockType="tag"` 的二级标签文字,转换为 V2 的 `BlockType.SUBMENU` 二级菜单;标签自身不是积木,没有 opcode 也不生成代码,其下的功能积木通过 `submenuId` 归入对应菜单。 扩展内置的 OLED 驱动库(`oled`)与 U8g2 图形库随扩展一同打包在 `extension/public/libraries/` 下,无需另外安装。 ## 示例程序 一个最小的显示示例: 1. 使用「OLED清除缓冲区」清空缓冲区; 2. 使用「OLED第1行显示[hello]模式[普通]」写入文本; 3. 使用「OLED显示生效」把内容刷到屏幕; 4. 需要驱动套装电机时,使用「电机顺时针旋转,速度为[200]」。 `extension/public/cover.png` 为扩展卡片封面(沿用 V1 的 `_images/featured.png`)。 ## 支持列表 | 主板型号 | 实时模式 | ArduinoC | MicroPython | 备注 | | --- | --- | --- | --- | --- | | dev-DFRobot-firebeetleEsp8266 | | √ | | | ## 更新日志 ### V0.0.1 - 由 V1 用户库 `ESP8266 IOT` V0.0.1 转换为 Mind+ V2 上传模式扩展 - 保留全部功能积木的函数名(opcode)与参数,`compatibilityId` 设为 `djkj-esp8266 iot-thirdex` - 新增 `en` / `zh-cn` 双语翻译资源,积木与菜单显示文字统一走 `formatMessage` - 随扩展打包 V1 自带的 `oled`、`U8g2` 库源码 ## 开发指南 更详细的 Mind+ V2 扩展开发说明请参考:[Mind+官方扩展开发文档](https://mindplus.dfrobot.com.cn/mp2/Extensions/)