Arduino: Ethernet UDP Send isi Analog Input 0 ke Graphite di Server Timing dengan RTC DS1302
Jump to navigation
Jump to search
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); }