首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期更新没有浏览器/用户的数据库

问定期更新没有浏览器/用户的数据库
EN

Stack Overflow用户
提问于 2012-04-04 10:41:37
回答 5查看 2.5K关注 0票数 2

我目前有一个MySQL数据库,我希望用它来存储连接到互联网上的温度传感器定期更新的数据。

我现在有一个页面,当打开它时,将获取当前的温度和当前的时间戳,并将其作为一个条目添加到数据库中,但是我正在寻找一种方法来做到这一点,而不需要每5秒刷新一次页面。

详细信息:数据来自Arduino以太网,发送到IP地址。目前,我正在使用cURL从IP获取数据,添加时间戳并将其保存到DB中。显然,只有当页面被刷新时才会更新(它使用PHP)。

下面是数据的实时提要- two.html

TL;DR -基本上我需要一个中间人从IP中获取数据并将其发布到MySQL中。

编辑:,谢谢你的建议。可能有点混乱,我正在寻找一种(理想情况下)根本不需要计算机的解决方案(除了包含数据库的服务器之外)。由于我希望在很长一段时间(数周)内存储数据,所以我希望设置它,并在服务器(或Arduino)上运行一个脚本,以获取临时数据并将其发布到数据库。

在我的头脑中,我希望在服务器上有一个自动调用PHP脚本的页面(不打开任何浏览器,也不需要任何其他提示,而不是计时器)。

希望这能把事情弄清楚!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-04-05 07:36:14

在这种情况下,最好的解决方案是使用Arduino向PHP脚本发送请求,PHP脚本完成它的任务,并将检索到的值添加到数据库中。我现在运行它的方式(为了简单起见)是使用EthernetClient从Arduino获得一个GET请求。

代码:

代码语言:javascript
复制
char server[] = "www.example.com";

和

代码语言:javascript
复制
if(client.connect(server, 80)){
  client.println("GET /test.php?input_val=99 HTTP/1.0");
  client.println("HOST: www.example.com");
}

然而,由于我已经围绕数据被发布到一个独立的服务器/IP*这一事实构建了我的网站,所以我选择使用cron来安排任务。在这种情况下,我想每5-10秒更新一次数据库。但是,我支持其他人的服务器,所以我联系了服务器所有者,要求他们每分钟设置一个cron作业,调用"/mysubdir/ cron _update.php“(最快的cron可以调用)。从那里开始,我做了一些'ScriptCeption‘,在PHP脚本中,在完成脚本之前,每10秒完成一次调用。

感谢每一个帮助我的人,我在这里张贴这个完整的答案和解释,因为技术上每个人都是正确的。

票数 0
EN

Stack Overflow用户

发布于 2012-04-04 10:49:03

您可以使用ArduinoEtherenetClient直接从您的arduino发送到web服务器(单击链接获取示例)

POST /insertData.php - in insertData.php使用$_POST["tempCaptured"]获取临时值并将其插入db中。

关于使用ArduinoEthernetClient http://interactive-matter.eu/how-to/arduino-http-client-library/的好文章

票数 2
EN

Stack Overflow用户

发布于 2012-04-04 10:50:28

编写一个代码(ping.php),在固定的时间间隔内调用这个url。

现在,设置一个克隆约伯,它以固定的间隔运行这段代码。

你的cron可以是0 */2 * * * PATH_TO_{ping.php} // will run every 2 hours

您的ping.php文件将连接到实时提要,获取数据并将结果存储到db:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10009510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档