Arduino客户端通过套接字向Java服务器发送数据
问题描述:
我开始一个新项目,我需要将数据从Arduino发送到Java服务器。我想使用Arduino Wifi盾牌。之后,java服务器将通过3G路由器将收到的数据发送到Web服务。Arduino客户端通过套接字向Java服务器发送数据
该设置是否可行?是否存在用于在Arduino和Java Server之间建立套接字连接的API?
如果不是我有哪些可能性?先进的感谢
答
当然有很多方法可以做到这一点。您可以使用Arduino Ethernet library连接到您的Java服务器。这里有一个叫ClientConnect的小程序,它使用以太网设备与服务器建立连接。这个小程序发送一个网络请求到服务器与以下行:
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
在服务器端,这将是最容易使用某种simple servlet并利用一个Java Web框架,如Tomcat。然后
你的Arduino的交易只是看起来像简单的网络交易:
GET /your-path-to-your-servley?field1=value1&field2=value2 HTTP/1.0
[[ empty line here ]]
这将一组字段/值对发送给您的Java Web服务器,它将调用你的servlet。在顶部的示例中,"q"
是字段名称,"arduino"
是值。
希望这会有所帮助。
答
类似于@gray这个“推”解决方案的答案,就是让java服务器以某个间隔(“拉”模式)查询Arduino。要做到这一点,只需查看Arduino的以太网样本库中的Web主机示例即可。您可以修改它,让arduino返回其传感器的值作为其http响应的一部分。