Arduino draadloze weerstation & webserver (4 / 6 stap)

Stap 4: Code voor webserving


Er zijn twee belangrijke elementen in dit.  Een is het dienen van een pagina rechtstreeks vanuit de Arduino thats vaste indeling en in wezen een lijst van de sensor lezingen, batterijstatus, Arduino status enz.  Dit is handig voor het 'zuiveren' van zowel de software, maar wordt ook gecontroleerd of dat de hardware werkt zoals verwacht-bijvoorbeeld als een sensor is niet worden gedecodeerd als het valt buiten het bereik of last van interferentie, het kan worden gecontroleerd op de 'laatst bijgewerkt' details.  Het tweede element is om meer complexe pagina's.  De oplossing die gecodeerd is (denk ik) heel krachtig, als een sjabloonbestand (in de vorm van de tekst) wordt geladen vanuit de hoofdmap van de SD-kaart en waar een 'variable' worden gevonden (aangeduid met een openings- en sluitingshoeken ~ ~), het vervangt dit met de waarde voor het opdienen aan de web-pagina.  Dit betekent dat heel ingewikkeld webpagina's kunnen worden gemaakt zonder het opnieuw coderen van de Arduino en zonder het hogging geheugen/middelen, met inbegrip van verwijzingen naar externe bestanden zoals CSS-bestanden, afbeeldingen etc. die kan worden opgeslagen op uw eigen website in plaats van op en bediend door de Arduino (die het niet is ontworpen om het te doen).

Oorspronkelijk, de code was bedoeld om te werken aan een UNO, maar ik nodig om te slaan grote gegevensmatrices (48 waarden x 13 groepen) voor de grafieken van de tendens (Zie voorbeeldwebpagina) en hoewel de compile-grootte kwam onder de 32 k mark, de Arduino is mislukt vanwege geheugen 'overbelasting'...  Gonna de MEGA mag ook extra functionaliteit moet worden toegevoegd (zoals e-mails, zonsopgang etc.) zonder probleem.  Voel je vrij om de code te optimaliseren en knijp het op de UNO...

Het voorbeeldbestand (graphs.htm) wordt gemaakt van de onderstaande webpagina en maakt gebruik van de api van Google grafieken te maken van de grafieken met eenvoudige hyperlink oproepen.  Merk op dat de code alleen met bestanden met 8.3 naam (als gevolg van het gebruik van SDFat), vandaar het gebruik van .htm werkt-bestanden genoemd.  Als u de bewerkte pagina, typt u de Arduino IP code: Port gevolgd door /graphs.htm.

De code omvat ook wiskunde voor de berekening van sommige afgeleide parameters, zoals cloud basis hoogte en wind chill. Twee andere acties zijn beschikbaar via de URL naast de normale pagina levering:

• YourIP:Port / EEPROM-krachten de huidige maximum en minimum (en regen graaf) moeten worden vastgelegd in EEPROM. Nuttig te doen voordat de stroomvoorziening naar om welke reden om ervoor te zorgen dat de jaarlijkse gegevens wordt onderhouden.  Opmerking: de EEPROM is enkel geschreven ook eenmaal per dag, om middernacht.  Dit verlengt de levensduur van de Arduino EEPROM en als dit apparaat is bedoeld voor onbepaalde tijd worden aangedreven dacht ik dagelijks volstond.

• YourIP:Port /TIME jaar mo & dag & hr & mi-hoewel een RTC is gebruikt, lijkt te verliezen van tijd over een periode.  Deze functie kan de gebruiker opnieuw instellen van de RTC (via het web) op de "juiste tijd" en voor zomertijd wijzigingen moeten worden bijgewerkt.

De Basislogboekregistratie en Server code is gebaseerd op de tutorial hier en gewijzigd om aan te passen mijn behoeften en de veranderingen aan Arduino 1.0 compiler.

Bibliotheek verwijzingen

TimeLord bibliotheek
EEPROMWriteAnything bibliotheek
RTCLib bibliotheek
SDFat -bibliotheek (en Ethernet/SD kaart tutorial)

Gerelateerde Artikelen

Maak van uw project van Arduino draadloze in minuten, met de draadloze uitvinders Shield

Maak van uw project van Arduino draadloze in minuten, met de draadloze uitvinders Shield

de uitvinders-shield gebruik van een draadloze pijp, dat een speciale draadloze RF-module die u toelaat is om gemakkelijk en betrouwbaar, verzenden en ontvangen van draadloze foutvrij gegevens tussen twee of meer Arduino boards Arduino boards.Het is
Arduino draadloze auto

Arduino draadloze auto

HalloDit Project is gemaakt met 2 arduinos planken (UNO voor auto) en NANO voor zender.Ik ben ook met behulp van H-Bridge-chip om te controleren van de motoren.De transceiver is NRFL2401 oftewel SPI gecontroleerd door Arduino.Het chassis van Ebay is
Arduino draadloze laser torentje

