WIFI växt övervakningssystem baserade på Arduino MEGA och ESP8266 (2 / 4 steg)

Steg 2: Skicka data till thingspeak




I detta steg ska vi försöka förklara du hur fungerar koden. Koden är ganska komplicerat på grund av förekomsten av AT-kommandon, krävs enligt ESP8266. Så denna analys anspråk inte på att vara uttömmande men det lär bara vad du har att ändra för att skicka data till Thingspeak. Titta på denna sida för mer information AT-kommandon.

Innan vi går, titta på video i detta steg för mer info om Thingspeak grundläggande inställningar och sedan ställa in DHCP på routern.

I den första delen definierar vi de konstanter som behövs för resten av skissen.

#define esp8266 Serial1 / / Använd esp8266 för att prata med esp8266
#define SSID "SSID_NAME" / / lägga här namnet på ditt wifi-nätverk
#define PASS "ROUTER_PASSWORD" / / här sätta lösenord för ditt wifi-nätverk
#define IP "184.106.153.149" / / thingspeak.com's IP

Sträng få = "GET /update? nyckel = [THINGSPEAK_KEY] &"; Lägg här din thingspeak nyckel
String GET1 = "Fält1 =";

String valuetosend = "10". för detta första test skickar vi ett enkelt värde

Vi kallar esp8266 den seriella porten #1 för bekvämlighet, då vi definierar våra SSID-namnet, router lösenord om du använder en och ThingSpeak IP. Vi har också tre strängvariabler: två första utgör kommandoraden skickas till ThingSpeak som består av få och GET1. Ersätt [THINGSPEAK_KEY] med din nyckel, genereras automatiskt av ThingSpeak en gång gjort en ny kanal. Titta på videon i det här steget för mer info om. GET1 lagra data för diagrammet 1. För varje sensor måste du deklarera en sträng.

Strängen kallas valuetosend är bara ett slumpmässigt värde vi använder för att testa.

Första funktionen hittar vi går på analysera skiss kallas updateFunction:

void updateFunction(String valuetosend) {
Sträng cmd = "AT + CIPSTART = \"TCP\", \" ";
CMD + = IP;
CMD + = "\",80";
esp8266.println(CMD);
Delay(2000);
IF(esp8266.find("Error")) {
Serial.Print("Error1");
hemkomst.
}
CMD = GET + GET1;
CMD += valuetosend;
CMD + = "\r\n";
Serial.Print(CMD);
esp8266.Print("at+CIPSEND=");
esp8266.println(cmd.length());
om (esp8266.find(">")) {
esp8266.Print(CMD);
} annat {
esp8266.println("at+CIPCLOSE");
}
}

Denna funktion börjar en TCP-anslutning i 80 port mot ThingSpeak. Om allt går bra, skickar kommandoraden för att uppdatera diagrammet.

Kommandoraden har följande struktur:

GET /update? nyckel = [THINGSPEAK_KEY] & Fält1 = 10

Strax efter, det är funktionen connectWiFi :

booleska connectWiFi() {
esp8266.println("at+CWMODE=1");
Delay(2000);
Sträng cmd = "AT + CWJAP = \" ";
CMD + = SSID;
CMD + = "\", \ "";
CMD + = PASS;
CMD + = "\" ";
esp8266.println(CMD);
Delay(5000);
IF(esp8266.find("OK")) {
Serial.println("OK");
return true;
} annat {
Serial.println("ko");
returnera false;
}
}

I grund och botten gör den här funktionen din ESP8266 gå med din wifi LAN med hjälp av kommandot AT + CWJAP. Om det upprättar en anslutning, returneras Sant annars falskt.

Som vanligt, initierar setup -funktionen variabler, pin lägen och så vidare.

void setup()
{
Serial.BEGIN(9600);
esp8266.BEGIN(115200);
sensors.BEGIN();
esp8266.println("at");
Delay(5000);
IF(esp8266.find("OK")) {
connectWiFi();
}
}

Det initierar de två seriell kommunikationerna, skriver ut "AT" och sedan försöker ansluta till ESP8266 till dina wifi LAN utskrift "OK" om detta försök går bra. Tänk på att du måste initiera här alla digitala och/eller analoger stiften används av dessa sensorer som du behöver.

Loop funktion bara ringer tillbaka updateFunction (se ovan) och väntar 5 sekunder innan du kommer tillbaka och börjar igen. Ändra fördröjningstiden efter dina behov.

void loop() {
updateFunction(valuetosend);
Delay(5000);
}

Se Steg
Relaterade Ämnen

RS485 Seriell kommunikation mellan Arduino Mega och Arduino Nano med Visuino

Ibland måste vi ansluta Arduino styrelser ligger långt bort från varandra. RS485 är ett mycket bekvämt sätt att ansluta styrelser med bara 2 kablar, och kan arbeta för ett avstånd på 1200 m (4000 ft). Det gör också flera styrelser kan enkelt anslutas...

Sol varmvatten controller med arduino mega och ds18b20 tempsensor

Detta är projekt för kontroll solsystemet.Steg 1: Saker du behöver Delar:1xArdunio1xLCD 16 x 23x4.7 kOhm motstånd2xN-P-N transistor2x5v relä3xDS18b20 temperaturgivare1xBreadboard2 x 220 Ohm motståndSteg 2: Ansluta DS18b20 sensorerObs: 4.7kOhm motstån...

En nybörjare guide till setup ESP8266 med Arduino Mega 2560 eller Uno

