【问题标题】:GET variables on Arduino using ESP8266使用 ESP8266 在 Arduino 上获取变量
【发布时间】:2016-02-09 10:08:24
【问题描述】:

我正在尝试使用 URL 中的一些 GET 变量让我的 ESP8266 “访问”我的网站。

我与 AP 的连接工作正常,当我使用如下 AT 命令时,我得到以下响应:

AT+CIPSTART="TCP","www.mydom.com",80
    CONNECT
AT+CIPSEND=93
    OK
GET /mypage.php?var=arduino_test&var2=121 HTTP/1.0\r\nHost: www.mydom.com\r\n\r\n
    busy s...
    Recv 93 bytes
    SEND OK
    CLOSED

但是,我没有在我的网络服务器上获得实际的“点击”。

我在 mypage.php 上创建了一个简单的 PHP 页面,它读取两个 get 变量并将它们写入 mysql DB - 永远不会在那里获取条目,但是当我在浏览器中手动点击 URL 时,我会得到条目数据库

【问题讨论】:

  • PS - 不要介意字节的值 - 它不是“正确的”,因为我在这里删除了我的实际域名......

标签: arduino esp8266


【解决方案1】:

//重置

AT+RST

//不是数据模式

AT+CIPMODE=0

//设置多个连接

AT+CIPMUX=1

//在80端口建立网络服务器连接

AT+CIPSTART=0,"TCP","api.thingspeak.com",80

// 建立连接后设置发送的位数

AT+CIPSEND=0,110

//现在你输入你的地址并回车

GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=E2HEG9W6BRXBY0YMHTTP/1.0

【讨论】:

  • 这直接从终端工作,但我遇到的问题是你尝试通过 Arduino 草图发出 AT 命令的那一刻,现在必须处理 \r\n 并尝试正确计算您要发送的字符串的长度 - 事情似乎向南......
  • 使用“延迟(100);”在 Arduino 草图中的 AT 命令之间,这将使 esp 有时间与 Arduino 同步。
  • 谢谢 Jonoak,也许我应该发布我的草图 - 我确实在实际草图中使用了 alot 的延迟()函数,但我似乎没有得到这个工作。
猜你喜欢
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多