WIFI plant controlesysteem op basis van Arduino MEGA en ESP8266 (2 / 4 stap)

Stap 2: Het verzenden van gegevens naar thingspeak


In deze stap die we proberen zullen om u uitleggen hoe werkt de code. De code is vrij complex vanwege de aanwezigheid van AT commando's, ESP8266 voorgeschreven. Dus, deze analyse geen aanspraak op het tijdstip van volledig, maar het leert alleen wat je moet wijzigen om gegevens verzenden Thingspeak. Kijk op Deze pagina voor meer info over AT commando's.

Alvorens in te gaan op, Bekijk de video toegevoegd in deze stap voor meer info over Thingspeak basisinstellingen en dan DHCP op uw router ingesteld.

In het eerste deel definiëren we de constanten die nodig zijn voor de rest van de schets.

 #define esp8266 Serial1 // use esp8266 to talk to esp8266 #define SSID "SSID_NAME" // put here the name of your wifi network #define PASS "ROUTER_PASSWORD" // put here the password of your wifi network #define IP "184.106.153.149" // thingspeak.com's IP String GET = "GET /update?key=[THINGSPEAK_KEY]&"; // put here your thingspeak key String GET1 = "field1="; String valuetosend = "10"; // for this first test we send a simple value 

We noemen de esp8266 de seriële poort #1 voor gemak, dan definiëren we onze SSID naam, het wachtwoord van de router als u een en de ThingSpeak IP. We hebben ook drie string variabelen: de eerste twee vertegenwoordigen de opdrachtregel verzonden naar ThingSpeak die is samengesteld uit GET en GET1. [THINGSPEAK_KEY] vervangen door uw sleutel, , automatisch gegenereerd door ThingSpeak eenmaal gedaan een nieuw kanaal. Bekijk de video toegevoegd in deze stap voor meer info over. GET1 winkel gegevens voor de grafiek 1. Voor elke sensor moet u verklaren een String.

De tekenreeks met de naam valuetosend is slechts een willekeurige waarde die we voor het testen gebruiken.

De eerste functie we gaan vinden op de analyse van de schets heet updateFunction:

 void updateFunction(String valuetosend){ String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += IP; cmd += "\",80"; esp8266.println(cmd); delay(2000); if(esp8266.find("Error")){ Serial.print("Error1"); return; } cmd = GET + GET1; cmd += valuetosend; cmd += "\r\n"; Serial.print(cmd); esp8266.print("AT+CIPSEND="); esp8266.println(cmd.length()); if(esp8266.find(">")){ esp8266.print(cmd); }else{ esp8266.println("AT+CIPCLOSE"); } } 

Deze functie wordt een TCP-verbinding in de 80 haven richting ThingSpeak. Als alles goed gaat, stuurt dan de opdrachtregel voor het bijwerken van de grafiek.

De command line heeft de volgende structuur:

 GET /update?key=[THINGSPEAK_KEY]&field1=10 

Net na, is er de connectWiFi functie:

 boolean connectWiFi(){ esp8266.println("AT+CWMODE=1"); delay(2000); String cmd="AT+CWJAP=\""; cmd+=SSID; cmd+="\",\""; cmd+=PASS; cmd+="\""; esp8266.println(cmd); delay(5000); if(esp8266.find("OK")){ Serial.println("OK"); return true; }else{ Serial.println("KO"); return false; } } 

Kortom, deze functie maakt uw ESP8266 lid te worden van uw wifi LAN met de opdracht AT + CWJAP. Als het een verbinding tot stand brengt, wordt waar geretourneerd anders false.

