前言
Mind+是一款拥有自主知识产权的国产青少年编程软件,支持Arduino、micro:bit、掌控板等各种开源硬件,兼容Scratch3.0,支持AI与IoT功能,只需要拖动图形化程序块即可完成编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。
- Mind+支持三大主流开源硬件平台(Arduino,micro:bit,掌控板esp32),均可以使用基于arduino C的库,因此只需要编写一个arduino的库即可达到三平台兼容。
- Mind+已经支持几十种常用的扩展小模块库,为方便更多用户的使用,从V1.6.2版本开始开放用户自定义库功能,你可以根据自己的需要编写或移植现有的arduino库,自己设计图形模块(block)的外观及形状,自己设计对应生成的代码。
- 支持通过网络加载Github的用户库或直接本地加载(config.json或.mpext文件)。
在创客的课程中,经常会需要将数据上传到云端,从而将整一个作品完整化,实现真正意义上的物联网。这一个部分通常使用使用MQTT协议来实现,但是Mind+自带的MQTT库只支持阿里云、OneNet、SIoT、EasyIot四个平台,有很大的局限性,无法使用自己搭建的MQTT服务器或者其他平台,所以我使用官方给的模板和参考文档,编写了标准的MQTT用户库,下面说一下实现的过程。
一、选择模板
1、下载官方模板
样例库: https://gitee.com/dfrobot/ext-oled12864.git
官方文档:https://mindplus.dfrobot.com.cn/ext-api
用户库文件结构
└─newExtensions // 项目名称
│ config.json // 本用户库的配置文件
│ LICENSE.TXT // 许可证说明
│ README.md // 文档说明
│
└─arduinoC // arduino模式用户库根目录
│ main.ts // 图形块描述文件
│
├─libraries // arduino库文件,列出本扩展库所有需要引用的.c或.h或.cpp文件
│ └─oled12864
│ oled12864.cpp
│ oled12864.h
│ qrcode.c
│ qrcode.h
│
├─_images // 图片文件
│ featured.png // MindPlus扩展库展示图片
│ icon.svg // MindPlus中图形块上的图标文件
│
├─_locales // 翻译文件,支持多国语言
│ zh-cn.json
│ en.json
│
└─_menus // 下拉菜单参数,每个板子可以独立设置
leonardo.json
uno.json
nano.json
mega2560.json
microbit.<