Arduino Trådlös väderstation & webbserver (4 / 6 steg)

Steg 4: Kod för webbservning




Det finns två grundläggande förutsättningar för detta. En är att servera en sida direkt från Arduino som är fast format och i huvudsak en lista över sensormätningar, batteristatus, Arduino status etc. Detta är användbart för "Felsökning" båda mjukvaran, men också verifierar att maskinvaran fungerar som den ska – till exempel om en sensor inte att avkodas som den är utanför giltigt intervall eller drabbas av störningar, det kan övervakas på "Senast uppdaterad" Detaljer. Det andra elementet är att tjäna mer komplexa sidor. Lösningen kodade är (tror jag) ganska mäktig, som det kommer att ladda en mallfil (i textform) från roten på SD-kortet och där den finner en "variabel" (anges med en öppning och stängning ~ ~), ersätts detta med värdet före servering till webbsidan. Det innebär att ganska komplicerat webbsidor kan skapas utan åter kodning Arduino och utan hogging memory/resurser, inklusive referenser till externa filer som CSS-filer, bilder etc. som kan vara lagrade på din egen hemsida i stället för på och av Arduino (som det inte är avsedd att göra det).

Ursprungligen, koden var avsett att fungera på en UNO, men jag behövde för att lagra stora matriser av data (48 värden x 13 grupper) för trend grafer (se exempel webbsida) och även om kompilera storlek kom under 32 k Markera, Arduino misslyckades på grund av minne "överbelastning"... Gå till MEGA tillät också ytterligare funktioner läggas (till exempel e-post, sunrise etc.) utan problem. Känn dig fri att optimera koden och pressa den till UNO...

Exempelfilen (graphs.htm) skapar web sidan nedan och använder sig av Google kartlägger api för att rendera diagram med enkel hyperlänk samtal. Observera att koden fungerar bara med 8.3 namngivna filer (på grund av användning av SDFat), därav användningen av htm heter filer. För att visa sidan bearbetade, helt enkelt ange Arduino IP kod: porten följt av /graphs.htm.

Koden innehåller också matematik för beräkning av vissa härledda parametrar, såsom cloud bas höjd och wind chill. Två andra åtgärder är förutom normal sida leverans tillgänglig via URL:

• YourIP:Port / EEPROM-tvingar nuvarande maximum och minimum (och regn count) loggas i EEPROM. Bra att göra innan stänga av någon anledning att se till att de årliga uppgifterna upprätthålls. Obs: EEPROM endast skrivs också en gång per dag, vid midnatt. Detta förlänger livslängden på Arduino EEPROM och som denna enhet är avsedd att drivas på obestämd tid jag tänkte dagligen var tillräcklig.

• YourIP:Port aktivt & år & mo & dag & hr & mi – även om en RTC har använts, det verkar förlora tid under en period. Denna funktion kan användaren återställa RTC (via nätet) "rätt tid" och att uppdatera för sommartid förändringar.

Den enkel loggning och Server kod är baserat på den tutorial här och modifierade för att passa både mina behov och förändringar till Arduino 1.0 kompilator.

Referenser bibliotek

TimeLord bibliotek
EEPROMWriteAnything bibliotek
RTCLib bibliotek
SDFat bibliotek (och Ethernet/SD card tutorial)

Se Steg
Relaterade Ämnen

DIY Arduino och Raspberry Pi väderstation och webbserver

Detta är ett projekt som kommer att ta temperaturen med TMP36 IC temperaturgivare och en Arduino ombord. Dessa data kommer att sända över följetong till Raspberry Pistyrelsen redigerar en webbsida att Raspberry Pi är värd för sig själv. För detta pro...

Arduino Uno DHT11 LCD-väderstation DIY

Detta är DYI om hur man gör din väderstation med Arduino Uno, DHT11 temperatur och luftfuktighet sensor, LCD-DFRobot 2 x 16 skärm med knappsatsen. Vanligtvis kan du köpa Arduino, DHT11 och LCD separat och sedan varje enhet hs är det egna libranry och...

Arduino och Pi i harmoni - som webbserver sensor!

Denna Arduino och Raspberry Pi baserade projekt tar sensordata från Arduino och skickar den via USB till Raspberry Pi. Data är sedan formas till en webbsida på Pi. Webbsidan är helt anpassningsbara. Här använder vi Freetronics IR-termometer modulen f...

DIY Apple Watch VLC styrenhet med ESP8266, Arduino

Dess en hemmagjord projekt för att göra min egen media controller app.Min bärbara dator är ansluten till tv, och im för lat, så märkt en VLC kontroll app.Ja im vet, det är en officiell VLC app store, bättre funktion, men den här är min :)Och im läggs...