Zoals gebruikelijk, initialiseert de setup functie variabelen, pin modi, enzovoort.

 void setup() { Serial.begin(9600); esp8266.begin(115200); // sensors.begin(); esp8266.println("AT"); delay(5000); if(esp8266.find("OK")){ connectWiFi(); } } 

Het initialiseert de twee seriële communicatie, worden afgedrukt "AT" en vervolgens probeert de ESP8266 verbinden met uw wifi LAN afdrukken "OK" als deze poging goed gaat. Houd in gedachten dat je moet initialiseren hier de digitale en/of analogen pinnen gebruikt door deze sensors die u nodig hebt.

De lus functie gewoon teruggebeld door de updateFunction (hierboven gezien) en wacht 5 seconden voordat terugkomen en opnieuw beginnen. Wijzig de vertragingstijd volgens uw behoeften.

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

Gerelateerde Artikelen

28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

ICStation Team u kennismaken met deze stappenmotor -controlesysteem op basis van ICStation UNO compatibel met Arduino. Het gebruikt ULN2003-chip om te rijden. De spanning van de werken is DC5V. Het wordt op grote schaal gebruikt op de ATM-machine, in
Timing van de lichtgevoelige infrarood LED controlesysteem op basis van Arduino

Timing van de lichtgevoelige infrarood LED controlesysteem op basis van Arduino

ICStation Team kennismaken u met deze Photosensitive timing infrarood LED controlesysteem. Dit systeem gebruikt DC5V spanning om te werken. Wanneer de intensiteit van het licht zwak is en iemand in het infrarood gebied verschijnt, zullen de LED op. T
Eenvoudige rekenmachine op basis van Arduino MEGA

Eenvoudige rekenmachine op basis van Arduino MEGA

Tegenwoordig is doen berekeningen geen probleem bij allen. Krachtige rekenmachines kunnen worden gekocht voor een paar Euro of gemakkelijk geïnstalleerd op telefoons en computers. Echter besloten hebben we om te zetten van onze Arduino in een rekenma
DIY temperatuur & vochtigheid & rookmelder Alarm systeem op basis van Arduino

DIY temperatuur & vochtigheid & rookmelder Alarm systeem op basis van Arduino

ICStation team u introduceren hoe DIY deze temperatuur & luchtvochtigheid & rook alarmsysteem op basis van ICStation Mega 2560 compatibel met Arduino.The werkende spanning van dit systeem DC5V is. Het kan meten de huidige temperatuur, vochtigheid
NRF24L01 draadloos toetsenbord gegevens overdracht systeem op basis van Arduino

NRF24L01 draadloos toetsenbord gegevens overdracht systeem op basis van Arduino

ICStation Team u dit draadloze transmissie-systeem op basis van ICStation Mega 2560 en compatibel met Arduino UNO R3 introduceren. Het maakt gebruik van DC5V werkende spanning. Als er iemand op de toetsen te drukken, worden de waarde van de sleutels
Soldeer station gemaakt door mijzelf op basis van Arduino

Soldeer station gemaakt door mijzelf op basis van Arduino

Hallo! Zodra ik sprak over het soldeer station op de Arduino en onmiddellijk overdonderd me vragen (hoe? / waar? / wanneer?). Gezien de massa van aanvragen, besloten heb ik om schrijf een recensie van eenvoudige soldeer station (alleen soldeerbout) o
Biofeedback apparaat op basis van Arduino

Biofeedback apparaat op basis van Arduino

Hier presenteer ik een Open bron Biofeedback apparaat die ik bouwen op basis van Arduino. Je lichaamstemperatuur kan meten met een IR-sensor, GSR en u kunt andere apparaten aansluiten met wisselende sinus Toon uitgang, bijvoorbeeld de Thoughtstream U
3 fase sinusgolf generator op basis van Arduino Due

3 fase sinusgolf generator op basis van Arduino Due

het doel van dit aandeel is om iemand die probeert te gebruiken de inachtneming te helpen meer performance + gebrek aan referentie + niet-nuttige gegevensblad.Dit project is het kundig voor het genereren van maximaal 3 fase sinusgolf @ 256 monsters /
Automatische ijsemmer leverancier op basis van Arduino

Automatische ijsemmer leverancier op basis van Arduino

Afgelopen vrijdag enkele ingenieurs uit DFRobot nam hun de Ice Bucket Challenge om het bewustzijn voor ALS. We besloten om het te doen in een maker manier met een leverancier van automatische ijsemmer op basis van Arduino.And zijn we alle makers over
Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

De oplossing hier gebruikt om op afstand controle Arduino door middel van ofwel smartphoneof tablet in plaats van drukknoppen, displays, etc. geldt voor vele projecten waarin de microcontroller worden gecontroleerd op afstand, moet dus de toepassing
Glas van computers op basis van Arduino Uno

Glas van computers op basis van Arduino Uno

Aan mijn meesters graduate project ("Gowing Computers, aansluiten van organen, knippen het snoer") van Konstfack College van kunstnijverheid en Design (keramiek en glas/CRAFT) heb ik gemaakt 3 glazen computers op basis van de specificaties van d
Pixel verzonden teller op basis van Arduino

Pixel verzonden teller op basis van Arduino

Vele malen, gebruik we vaak van LCD zoals weergaveapparatuur, van kleine temperatuur monitoren tot grote industriële apparatuur.Het grappige ding in dit project is dat het combineert twee rode LED Matrices als vertoning. U hoeft geen andere apparaten
Hoe mBlock om software te gebruiken voor het programmeren van het intelligente Corridor licht circuit op basis van Arduino

Hoe mBlock om software te gebruiken voor het programmeren van het intelligente Corridor licht circuit op basis van Arduino

mBlock is een grafische programmering omgeving die speciaal is ontworpen voor beginners om gemakkelijk naar programma Arduino projecten en het maken van interactieve toepassingen. mBlock ondersteunt overvloedige hardware:Arduino UNOArduino Leonardo p
Hoe maken PS2 toetsenbord lezen weergeven systeem op basis van Arduino

Hoe maken PS2 toetsenbord lezen weergeven systeem op basis van Arduino

ICStation Team u kennismaken met deze PS2 toetsenbord Lees weergavesysteem in details. De bedrijfsspanning van PS2 toetsenbord lezen weergavesysteem is DC 5V. Wanneer u de toetsen letters of cijfers, wordt de LCD1602 dienovereenkomstig wordt weergege