From d88d1746583ad546d482238aede90d7bb82ca392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nathana=C3=ABl=20Restori?= Date: Wed, 12 Sep 2012 21:29:43 +0200 Subject: [PATCH] Some cosmetics --- .../WeatherStationLogger.ino | 13 ++- .../WeatherStationWeb/WeatherStationWeb.ino | 93 +++++++++---------- 2 files changed, 51 insertions(+), 55 deletions(-) diff --git a/arduino/WeatherStationLogger/WeatherStationLogger.ino b/arduino/WeatherStationLogger/WeatherStationLogger.ino index 59f0924..2353216 100644 --- a/arduino/WeatherStationLogger/WeatherStationLogger.ino +++ b/arduino/WeatherStationLogger/WeatherStationLogger.ino @@ -1,24 +1,23 @@ #include #include #include "BMP085.h" +#include "Chronodot.h" #include "DHT.h" #include "TSL2561.h" -#include "Chronodot.h" #define TIMING 1000 // milliseconds #define DHTPIN 2 #define DHTTYPE DHT22 #define SDPIN 4 -BMP085 bmp; -DHT dht(DHTPIN, DHTTYPE); -TSL2561 tsl(TSL2561_ADDR_FLOAT); +BMP085 bmp; +DHT dht(DHTPIN, DHTTYPE); +TSL2561 tsl(TSL2561_ADDR_FLOAT); Chronodot chronodot; -File file; +File file; void setup() { Serial.begin(9600); - pinMode(5, OUTPUT); //----- SD Card Serial.println("INIT SD Card"); @@ -33,9 +32,9 @@ void setup() { Serial.println("INIT Sensors"); bmp.begin(); + chronodot.begin(); dht.begin(); tsl.begin(); - chronodot.begin(); // You can change the gain on the fly, to adapt to brighter/dimmer light situations //tsl.setGain(TSL2561_GAIN_0X); // set no gain (for bright situtations) diff --git a/arduino/WeatherStationWeb/WeatherStationWeb.ino b/arduino/WeatherStationWeb/WeatherStationWeb.ino index db1d37f..81fbcf2 100644 --- a/arduino/WeatherStationWeb/WeatherStationWeb.ino +++ b/arduino/WeatherStationWeb/WeatherStationWeb.ino @@ -1,16 +1,16 @@ #include #include #include -#include "WebServer.h" #include "BMP085.h" +#include "Chronodot.h" #include "DHT.h" #include "TSL2561.h" -#include "Chronodot.h" +#include "WebServer.h" -#define TIMEZONE 7200 // 2 hours -#define DHTPIN 2 -#define DHTTYPE DHT22 -#define PREFIX "" +#define TIMEZONE 7200 // 2 hours +#define DHTPIN 2 +#define DHTTYPE DHT22 +#define PREFIX "" #define NTP_PACKET_SIZE 48 static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; @@ -34,9 +34,9 @@ inline Print &operator <<(Print &obj, T arg) { obj.print(arg); return obj; } BMP085 bmp; +Chronodot chronodot; DHT dht(DHTPIN, DHTTYPE); TSL2561 tsl(TSL2561_ADDR_FLOAT); -Chronodot chronodot; WebServer webserver(PREFIX, 80); byte packetBuffer[ NTP_PACKET_SIZE]; @@ -52,8 +52,6 @@ void sensorsJsonCmd(WebServer &server, WebServer::ConnectionType type, char *url int32_t pressure = bmp.readPressure(); float altitude = bmp.readAltitude(); - float humidity = dht.readHumidity(); - uint32_t lum = tsl.getFullLuminosity(); uint16_t lightIr = lum >> 16; uint16_t lightFull = lum & 0xFFFF; @@ -72,55 +70,54 @@ void sensorsJsonCmd(WebServer &server, WebServer::ConnectionType type, char *url << "] }"; } +// Taken from http://arduino.cc/en/Tutorial/UdpNtpClient . void sendNTPpacket() { - // set all bytes in the buffer to 0 - memset(packetBuffer, 0, NTP_PACKET_SIZE); - // Initialize values needed to form NTP request - // (see URL above for details on the packets) - packetBuffer[0] = 0b11100011; // LI, Version, Mode - packetBuffer[1] = 0; // Stratum, or type of clock - packetBuffer[2] = 6; // Polling Interval - packetBuffer[3] = 0xEC; // Peer Clock Precision - // 8 bytes of zero for Root Delay & Root Dispersion - packetBuffer[12] = 49; - packetBuffer[13] = 0x4E; - packetBuffer[14] = 49; - packetBuffer[15] = 52; + // set all bytes in the buffer to 0 + memset(packetBuffer, 0, NTP_PACKET_SIZE); + // Initialize values needed to form NTP request + // (see URL above for details on the packets) + packetBuffer[0] = 0b11100011; // LI, Version, Mode + packetBuffer[1] = 0; // Stratum, or type of clock + packetBuffer[2] = 6; // Polling Interval + packetBuffer[3] = 0xEC; // Peer Clock Precision + // 8 bytes of zero for Root Delay & Root Dispersion + packetBuffer[12] = 49; + packetBuffer[13] = 0x4E; + packetBuffer[14] = 49; + packetBuffer[15] = 52; - // all NTP fields have been given values, now - // you can send a packet requesting a timestamp: - Udp.beginPacket(timeserver, 123); //NTP requests are to port 123 - Udp.write(packetBuffer,NTP_PACKET_SIZE); - Udp.endPacket(); - Serial.println("Sending ntp packet"); + // all NTP fields have been given values, now + // you can send a packet requesting a timestamp: + Udp.beginPacket(timeserver, 123); //NTP requests are to port 123 + Udp.write(packetBuffer,NTP_PACKET_SIZE); + Udp.endPacket(); + Serial.println("Sending ntp packet"); - delay(1000); - if ( Udp.parsePacket() ) { - // We've received a packet, read the data from it - Udp.read(packetBuffer,NTP_PACKET_SIZE); // read the packet into the buffer + delay(1000); + if ( Udp.parsePacket() ) { + // We've received a packet, read the data from it + Udp.read(packetBuffer,NTP_PACKET_SIZE); // read the packet into the buffer - //the timestamp starts at byte 40 of the received packet and is four bytes, - // or two words, long. First, esxtract the two words: + //the timestamp starts at byte 40 of the received packet and is four bytes, + // or two words, long. First, esxtract the two words: - unsigned long highWord = word(packetBuffer[40], packetBuffer[41]); - unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]); - // combine the four bytes (two words) into a long integer - // this is NTP time (seconds since Jan 1 1900): - unsigned long secsSince1900 = highWord << 16 | lowWord; - // Unix time starts on Jan 1 1970. In seconds, that's 2208988800: - const unsigned long seventyYears = 2208988800UL; - // subtract seventy years: - unsigned long epoch = secsSince1900 - seventyYears + TIMEZONE; + unsigned long highWord = word(packetBuffer[40], packetBuffer[41]); + unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]); + // combine the four bytes (two words) into a long integer + // this is NTP time (seconds since Jan 1 1900): + unsigned long secsSince1900 = highWord << 16 | lowWord; + // Unix time starts on Jan 1 1970. In seconds, that's 2208988800: + const unsigned long seventyYears = 2208988800UL; + // subtract seventy years: + unsigned long epoch = secsSince1900 - seventyYears + TIMEZONE; - Serial.println("Adjusting time"); - chronodot.adjust(DateTime(epoch)); - } + Serial.println("Adjusting time"); + chronodot.adjust(DateTime(epoch)); + } } void setup() { Serial.begin(9600); - pinMode(5, OUTPUT); - SPI.begin(); //----- Ethernet/WebServer Serial.println("INIT Ethernet");