【问题标题】:Client.println in Arduino Ethernet Shield not working properlyArduino Ethernet Shield 中的 Client.println 无法正常工作
【发布时间】:2013-06-19 18:46:25
【问题描述】:

我们被困在这个问题上,当我使用字符串连接时,arduino 不会向服务器发送数据。当我们使用 localhost 作为我们的服务器时它可以工作,但是当我们使用真实服务器时,它就不再工作了。我们需要将 DO 值发送到我们的服务器。

// This does not work

String data = "GET /dissolved/insertdata.php?dissolvedoxygen=" + String(disoxx) + "&temperature=" + floatToString(temp,2);

client.println(data);

//This work String data="GET /dissolved/insertdata.php?dissolvedoxygen=6.233&temperature=23.60" ;

client.println(data);

【问题讨论】:

  • 您遇到什么样的错误?编译器错误,来自服务器的运行时错误,什么都没有发送?您可以尝试在串行端口上输出数据以验证您认为您正在发送的内容。您在 temp 上使用 floatToString 而不是在 disoxx 上,这有点令人惊讶。
  • disoxx 已经是一个字符串,忘记删除 String()。没有错误,它只是不会用自定义字符串更新我的数据库,这与常量字符串不同。现在它甚至在本地主机中也不起作用。我不知道是什么问题。
  • 您是否通过将内容或数据写入串行端口或其他机制来验证内容或数据?你可以在服务器上运行 wireshark 来查看实际的数据包吗?
  • 你不能按照你的方式连接字符串。检查这个:stackoverflow.com/questions/308695/…

标签: arduino ethernet web-client


【解决方案1】:

您的请求需要两个终止符。添加另一个\r\n。

everyone forgets these

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多