我在ASP .NET中创建了一个web服务,我在azure上发布了这个函数
public string GetObject(int id)
{
return ("it is a test !");
}
当我输入正确的URL时,它可以工作。 但是当我尝试使用arduino发送请求时(基于ethernetclient示例),它不起作用。
arduino代码:
#include "Arduino.h"
#include <SPI.h>
#include <WiFlyHQ.h>
#include <Ethernet.h>
#include <SoftwareSerial.h>
WiFly wifly;
char ssid[] = "myssid";
char password[] = "mypass";
void setup() {
Serial.begin(9600);
wifly.begin(&Serial, NULL);
if (!(wifly.setSSID(ssid))) {
Serial.println("Fail to set ssid");
}
/* if (!(wifly.setKey(password))) {
Serial.println("Fail to set passPhrase");
} */
if (!(wifly.setPassphrase(password))) {
Serial.println("Fail to set passPhrase");
}
wifly.enableDHCP();
if (wifly.join()) {
Serial.println("Joined wifi network");
} else {
Serial.println("Failed to join wifi network");
}
if (wifly.open(myurl.azurewebsites.net)) {
wifly.println("GET /api/object/123 HTTP/1.0");
wifly.println("");
}
else
Serial.println("Connection failed");
}
void loop() {
if (client.available()) {
char c = client.read();
Serial.print(c);
}
}
与ssid的连接有效。但它阻止了wifly.open()。但是,如果我把wifly.open(“search.yahoo.com”)然后wifly.write(“GET / search?p = 50 + km + in + miles HTTP / 1.0”),所有工作!
你知道为什么吗?
感谢您的帮助。
答案 0 :(得分:0)
EthernetClient如何与WiFly连接?我没有看到任何连接它们的电话。我已经完成了一些WiFly模块的播放,但我没有看到你如何使用EthernetClient。
WiFly模块是网络连接,可通过串口访问。您是否需要提出请求,通过串行处理来处理响应?