Visa data på en webbplats - elektroniska potten [Arduino Nano + Ethernet Shield] (2 / 3 steg)

Steg 2: Programvara för Arduino

/*
E-Pot v.1.0
------------------------
Författare: Jan Pedryc
E-post: jan.pedryc
Datum: 23.11.2015

För mer information om detta projekt, kolla http://www.janped.com

------------------------
Detta är koden för projektet E-potten. De viktigaste syftena med detta
koden är:

1. upprätta anslutning - Ethernet-shield
2. konfiguration av luftfuktighet modulen DHT11
3. konfiguration av fotomotstånd

SLINGA:
(ungefär en gång varje timme)
en) att få data från sensorer
b) förbereder en sträng (data) för _POST begäran
c) skicka data med hjälp av porten till sin destination
*/

#include < SPI.h >
#include < Ethernet.h >
#include < DHT.h >

---Web Server CONFIG
Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IP-adress ip(192,168,0,177);
IP-adress gateway(192,168,0,1);
IP-adress subnet(255,255,255,0);

EthernetClient klient;

---Luftfuktighet modul CONFIG
#define DHTPIN 2 / / vilken pin vi är ansluten till
#define DHTTYPE DHT11 / / DHT 11

DHT dht (DHTPIN, DHTTYPE);

---Fotomotstånd CONFIG
int lightPin = 0; Variabel lagrar värdet från fotomotstånd
int PRvalue = 0; Ytterligare variabel lagrar värdet att jämföra
int PRlight = 0; Står för ljus närvaro (på/av)

Strängdata; Den här strängen innehåller beredda data
som vi kommer att skicka som en POST-begäran

void setup() {
Öppna seriell kommunikation och vänta på port att öppna:
Serial.BEGIN(115200);
/*
För Arduino Leonardo användare - avkommentera denna del:
*/
tag (!. Serial) {
// ;
// }

Serial.println ("seriell anslutning etablerad");

om (Ethernet.begin(mac) == 0) {
Serial.println ("kunde inte konfigurera Ethernet via DHCP");
}

DHT.BEGIN();
Serial.println ("DHT11 anslutning etablerad");

data = "";

}

void loop() {
Delay(1000);
---Luftfuktighet modul åtgärder
Serial.println ("fuktighet modul ACTION");
Vänta några sekunder mellan mätningarna.

int t = 0; temperaturen
int h = 0; luftfuktighet

Läst temperatur eller fuktighet tar cirka 250 millisekunder!
Sensormätningar kan också vara upp till 2 sekunder "gamla"
(det är en mycket långsam sensor)
h = dht.readHumidity();
Delay(500);
Läs temperatur som Celsius (standard)
t = dht.readTemperature();
Delay(500);

Kontrollera om någon läser misslyckades och avsluta tidigt (för att försöka igen).
om (isnan(h) || isnan(t)) {
Serial.println ("kunde inte läsa från DHT sensorn!");
hemkomst.
}

---Foto Resistor åtgärder
PRvalue = analogRead(lightPin);

500 är valfria i det här fallet. Du bör testa den
fotomotstånd i din miljö och bestämma hur
känsliga sensorn bör vara
om (PRvalue > 500) {
PRlight = 1; 1 betyder i mitt fall att det finns tillräckligt med ljus
}
annat {
PRlight = 0; 0 betyder att det finns unefficient ljus
}

Serial.print & Serial.println kommandon är valfria
(Jag använde dem för att testa)
Serial.Print ("Temp:");
Serial.println(t);
Serial.Print ("nynna:");
Serial.println(h);
Serial.Print ("ljus:");
Serial.println(PRlight);

Förbereda data från sensorer att skicka via den
Ethernet-shield
data = "ahum1 =" + String(h) + "& temp1 =" + String(t) + "& ljus =" + String(PRlight);

Serial.println(data); För teständamål

---Ethernet Shield åtgärder
om (client.connect ("www.janped.com", 80)) {/ / din domän
Serial.println ("klient ansluten.");
client.println ("POST /add.php HTTP/1.1");
client.println ("Host: janped.com"); Din domän
client.println ("Content-Type: application/x-www-formuläret-urlencoded");
client.println ("anslutning: Stäng");
client.println ("User-Agent: Arduino/1.0");
client.Print ("Content-Length:");
client.println(data.length());
client.println();
client.println(data);
}

om (client.connected()) {
client.stop();
}

Nu vänta ungefär en timme
1000ms * 60 = 60 000ms = 1 min
60 000ms * 60 = 3 600 000ms = 1 h
Funktionen delay() bör veta är det en lång heltal,
Det är därför det finns ett "L" ingår i slutet
Delay(3600000L);
}

Jag försökte kommentera allt där kan uppstå några problem. Om något är oklart eller koden fungerar inte som den ska, vänligen kontakta mig på något sätt.

Du kan hitta en mer detaljerad beskrivning av koden på

Se Steg
Relaterade Ämnen

Internet kontrollerad Arduino (ingen Ethernet shield)

Ethernet-sköldar är mycket roligt, men de kan vara dyra. I detta projekt kommer jag visa dig hur du styr din Arduino från vilken dator som är ansluten till internet, utan att använda en Ethernet shield. Detta projekt är helt gratis, förutsatt att du...

Hem Automation DIY projekt med hjälp av Arduino UNO & Ethernet Shield

"Det huvudsakliga målet med detta projekt är att hur du kan styra hemelektronik som TV, fläkt, tube light eller något med hjälp av din dator eller bärbara enhet"Hjärtat i detta projekt är Ethernet shield och definitivt hjärnan med detta projekt...

Min 1st Iot anordning med GeekNesia + Arduino Uno + Ethernet Shield och DHT21 via PubSub metod

Geeknesia är en plattform för Sakernas Internet, ungefär som ThingSpeak men det är från Indonesien :). GeekNesia fortfarande Beta hoppas jag det kommer att finnas vissa andra slag har snart. Jag använder Arduino uno och Ethernet-shield för skicka DHT...

