Difference between revisions of "Arduino: Ethernet UDP Send isi Analog Input 0 ke Graphite di Server Timing dengan RTC DS1302"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) (→Code) |
Onnowpurbo (talk | contribs) (→Code) |
||
Line 5: | Line 5: | ||
UDPSendAnalogInput: | UDPSendAnalogInput: | ||
− | Kirim pakai UDP ke 192.168.0.100: | + | Kirim pakai UDP ke 192.168.0.100:2003 |
Format | Format | ||
test.data analogdata unixtime | test.data analogdata unixtime | ||
− | Sinkronisasi waktu menggunakan DS1302 | + | Sinkronisasi waktu menggunakan DS1302 |
created 27 Feb 2016 | created 27 Feb 2016 | ||
Line 31: | Line 31: | ||
}; | }; | ||
IPAddress ip(192, 168, 0, 4); | IPAddress ip(192, 168, 0, 4); | ||
− | unsigned int localPort = 8888; // local port to listen on | + | unsigned int localPort = 8888; // local port to listen on |
// Kirim ke graphite carbon cache di 192.168.0.100:2003 melalui UDP | // Kirim ke graphite carbon cache di 192.168.0.100:2003 melalui UDP | ||
Line 47: | Line 47: | ||
rtc.writeProtect(false); | rtc.writeProtect(false); | ||
rtc.halt(false); | rtc.halt(false); | ||
+ | // The following lines can be commented out to use the values already stored in the DS1302 | ||
+ | // rtc.setDOW(TUESDAY); // Set Day-of-Week to MONDAY | ||
+ | // rtc.setTime(8,44,0); // Set the time to 08:00:00 (24hr format) | ||
+ | // rtc.setDate(1,3,2016); // Set the date to Mar 1, 2016 | ||
+ | |||
Time t = rtc.getTime(); | Time t = rtc.getTime(); | ||
setTime(t.hour,t.min,t.sec,t.date,t.mon,t.year); | setTime(t.hour,t.min,t.sec,t.date,t.mon,t.year); | ||
Line 52: | Line 57: | ||
void loop() { | void loop() { | ||
+ | // Time t = rtc.getTime(); | ||
+ | // time_t tm = now(); | ||
Udp.beginPacket(remoteIP, remotePort); | Udp.beginPacket(remoteIP, remotePort); | ||
int sensorReading = analogRead(0); | int sensorReading = analogRead(0); | ||
− | Udp.write("test. | + | Udp.write("test.ds1302 "); |
Udp.print(sensorReading); | Udp.print(sensorReading); | ||
Udp.write(" "); | Udp.write(" "); | ||
Udp.println(now()); | Udp.println(now()); | ||
− | + | ||
− | Serial.write("test. | + | Serial.write("test.ds1302 "); |
Serial.print(sensorReading); | Serial.print(sensorReading); | ||
Serial.write(" "); | Serial.write(" "); | ||
Serial.println(now()); | Serial.println(now()); | ||
Udp.endPacket(); | Udp.endPacket(); | ||
− | delay( | + | delay(100); |
} | } |
Latest revision as of 15:52, 3 March 2016
Code
/* UDPSendAnalogInput: Kirim pakai UDP ke 192.168.0.100:2003 Format test.data analogdata unixtime Sinkronisasi waktu menggunakan DS1302 created 27 Feb 2016 by Onno W. Purbo */ #include <SPI.h> // needed for Arduino versions later than 0018 #include <Ethernet.h> #include <EthernetUdp.h> // UDP library from: bjoern@cs.stanford.edu 12/30/2008 #include <stdio.h> #include <Time.h> #include <DS1302.h> // Create a DS1302 object. DS1302 rtc(8, 7, 6); // MAC & IP address Arduino byte mac[] = { 0x02, 0xCA, 0xFF, 0xEE, 0xBA, 0xBE }; IPAddress ip(192, 168, 0, 4); unsigned int localPort = 8888; // local port to listen on // Kirim ke graphite carbon cache di 192.168.0.100:2003 melalui UDP EthernetUDP Udp; IPAddress remoteIP(192,168,0,100); unsigned int remotePort = 2003; void setup() { // start the Ethernet and UDP: Ethernet.begin(mac, ip); Udp.begin(localPort); Serial.begin(9600); // Inisialisasi waktu dari DS1302 rtc.writeProtect(false); rtc.halt(false); // The following lines can be commented out to use the values already stored in the DS1302 // rtc.setDOW(TUESDAY); // Set Day-of-Week to MONDAY // rtc.setTime(8,44,0); // Set the time to 08:00:00 (24hr format) // rtc.setDate(1,3,2016); // Set the date to Mar 1, 2016 Time t = rtc.getTime(); setTime(t.hour,t.min,t.sec,t.date,t.mon,t.year); } void loop() { // Time t = rtc.getTime(); // time_t tm = now(); Udp.beginPacket(remoteIP, remotePort); int sensorReading = analogRead(0); Udp.write("test.ds1302 "); Udp.print(sensorReading); Udp.write(" "); Udp.println(now()); Serial.write("test.ds1302 "); Serial.print(sensorReading); Serial.write(" "); Serial.println(now()); Udp.endPacket(); delay(100); }