我正在启动一个IoT项目,我决定使用NodeMCU板。该方案包括对电网的远程监控,由一个模块组成,该模块从电网分析仪获取大量数据,然后通过internet发送给远程服务器。我决定使用NodeMCU,因为它已经实现了一个WiFi接口,而且非常便宜。但是,我已经意识到我与电网分析器的通信会有问题,因为它有一个RS485接口,并且实现了Modbus协议。RS485接口没有问题,因为我将使用一个用于UART的适配器,但我未能找到用于MicroPython的Modbus库。所以问题是,Pymodbus与MicroPython兼容吗?同时,它是否与NodeMCU板兼容?
发布于 2020-07-28 15:19:50
基于NodeMCU的ESP8266资源非常有限,仅micropython在启动时就占用了大约30K的内存。Pymodbus非常庞大,即使同步运行,它仍然需要pyserial,而它似乎没有移植到micropython。请参阅https://forum.micropython.org/viewtopic.php?t=6534 .Basically,我不认为对固件进行任何黑客攻击和冻结都是可行的。
目前,我在RS485上使用ESP8266从using设备读取modbus数据。我使用micropython-modbus
https://github.com/techbase123/micropython-modbus
(改编自pycom中的ESP32 ),我进一步入侵了它,供ESP8266使用,主要是通过从uModBusSerial的init方法中删除不必要的args,以及随后对它们的引用,并将一些导入更改为它们的MICROpython等效项。它读的值很好,但写作只对我的一些价值观有效。或者,可以尝试一个基于ESP32的板,它具有~500 K内存(和大量其他特性),具有pymodbus,或者将pyserial移植到micropython,或者遵循关于在第一个链接中读取UART的建议。
https://stackoverflow.com/questions/63062932
复制相似问题