Online grafer med ingenting men en Arduino, Ethernet Shield och Sensor

Slutligen har jag beslutat att lägga några av mina befintliga projekt på instructables. Här är anpassade från mitt Super Graphing Data Logger projekt.Vad är Super Graphing Data Logger (SGDL)? Det är en Arduino projekt som integrerar dataloggning och...

Arduino-Android LED styr med hjälp av Ethernet Shield

saker du behöver:hårdvara:Arduino UnoEthernet-ShieldLED 2 st.Resistorer 2st.Breadboard(optional)ledningar (koppar, Ethernet-kabel)RouteranslutaLED 1--> stift 6 till markenLED 2--> stift 7 till markenprogramvara:Eclipse IDEArduino IDE 1.x.xSteg 1: Pr...

Styra Denon AVR med Arduino + Ethernet shield

Med detta projekt har jag bygger en enkel kontrollpanel för min Denon AVR (AVR-X4100W).De flesta av Denon A / V-mottagare är nätverket redo, så att du kan styra dem inom en web interphasen eller en app. Det finns inga officiella dokumentation för HTT...

Live data till excel från en Arduino ljussensor

Jag började denna lilla projekt häromdagen när jag såg att Instructables hade postat en konkurrens för användning av sensorer, men dess visat sig vara lite mer intressant.Min ursprungliga idé var att ta ett mycket enkelt projekt (exempel i en eller a...

Raspberry webbserver skickar GET data till Arduino Nano kör 6 servon

http://www.youtube.com/watch?v=f7oSqLO9iJoDetta är ett litet projekt jag gjorde för en kollega som bygger en 1/48 skala RC modell av en Fletcher-klass jagare (Japp... det gör "modellen" ca 8 fot lång!) Han frågade om jag kunde animera 5 x MKIII...

Arduino Nano: Visa GPS-position på I2C 2 X 16 LCD-Display med Visuino

För några dagar sedan bad någon mig att göra Instructable om hur du visar GPS latitud och longitud på en LCD-Display. Jag lovade att göra en, och här är det.I detta Instructable kommer jag visa dig hur du kan ansluta seriell GPS-moduloch I2C LCD-Disp...

HackerBoxes 0003: Amatörradio, Arduino Nano, satelliter, Packet, APRS

Är du redo att få Radio Active? Denna månad, utforska radiokommunikation med kraftfulla handhållna VHF/UHF transceiver, Sök för amatör satelliter overhead och prototyp ditt eget Morsealfabetet eller Digital Packet Radio projekt baserat på tiny Arduin...

Montering en Arduino Nano / LCD projekt plattform

Den "Arduino Nano / 1.8" TFT LCD projekt plattform "består av en 3D tryckta fall att wraps en anpassade utformade PCB som är monterad en Arduino Nano, en 1.8" TFT LCD med en SD-kortläsare och tre tryckknappar som är utsatta på framsida...

Arduino seismiska Aktivitetskontroll - Ethernet Shield

har du någonsin velat imponera på dina vänner genom att säga något galet som, "Jag tror det kommer att bli en jordbävning snart" ögonblicken innan en jordbävning träffar?Eller vill du bara några varning, några sekunder som kan rädda ditt liv.Det...

Online temperaturövervakning genom att använda Arduino + Ethernet Shield

Hej, idag jag ska Visa du kille hur man gör arduino temperaturövervakning online, detta exempel är webbaserade-det betyder att du kan ansluta från var som helst, Combine AJAX och PHP tillsammans som kan ge temperaturdata mestadels realtime utan uppda...

Arduino Nano med Ethernet Shield

Jag köpte nyligen en Arduino Ethernet shield utformad för Arduino Uno och trodde jag kunde bara enkelt ansluta den till min befintliga Arduino Nano. Jag hade fel!Jag kunde inte hitta mycket information om hur du gör detta, förutom att vissa dokument...

Berlin klocka, Arduino Nano, DS1307 Realtidsklocka. 74HC595N 8-bitars skiftregister.

För en tid nu har jag ville bygga en Berlin klocka. Jag vet inte riktigt varför? Jag gillar bara "annorlunda" tillvägagångssätt till talande tiden.Så hur fungerar det?Börjar på botten finns 4 gul lyser varje ljus representerar 1 minut, så om det...

Arduino Nano baserat Microbot

detta instructable skapades för att föras in i roboten utmaningen. Om jag vinner, som delar ska naturligtvis gå till robotar som denna. Anteckningar om hur du inkluderar några av de mycket i prispaket ges i sista steget. Jag är 28, så klart, jag komm...

Arduino Nano LED-skärm

Detta är min första instructable på hur man snyggt gränssnitt en 0,56" 4-siffriga 7-Segment LED display till en Arduino Nano. 7-segment LED-displayer är idealiska för att visa information på en Arduino på grund av sina låga kostnader (~$1.50 på Amazo...

Hur du använder MQTT i Arduino utan en Ethernet Shield

MQTT står för MQ telemetri Transport. Det är en publicera/prenumereraextremt enkel och lätt meddelandeprotokoll, avsedd för begränsad enheter och låg bandbredd, hög latens eller opålitliga nätverk. Design är att minimera bandbredd och enheten resursk...

Arduino Nano - BH1715 Digital Sensor för omgivande ljus handledning

BH1715 är en digital Sensor för omgivande ljus med en I²C bus gränssnitt. BH1715 är vanligt att få omgivande ljus data för att justera LCD och knappsatsen bakgrundsbelysningen makt för mobila enheter. Denna enhet erbjuder en 16-bitars upplösning och...