分享

ESP32更小更快更友好的MicroBlocks

 新用户5228KeDY 2022-01-25

尝试MicroBlocks编程ESP32之后,对比一下Arduino IDE和Mixly。

自从使用ESP32打通了手机phyphox移动实验室与众多传感器,接触到的问题、担忧和困难,最多的,其实是Arduino IDE下ESP32开发环境的搭建。为什么呢?一个原因,是通过Arduino IDE设置首选项从https://dl./dl/package_esp32_index.json处由开发板管理器安装ESP32环境,绝大多数人先遇到一个墙的困难,不番茄则速度极慢,断断续续往往于深夜凌晨运气好,安装成功,运气不好则一直不成功而放弃;也有人制作了ESP32 SDK的离线包,虽然能一键安装,但问题仍是不少;另一个原因,是ESP32的封装比较碎片化,引脚经常不同。

所以对ESP32的移动实验产生强烈兴趣的人,MicroBlocks的无需搭建ESP32环境,简直是过度的友好了。

1.MicroBlocks对ESP32的支持

目前没发现问题的,一种是GOOUUU ESP32果云板子,背面有云朵标记,另一种是Wemos D1 R32,支持良好。插电脑上,系统会自己把ch340g的驱动程序安装好,然后点开小齿轮,升级主板固件,几分钟后完毕。点击USB小图标连接,就可以了。

2.MicroBlocks体积极小,且绿色免安装

MicroBlock这个免安装的东西,就一个文件,16M,扔U盘里,到处运行都没遇到问题。从官方下载回来的MicroBlock确实是安装文件,但是安装好之后,安装目录就4个文件:其中一个是ico图标,可以干掉;另两个是负责卸载的,当然还可以干掉。然后就剩一个ublocks.exe了,什么设置也不用,拿走就可以任意地方用。

实际Aduino IDE和Mixly都是绿色免安装的。但是MicroBlocks的优势是显而易见的。

Arduino IDE经常会把板卡库和驱动库安装到X:\Users\XXX\AppData\Local\Arduino15目录里面去,一些库不能轻易改动位置,改动就给你不好使看看,于是经常在焦头烂额后免不了仍然使用默认位置。虽然Mixly不存在奇怪的目录问题,但是Arduino IDE和Mixly的体积都是相当巨大的,Arduino主程序目录和Arduino15目录,不算文档目录下的Arduino的libraries和tools目录,共计约1.3G;Mixly目录更是可怕,只安装Arduino、ESP8266和ESP32,竟然达到5G之多。

3.类似unit测试的执行到Block块

不少编程语言的IDE都有单元测试、单步执行等功能,比如原来的eclipse、现在的Android Studio,以及R语言的RStudio等,用鼠标选择一行或一部分代码就可以单独运行一下看看它们在做什么。MicroBlocks也是这样的,在一个或一片Blocks被单击或双击时,它们就被执行了,而不需要把全部编译过的代码烧录到板子上去。

4.从数据图表中得到(Data,time)时间序列

在第一次尝试MicroBlocks之后,得到了MicroBlocks专业人士的指导,对数据图表里面的横坐标,虽然不能象Arduino IDE里面那样得到带着横坐标数值的坐标系图像,但可以同时带着milliseconds输出,就可以得到时间序列数据了。只是不太方便。

5.若是能够……就好了

MicroBlocks自带了哪些库呢?物理实验人可能关心的,有servo、12864、1602显示屏,28BYJ-48电机、DHT11/22、BMP280以及一帮网络库。MicroBlocks提供了I2C和SPI支持,象ADS1115测电压的模块和INA219测电流的模块,应该都可以直接使用。但没有试过。官网wiki里带了一份I2C通信的示例,那是一种小掌控板,不是模块。所以现在面临的问题是,若是能见到有将Arduino IDE下的C/C++的基于I2C或SPI的库转成MicroBlocks库格式的教程就好了;若是MicroBlocks下有足够多的传感器模块的驱动库,有更强的实用性就好了。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多