För produkter med öppen källkod för att lyckas eller anta en masse "skaparna" / "DIY-na" / "dev" / "etc"; en aktuell och korrekt dokumentation eller snabbstart-guide som skall krävas. Användarens inlägg i diskussion...

Ansluta ESP8266-01 till Arduino UNO / MEGA och BLYNK

Detta är en handledning för att visa dig hur du flash en firmware-ESP8266-01 och ansluter till Blynk med hjälp av en ESP8266 - 01 som en Arduino wifi sköld.Maskinvara som behövs:* Arduino Uno/Mega* Hoppare ledningar* USB A till USB B-kabelESP8266-01P...

Arduino Mega 8 x 8 x 8 RGB LED Cube

"Så du vill bygga en 8 x 8 x 8 RGB LED Cube"Jag har spelat runt med elektronik och Arduinos ett tag nu, inklusive bygga en hög amp switch controller för min bil och en sex körfält Pinewood Derby domare för våra scouter grupp.Jag var så fascinera...

Driver den Arduino Mega med litiumbatteri

detta är en liten och kort handledning som förklarar steg för steg hur du ansluter Mega litium ryggsäck öppen källkod hårdvara skölden till Arduino Mega, ge den batteritid, och tillåta Mega vara untethered från datorn.Delarna var alla tagna från liqu...

Prototyping sköld för Arduino Mega

detta är en ner och smutsiga prototyping sköld som fungerar för Arduino Mega och det pin-kompatibel kloner. Detta är första gången jag har gjort detta forum, men jag har andra projekt jag tror detta skulle vara praktiskt för.Material som används:Prot...

Ford CD-växlare Emulator - Arduino Mega

väl... Jag har Ford Focus, och en dag min ursprungliga radio, Ford 6000, har slutat ta emot alla FM-station. Det visade att FM proccessor är ner. Jag hade en annan Ford radio - 5000, med kassetter-spelare.Jag har börjat undra - ok, det finns en skylt...

Laptop automatisk Start/stopp anklagat för (med Arduino, Yun sköld och ESP8266)

Jag arbetar utanför mitt land och laptop är en stor hjälp för mig att ansluta till min familj och vänner och göra alla mina computing tyger också, men jag alltid kom över för att driva svagt batteri och jämn värst till kritisk nivå eller reserverade...

Arduino Mega 2560 baserade LDR ljus intensitet kontroll

De flesta av er vet redan om Arduino och programmering, men de av er som inte vet om dess grunderna bör läsa detta instructable först.Det har allt du behöver veta om Arduino. Jag har använt Mega 2560 i detta instructable eftersom det är ungefär som d...

ESP8266 Wifi lägger på för Arduino Made Simple

UppdateringProcessen som beskrivs här rekommenderas inte längre. Detta instructable har ersatts av ESP8266 WiFi sköld för Arduino och andra micros som ger en mer universell webbsida konfiguration funktion.IntroduktionESP8266 är en låg kostnad wifi ak...

Linux, WiFi, Ethernet, USB-Shield för Arduino

Yun Shield är en Arduino Shield som kommer helt enkelt "vända" Arduino (Leonardo, UNO, MEGA2560 etc) både en "Arduino Yun". Det ger ett Linux-system, WiFi, Ethernet till Arduino styrelsen för anslutning. Det har också en USB-värd port...

Arduino Mega Intro

Hej allaArduino Mega är en fantastisk mikrokontroller för projekt som behöver en stor mängd io eller bearbetning makt och är väldigt roligt att använda. I detta instructable vi ser på den:Arduino Megas specifikationerprojekt som bäst förordningen på...

RC wifi bil Robot kamera använder Arduino och openWRT

En wifi bil baserad på Arduinogenom att stämma openWRTMål: DIY en trådlös bil baserad på Arduino. Genom att kontrollera bilen, vi kan se andra saker på fjärrplatsen, eller kan övervaka säkerheten.Effekt av bild:Princip:l borsta openWRT in trådlös rou...

Arduino Mega Hexapod

Andra Video (ungefär samma sak, utom snabbare handrörelser):https://www.youtube.com/watch?v=zepHB4h5JS4&featu...Detta är min Hexapod, är uppbyggd kring Lynxmotion's Phoenix hexapod och kör en modifierad version av Kurte's phoenix kodbas.Generiska Phe...

Arduino tid-och-Sensor-baserade Android musikspelare

Tänk dig din musikspelare som spelar för dig, en spelare den meningen det omgivande ljuset, temperatur och tid som påverkar stämningen i en person, och välja en låt kategorisera som stämningar. Eftersom jag inte har en sensor som kan översätta mänskl...

Akut knappen för 7$, Arduino, WIFI och ESP8266

HejDet finns en hel del projekt idag försöker hjälpa äldre att bo mer oberoende. Eftersom min farmor är nu 95 och hon lever själv i sin lägenhet, ville jag kolla hur jag kunde hjälpa henne stanna på hennes plats så länge som möjligt.En av de största...

Helgen projektet klocka datum termometer och luftfuktighet med Arduino mega

killar, jag vill dela min helg projekt på att skapa en klocka med fukt och temperaturgivare,Det är med DHT11 sensor, RTC DS1307, LCD 16 x 2 och Arduino Mega 2560,Hålla läsning och lycka tillSteg 1: Förbered alla delar behövs... i detta experiment beh...

Bränna Arduino Bootloader med Arduino MEGA!

Baserat på den officiella ArduinoISP Tutorial:http://Arduino.cc/en/tutorial/ArduinoISPDetta förfarande kan med en arbetande arduino för att programmera bootloader av en annan ATMega chip med SPI som ICSP. Det sparar du att köpa en annan kringutrustni...