Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

ThingSpeak Arduino-weerstation

Componenten en benodigdheden

Arduino UNO
× 1
Espressief ESP8266 ESP-01
× 1
DHT11 temperatuur- en vochtigheidssensor (3 pinnen)
× 1
Broodplank (algemeen)
× 1
Jumperdraden (algemeen)
× 1
SparkFun Breadboard-voeding 5V/3,3V
× 1

Apps en online services

ThingSpeak-API
Arduino IDE
Microsoft Windows 10

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-Stasion

Productieproces

  1. Raspberry Pi 2 weerstation
  2. Raspberry Pi-weerstation
  3. Weerstation V 2.0
  4. Arduino digitale dobbelstenen
  5. Iron Man
  6. Vind mij
  7. Arduino 3D-geprinte robotarm
  8. Arduino-luchtbevochtigerbediening
  9. $10 draagbaar Arduino-weerstation (AWS)
  10. eDOT - op Arduino gebaseerde precisieklok en weerstation
  11. Arduino-joystick