我想从Arduino Uno读取传感器信息。我已经有一个Java程序连接到串口并从Arduino读取信息。
我想将此信息发布到网页(目前我的计算机正在运行Apache Web服务器)。我不擅长网络开发,但我可以顺利度过。
我的计划是将我从Arduino读入的传感器数据保存到文件中。我会每隔1分钟更新一次这个文件。然后使用一些服务器端脚本语言(即PHP)从文件中读取数据,并在请求页面时生成显示传感器信息的网页。
然而,这种方法似乎并不十分“优雅”。有没有更好的方法来执行此任务?
(另外,我只使用带有USB端口的Arduino Uno,我没有以太网shield。)
答案 0 :(得分:2)
我想这实际上取决于您希望网页的强大程度以及您希望应用程序的集中程度。
如果您只是在寻找简单的原始数据,可以在Java应用程序中构建a simple web server来提供文件内容。这会将所有内容集中到一个应用程序中。 (而不是apache + php + java)
如果您正在寻找实时数据,您甚至可以在请求http://localhost/getData
之类的时候触发串行命令,并通过串行读取实时数据进行响应。 (虽然如果要对您的Web服务器进行多次同时连接,我不建议这样做.Arduino不进行多线程处理,而串行连接速度很慢。)
答案 1 :(得分:2)
由于您没有以太网屏蔽,因此唯一的选择是使用串行读取端口。
从串口读取数据并将其保存到文件中,您可以尝试以json或xml格式格式化数据。这将让你轻松地使用jQuery操作数据。
如果您知道如何创建一个创建ajax页面以便以一种优雅的方式显示数据。你可以查看backbone.js和一些jQuery。
如果您在网站开发和/或网页设计方面不那么好。为此,您可以依赖预先构建的网站。我喜欢cosm website
的用户界面您可能会考虑使用以太网或WiFi屏蔽。将您的Arduino直接连接到互联网可以非常强大,并且可以让您创建整洁的黑客
你也可能喜欢这个tutorial
答案 2 :(得分:2)
您是否听说过SensorMonkey ...此网站可帮助您从arduino或其他设备(如Shimmer或xBee)发布传感器数据。您可以使用您的Facebook帐户登录。它非常容易使用,因此它不需要Web开发知识......
答案 3 :(得分:1)
您可以在SensorMonkey.com上创建一个帐户,然后创建一个API以在另一个网站上使用您的传感器数据。
答案 4 :(得分:0)
要添加,如果您不希望在短时间内获得多次点击,则动态生成页面,在请求进入时触发(如您所述),工作正常。如果您希望每分钟获得多次点击(您指定的数据更新率),您希望在数据更新时每分钟生成一次页面,然后将其提供给每个请求者,而不是每次都重新生成页面有一个请求。