如何在ESP32上安装Micropython MySQLdb

问题描述

我想将ESP32中的数据保存到网络数据库中。因此,我需要在ESP32上的Micropython中使用MySQLdb模块。我如何在这里安装?

解决方法

在ESP32到托管数据库之间运行几乎任何数据库客户端都是一个挑战(在处理能力,安全性和维护状态方面)

我建议使用ESP32将数据发送到mqtt代理,然后让其他东西(运行数据库的服务器,无服务器功能等)订阅该主题,并将所有更改写入数据库。

,

您尝试过类似https://github.com/dvrhax/uPyMySQL的事情吗? Looks like它需要编译为固件才能在ESP8266上运行。也许(未经我自己测试)足以让ESP32与mpy-cross进行交叉编译。尝试分享您的经验。

其他方法-编写API以将数据保存为PHP或任何网络语言,并使用GET / POST参数调用页面。我在托管中使用了此方法,创建了可处理GET请求(http://example.com/addData.php?temp=23.4&hum=57)的PHP脚本,并从中提取数据 (温度和湿度),并与时间戳一起写入数据库。在网页上,我还有另一个脚本可以解析数据库中的数据并制作漂亮的图表。

编辑:我最近在uPyMySQL上玩过ESP-32通用(无PSRAM),可以分享我的发现。库对我来说不起作用-我必须进行多次编辑才能使其与我自己编译的LVGL Micropython固件一起使用。我不得不将少数文件交叉编译为mpy格式,因为加载库时我的微控制器内存不足。

当我最终决定连接数据库时,它确实可以工作。无论如何,Lib在列类型(int,varchar,datetime)处理方面存在一些缺陷,因为某些逻辑未移植到Micropython中,但希望它是可修复的。 Lib具有调试模式,如果您想了解后台发生了什么,那巫婆会很好。

但是不要期望查询大数据集。我一直在玩带有日期时间,温度,湿度,CO2列的表。当选择100个记录限制控制器超出存储器中,约60-70记录它的工作原理。

插入工作正常,只有最后必须执行commit命令。

,

如果您的服务器中包含php,那么您可以将数据发送到php并编写代码以将经过还原的数据存储在MySQL数据库中。 试试吧,让我知道。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...