我对编程和尝试自学正确的做事方式仍然很陌生。
我目前正在编写一个脚本,该脚本将采用 1-3 个值,大约每秒生成一次,在 python 中,然后将其保存到 MySQL 数据库中。未来将构建一个 Web 界面,该界面将采用这些值并很好地显示它们,但现在我只想保存数据。
我将在 Raspberry Pi 上运行 Python 代码,并希望在 MySQL 服务器上运行 Web 服务器。如果不在另一个 Raspberry Pi 上的那个设备上。
我在这里要问的是,Python 与 MySQL 一起工作的最佳方式是什么?库或 HTTP GET,或其他我不知道的方式…因为,我要构建一个 Web 界面,我正在考虑拥有一个 API.php 页面,该页面将接受 GET 请求,然后 PHP 代码将写入数据到MySQL数据库。
我的想法是让 Python 生成一个链接,然后使用请求库来请求站点,例如 http://127.0.0.1/API.php?value1=XXX&Value2=YYY&value3=ZZZ 然后等待 JSON 返回类似的内容如果数据已正确保存,则显示“数据已保存”。然后继续循环生成下一个值。
那是解决这个问题的最佳方法还是有更好的方法?我知道我会遇到一些安全问题,我希望在我学习更多有关编码的知识后解决这些问题。请记住,我希望每 1 秒或 5 秒写入一次数据。希望每 1 秒一次。
谢谢你们的回复,Throdne
原文由 Throdne 发布,翻译遵循 CC BY-SA 4.0 许可协议
有很多方法 可以 做到这一点,但由于您声明 MySQL 服务器可以在同一个 Raspberry Pi 或 不同的 Raspberry Pi 上,因此以下是获得所需设置的最简单方法。
首先,您需要安装一个包含 MySQL 绑定的 Python 包。那里有很多,但是
MySQL-python
似乎已经成熟并且足够好。安装它:
(如果您还不熟悉
pip
,请查看pip
文档 以开始使用。)在您的一个 Raspberry Pis 上运行 MySQL 服务器后,下面是一个示例,您需要在代码中执行哪些操作才能连接到服务器并运行各种类型的查询:
查看 MySQL-python 用户文档 以获取有关如何使用该库的更多详细信息。
上面的代码假设了一些关于你的 MySQL 服务器的事情:
192.168.99.100
。它可以是127.0.0.1
(localhost) 或其他地址。myuser
,具有密码和适当的权限。test
的数据库。mytable
on databasetest
which contains the VARCHAR fields offoo
andbar
.我不会详细介绍这些细节,因为这稍微超出了本主题的范围,但如果您需要帮助,请查看 MySQL 文档以 创建用户 和 创建表。