Estou estudando IOT arduino + ESP-01s e isto e para ligar um LED
Quero enviar algo assim http://meu-site/?estado=ligar
Tentei usando:
//sendo url = "?estado=ligar"
String urlAddress = "http://meu-site/" + url;
// 1ª tentativa
var request = (HttpWebRequest)WebRequest.Create(urlAddress);
request.GetResponse();
// 2ª tentativa
using (WebClient client = new WebClient())
{
client.OpenRead(urlAddress);
}
// 3ª tentativa
using (WebClient client = new WebClient())
{
client.DownloadString(urlAddress);
}
erros:
O primeiro erro que todas davam era "O servidor cometeu uma violação de protocolo. Section=ResponseStatusLine"
corrigi usando:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
Após isso passou a ocorrer mais um erro, que eu não consegui resolver "O tempo limite da operação foi atingido"
Obs.: O comando chega ao site e faz o papel dele, ligar o LED depois o programa trava e aparece este erro.
Para quebrar o galho estou usando o webBrowser com a propriedade visible=false e o comando
System.Threading.Thread.Sleep(2000); // tempo de espera entre os comandos
webBrowser1.Navigate("http://meu-site/?estado=ligar");
Não da nenhum erro, porem o melhor era não depender deste componente.