8-bitars Digital vindflöjel

Vi har alla sett de stora "smide" järn väder ledskenor att du fastnar på toppen av ditt hus och irritera hela byn med deras finfina nerv galler rörelse. Nu, äntligen, vi kan hålla alla de pittoreska traditionella funktionerna, men lägger på en s...

ESP8266 Weather Widget

Välkommen till mitt nya Väder Widget projekt.En vädret widget är ett program som kan laddas ner på din dator, bärbar dator eller en mobil enhet och utföra jobbet för enkel åtkomst till information om vädret. Men jag försökte alltid att göra något ann...

Arduino GPRS väderstation - del 1

Med hotet om mer och mer oberäkneligt vädermönster cirkulerar luften av vår planet, dag efter dag av oupphörliga regn, översvämningar, torka, hagel stormar och vem vet vad mer, verkar en väderstation vara ett nyttigt och nödvändigt hushålls tillbehör...

Edison och Arduino/Genuino 101 Trådlös väderstation

Detta Instructable beskriver en Intel(r) Edison- och Arduino/Genuino 101-baserade modulär Trådlös väderstation har jag nyligen skapat för min hemmabruk.Grundläggande begrepp, som definierade den setup och lösningar, var:För att ha en modulär lösning,...

Hur till: ansluta din Arduino till Internet som en webbserver

SAKERNAS INTERNET... < kö blixtar och åska >Det är vad alla coola barnen gör dessa dagar. Varför ska de ha allt roligt? Låt oss ställa in en Arduino som en webbserver som vem som helst, var som helst kan visa. Varför skulle vi göra en sådan sak? Möj...

DIY fristående väderstation drivs av Arduino

Hej beslutsfattare uteÅterigen är detta inte en steg för steg Instructable. Som alltid jag glömde att ta snaps ta sedan starten av projektet.Idén att bygga en weather station med öppen hårdvara sparkade en lång tillbaka. Vi människor från en DIY loka...

Arduino väderstation Part2

så min senaste projekt var en Arduino wind chill maskin.Naturligtvis, detta lata gamla Geek ville lägga en vindflöjel (vindriktning) till min väderstation. Vem bryr sig, du får fråga? Tja, är jag en nörd. Faktiskt, vindriktning har viss betydelse. Hä...

Arduino webbserver

Detta instructable visar dig hur man gör en Arduino webbserver som du kan vända en led på och av och rotera en servo motor med en Internetanslutning.Du behöver:1 x Arduino Uno1 x Ethernet Shield1 x Ethernet-kabel1 x 220 Ohm motstånd1 x LED1 x Micro s...

Arduino väderstation Del3, regn

så ett av mina senaste projekt var att lägga en vindflöjel till min Arduino väderstation.Denna lata gamla Geek beslutat att lägga till en REGNMÄTARE i det även om vi inte får mycket regn i höga öknen. De flesta digitala regn mätare baseras på något s...

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

Väderstation med SAMIIO, Arduino och Raspberry Pi

Den här artikeln visas hur du använder SAMISKA med enkla, off-the-shelf sensorer och hårdvara. Specifikt, blir vi insamling klimatdata från en billig temperaturgivare och vidarebefordra dessa data till molnet via SAMI APIs. Därifrån kan vi analysera...

Trådlös utomhus Arduino väderstation med PC loggning och diagram

jag ville ha en logg över utomhus väder med PC loggning och grafer för ganska länge nu. Det finns sådana enheter på marknaden men deras kostnad är riktigt hög. Så beslutat att bygga en själv och njuta av upplevelsen också.FunktionerTemperatur, luftfu...

ESP8266 (fristående) väderstation med hjälp av Arduino IDE och GadgetKeeper moln plattform

Detta är en uppgradering av mitt tidigare projekt GadgetKeeper-väderstation. I detta projekt bygger jag samma funktioner men bara använder ESP8266 WiFi SoC fristående med DHT11 temperatur och luftfuktighet sensor. I det tidigare projektet använde jag...

Mini väderstation med Arduino

Detta är min första instructable och första fullfjädrat Arduino projekt. Även om du kan hitta liknande projekt, lär jag mycket från detta projekt.Steg 1: Syftet med väderstation Denna enkla väderstation tar temperatur och luftfuktighet från sensorn o...

10 $ bärbara Arduino väderstation (AWS)

Mitt college hade nyligen en liten vetenskap utställning.Så jag har begärts av min lärare att presentera ett projekt i kollegiet att undervisa unga studenter om elektronik så i princip hade jag två dagar att göra nåt.Som klimatiska förhållandena här...