Arduino draadloze laser torentje

Zeer gemakkelijk om te bouwen van arduino draadloze laser torentje, ook zeer goedkope onderdelen u op ebay bijvoorbeeld kopen kunt.Stap 1:Ik gebruikte om dit project 2,4 GHz RF transceiver modules die is ingebouwd in de nRF24L01 +-IC.nRF24L01 + zijn
Arduino draadloze upload programma zonder USB-kabel

Arduino draadloze upload programma zonder USB-kabel

Arduino draadloze programmeur is ontworpen voor upload het programma van uw PC/laptop aan Arduino board gewoon door Bluetooth.Dus nu dat kunt u het programma bijwerken tot Arduino boards Arduino boards die in het vak of de koffer zonder elke USB-aans
Edison en Arduino/waar 101 draadloze weerstation

Edison en Arduino/waar 101 draadloze weerstation

Dit Instructable beschrijft een Intel(r) Edison- en Arduino/waar 101 gebaseerde modulaire Draadloos weerstation die ik onlangs voor mijn privé-gebruik gemaakt heb.Fundamentele begrippen, die gedefinieerd de setup en oplossingen, waren:Als u wilt een
Arduino WiFi Thermometer (met web page) - Arduino draadloze

Arduino WiFi Thermometer (met web page) - Arduino draadloze

Wat je nodig hebtEen Arduino board (compatibel bestuur is OK).LM-35 (om te gebruiken met de meegeleverde bestand kunt u DS18B20 maar je moet de broncode respectievelijk converteren).HLK-RM04 WiFi router module.5V voeding of Power supply en verordenin
Arduino GPRS weerstation - deel 1

Arduino GPRS weerstation - deel 1

Met de dreiging van steeds meer grillige weerpatronen circuleren van de lucht van onze planeet, dag na dag van onophoudelijke regen, overstromingen, droogtes, Hagel stormen en wie weet wat anders, lijkt een weerstation te zijn een nuttige en noodzake
Lange afstand, 1.8 km, Arduino Arduino draadloze mededeling met de HC-12.

Lange afstand, 1.8 km, Arduino Arduino draadloze mededeling met de HC-12.

In dit instructable leert u hoe te communiceren tussen Arduinos over een lange afstand tot 1,8 km in open lucht.De HC-12 is een draadloze seriële communicatiemodule die is zeer nuttig, uiterst krachtige en makkelijk te gebruiken.Eerst leert u hoe een
Arduino draadloze (433MHz) tijdcontrole schakelaar voor meerdere apparaten

Arduino draadloze (433MHz) tijdcontrole schakelaar voor meerdere apparaten

Ik schreef dit instructable omdat ik onlangs gemaakt van een soortgelijk project en dacht dat het zou leuk om te schrijven mijn werk en delen met anderen.Wat we willen bereiken met dit instructable, is draadloos beheersing van meerdere apparaten (lic
Arduino draadloze postbus Detector apparaat

Arduino draadloze postbus Detector apparaat

Als u om het even wat als me bent, uitkijken u naar de mailbox aankomen als een kind nerveus te wachten voor zijn presenteert op kerstavond. Aangezien de tijd die mijn mailbox aankomt niet altijd consistent is, controleerde ik mijn e-mail meerdere ma
Arduino draadloze Animatronic Hand

Arduino draadloze Animatronic Hand

BTW!!! Dit instructable is awsomeeeeeeDit is een zeer eenvoudig, maar op hetzelfde moment een moeilijk project afhankelijk van uw vaardigheidsniveau. Laat krijgen gebouw!Wat dit is, is een draadloze animatronic hand die heeft geen behoefte aan een co
Arduino draadloze SD Shield Tutorial

Arduino draadloze SD Shield Tutorial

zoals de naam al impliceert, het schild van de Arduino Wireless SD heeft twee functies. Bovenal kunt dit schild u gemakkelijk interface met Xbee transceiver modules maken mesh netwerken en andere draadloze apparaten. Ten tweede, de micro SD-aansluiti
ARDUINO draadloze HOME SECURITY SYSTEM

ARDUINO draadloze HOME SECURITY SYSTEM

In dit project zal ik bespreken hoe kun je een goedkope draadloze home security system. Hoewel tijdens het starten van dit project het hoofddoel was alleen voor beveiliging alarm, maar later vond ik dat dit apparaat kan worden gebruikt voor het oplos
Arduino draadloze seriële communicatie

Arduino draadloze seriële communicatie

er zijn vele manieren om te communiceren met externe Arduinos. Ik heb geconstateerd dat velen van hen een iets hogere prijspunt raakte dan wat ik zou willen. Ook verbruiken ethernet shields (en wifi dito?) veel waardevolle hardware pinnen. Ik zal bes