我现在已经在所有ESP32和ESP8266的构建中包含了MQTT原语。
通过动态分配的缓冲区,如果系统不使用MQTT,MQTT代码只会占用40字节的RAM。
缓冲区大小可以设置为32到16k字节。默认的是128字节。缓冲区的大小用于四个动态分配的对象。将缓冲区大小设置为N将从堆中使用4*N字节的RAM。较大的缓冲区大小在ESP32上应该是可以的。然而,更大的缓冲区大小可能会导致ESP8266的不稳定或失败。我没有在ESP8266上测试过,但我猜测缓冲区大小到2k可以工作,16k会立即失败,一些介于两者之间的大小可能不稳定,特别是在网络流量大的情况下(MQTT或其他WiFi使用)。
如果有人在ESP8266上进行测试,请在此添加评论,说明你的结果。
MQTT是对MicroBlocks的一个重要补充。谢谢你,Wenji和Tom!
对于支持 MQTT 的需求,从提出到实现都来自 MicroBlocks 在中国的拥趸。作为围观亲历者的我也很兴奋。(就像看着彼得帕克被蜘蛛咬,曼哈顿博士变成亚原子状态一样)
也许 MicroBlocks 真的能让更多人爱上硬件编程呢,你不来试试吗?
来源:https://bitbucket.org/john_maloney/smallvm/issues/241/are-there-any-plans-to-to-add-mqtt-library
MicroBlocks 官网: http://microblocks.fun/
相关阅读:什么是 MicroBlocks ?