WiFi i HTTP – IoT
Skoro już wiemy jak połączyć Esp8266 z WiFi i jak z jego poziomu wysłać request HTTP. Naturalną następną czynnością jest połączenie tych dwóch rzeczy. Poniżej znajduje się kod, który właśnie to czyni. Zapraszam do lektury.
Implementacja
Poniższy kod wykonuje pięciokrotną próbę połączenia się z siecią bezprzewodową z zachowaniem jednosekundowych przerw. Jest to konieczne ze względu na niezerowy czas procesu nawiązywania połączenia. Następnie wykonywane jest zapytanie GET po HTTP. Dodatkowo przesyłam informacje o poszczególnych krokach na serial, aby umożliwić obserwację z procesu wykonywania programu. Do zaimplementowania używam klas WifiConnector oraz HttpRequester o których były poprzednie wpisy.
Kod
main.cpp
#include
#include "WifiConnector.h"
#include "HttpRequester.h"
char ssid[] = "ssid";
char password[] = "password";
WifiConnector* wifiConnector;
HttpRequester* httpRequester;
void setup()
{
Serial.begin(9600);
wifiConnector = new WifiConnector();
wifiConnector -> AddConnectionData(ssid, password);
httpRequester = new HttpRequester();
}
void loop(){
for(int i=0; i < 5; i++)
{
bool connected = wifiConnector->Run();
if(connected == false)
{
Serial.println("It is not connected. Wait one second");
delay(1000);
continue;
}
Serial.println("Connected to Wifi");
String payload = httpRequester -> Get("http://bot.whatismyipaddress.com/");
Serial.println("payload:");
Serial.println(payload);
break;
}
Serial.println("wait 10 seconds");
delay(10000);
}
Mając już działający kod pozwalający na wysłanie zapytania HTTP. Przez zwykłym urządzeniem elektronicznym otwierają się wielkie drzwi z napisem „Witamy w świecie IoT”. Jednak to tylko pierwszy krok, lecz każdy następny może być bardziej spektakularny.
0 Komentarzy