ThingSpeak Arduino-weerstation
Componenten en benodigdheden
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Apps en online services
![]() |
| |||
![]() |
| |||
![]() |
|
Over dit project
THINGSPEAK ARDUINO WEERSTATION
Onderdompelen in IoT

Je voeten onderdompelen in IoT kan een uitdaging zijn als beginner, niet wetend waar te beginnen met de enorme beschikbare opties. God zegene dingen. Deze blog leidt je door je eerste Thingspeak IoT-project, namelijk:
a) Goedkoop en toegankelijk
b) Gemakkelijk te begrijpen
c) RAD COOL.
Het project - Een temperatuur- en vochtigheidssensor die gegevens naar de Thingspeak Cloud stuurt met behulp van een Arduino en een ESP - 01 wifi-module.
Dingen die je nodig hebt
1. Arduino UNO

2. ESP - 01

3.DHT-11-sensor


4.Broodplank
5.Breadboard-voeding

5. Draden aansluiten.
OPMERKING - Nu zou je je arduino kunnen gebruiken om de sensor en de wifi-module van stroom te voorzien, maar een externe bron zoals een Breadboard-voedingsmodule zal beter zijn omdat het bord niet kan voldoen aan de piekstroomvereisten van de wifi-module in werking. Ik heb geprobeerd me te vertrouwen
Oké, laten we er meteen in duiken.
VERBINDINGEN

ESP -01
1. VCC - 3.3V
2. GND - GND
3. CH_PD - 3.3V
4. RESET - 3.3V
5. TX - 2 (Arduino)
6. RX - 3 (Arduino)
DHT - 11
1. VCC - 5V
2. UIT - A0
3. GND - GND
Vergeet niet de jumper op 3,3V op de Breadboard-voeding te zetten.
Zet nu alles aan en als er niets verbrandt of rookt, tot nu toe zo goed.
THINGSPEAK INSTELLEN
Ga naar de thingspeak-startpagina.

Meld u aan en maak een Nieuw Kanaal aan met twee velden Temperatuur en Vochtigheid.
Bij het maken van een nieuw kanaal krijg je iets dat de API-sleutels worden genoemd.

We zullen deze later gebruiken.
DE ARDUINO IDE INSTELLEN
Nu is deze stap de sleutel om de code te laten werken. BIBLIOTHEKEN.
Je gebruikt er twee in de code en een derde om die in de code te gebruiken.
Gemarkeerd in het rode vak.

SoftwareSerial.h is een ingebouwde bibliotheek, dus daar zijn geen problemen.
1. De bibliotheken die u zelf moet installeren, zijn de Adafruit Unified Sensor Library en de DHT-sensorbibliotheek. Downloadlinks
DHT-sensor door adafruit- https://github.com/adafruit/DHT-sensor-library
Adafruit Verenigd Sensor Bibliotheek- https://github.com/adafruit/Adafruit_Sensor
2. Download beide en voeg ze toe met behulp van de Add.ZIP Library-functie in de IDE.

Homestretch
De code is hier - https://github.com/imalwaysontheinternet/Weather-StasionOf kopieer de code hier en plak deze in je schets.
Er zijn een paar dingen die u in de code moet doen voordat u deze uploadt.
1. Plak hier uw Write API-sleutel

2. Voer hier uw Wifi SSID en wachtwoord in.

Upload de code. Als alles correct is gedaan, zou je Thingspeak-kanaal er zo uit moeten zien.

Merk op dat er een interval van 15 seconden is tussen updates van de grafieken.
Als het nog steeds niet werkt, schrijf dan uw problemen in de opmerkingen hieronder. We helpen u graag verder. Bezoek virginrobotics.blogspot.com voor vragen en meer van dit soort projecten.
Code
- CODE
CODEArduino
String myAPIkey ="Uw schrijf-API-sleutel hier"; #include#include ;SoftwareSerial ESP8266(2, 3); // Rx, Tx#define DHTTYPE DHT11#define DHTPIN A0DHT dht(DHTPIN, DHTTYPE,11); float vochtigheid, temp_f; lang schrijvenTimer =17; lange startTime =0;lange wachttijd =0;boolean relay1_st =false; booleaanse relais2_st =onwaar; unsigned char check_connection=0;unsigned char times_check=0;boolean error; ongeldige setup(){Serial.begin(9600); ESP8266.begin (9600); dht.begin(); startTime =millis(); ESP8266.println("AT+RST"); vertraging (2000); Serial.println("Verbinding maken met wifi"); while(check_connection==0) { Serial.print("."); ESP8266.print("AT+CWJAP=\"Naam wifi-netwerk\",\"Wachtwoord\"\r\n"); ESP8266.setTimeout (5000); if(ESP8266.find("WIFI VERBONDEN\r\n")==1) { Serial.println("WIFI VERBONDEN"); pauze; } times_check++; if(times_check>3) { times_check=0; Serial.println("Probeert opnieuw verbinding te maken.."); } }}void loop(){ waitTime =millis()-startTime; if (waitTime> (writingTimer*1000)) { readSensors(); writeThingSpeak(); startTime =millis(); }}void readSensors(void){ temp_f =dht.readTemperature(); vochtigheid =dht.readHumidity();}void writeThingSpeak(void){ startThingSpeakCmd(); // preparacao da string GET String getStr ="GET /update?api_key="; getStr +=mijnAPI-sleutel; getStr +="&field1="; getStr +=String (temp_f); getStr +="&field2="; getStr +=String (vochtigheid); getStr +="\r\n\r\n"; GetThingpeakcmd(getStr); }void startThingSpeakCmd(void){ ESP8266.flush(); String cmd ="AT+CIPSTART=\"TCP\",\""; cmd +="184.106.153.149"; // api.thingspeak.com IP-adres cmd +="\",80"; ESP8266.println(cmd); Serial.print("Start Commando's:"); Serieel.println(cmd); if(ESP8266.find("Fout")) { Serial.println("AT+CIPSTART fout"); opbrengst; }}String GetThingpeakcmd(String getStr){ String cmd ="AT+CIPSEND="; cmd +=String(getStr.length()); ESP8266.println(cmd); Serieel.println(cmd); if(ESP8266.find(">")) { ESP8266.print(getStr); Serial.println(getStr); vertraging (500); String messageBody =""; while (ESP8266.available()) { String line =ESP8266.readStringUntil('\n'); if (line.length() ==1) { messageBody =ESP8266.readStringUntil('\n'); } } Serial.print("MessageBody ontvangen:"); Serial.println(messageBody); bericht terugBody; } else { ESP8266.println("AT+CIPCLOSE"); Serial.println("AT+CIPCLOSE"); } }
Schema's

Code
https://github.com/imalwaysontheinternet/Weather-StasionProductieproces