Fetch Current UTC Date and Time from NTP (Network Time Protocol)

Dependencies:   C12832_lcd EthernetInterface NTPClient mbed-rtos mbed

Committer:
dwijaybane
Date:
Tue Oct 06 10:38:36 2015 +0000
Revision:
0:0d3b3b9fd82e
Child:
1:039c06964ad9
NTPClient example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dwijaybane 0:0d3b3b9fd82e 1 #include "mbed.h"
dwijaybane 0:0d3b3b9fd82e 2 #include "EthernetInterface.h"
dwijaybane 0:0d3b3b9fd82e 3 #include "NTPClient.h"
dwijaybane 0:0d3b3b9fd82e 4 #include "C12832_lcd.h"
dwijaybane 0:0d3b3b9fd82e 5
dwijaybane 0:0d3b3b9fd82e 6 C12832_LCD lcd; //Graphics LCD
dwijaybane 0:0d3b3b9fd82e 7 EthernetInterface eth;
dwijaybane 0:0d3b3b9fd82e 8 NTPClient ntp;
dwijaybane 0:0d3b3b9fd82e 9
dwijaybane 0:0d3b3b9fd82e 10 static const char* mbedIp = "192.168.0.160"; //IP
dwijaybane 0:0d3b3b9fd82e 11 static const char* mbedMask = "255.255.255.0"; // Mask
dwijaybane 0:0d3b3b9fd82e 12 static const char* mbedGateway = "192.168.0.254"; //Gateway
dwijaybane 0:0d3b3b9fd82e 13
dwijaybane 0:0d3b3b9fd82e 14 int main()
dwijaybane 0:0d3b3b9fd82e 15 {
dwijaybane 0:0d3b3b9fd82e 16 EthernetInterface eth;
dwijaybane 0:0d3b3b9fd82e 17 eth.init(mbedIp,mbedMask,mbedGateway); //Use these parameters for static IP
dwijaybane 0:0d3b3b9fd82e 18 eth.connect();
dwijaybane 0:0d3b3b9fd82e 19 lcd.printf("Connected! IP Address is %s\n", eth.getIPAddress());
dwijaybane 0:0d3b3b9fd82e 20
dwijaybane 0:0d3b3b9fd82e 21 lcd.cls();
dwijaybane 0:0d3b3b9fd82e 22 lcd.printf("Trying to update time...\r\n");
dwijaybane 0:0d3b3b9fd82e 23 if (ntp.setTime("0.pool.ntp.org") == 0) {
dwijaybane 0:0d3b3b9fd82e 24 lcd.printf("Set time successfully\r\n");
dwijaybane 0:0d3b3b9fd82e 25 while(1) {
dwijaybane 0:0d3b3b9fd82e 26 lcd.cls();
dwijaybane 0:0d3b3b9fd82e 27 lcd.locate(0,0);
dwijaybane 0:0d3b3b9fd82e 28 time_t ctTime;
dwijaybane 0:0d3b3b9fd82e 29 ctTime = time(NULL);
dwijaybane 0:0d3b3b9fd82e 30 lcd.printf("%s\r\n", ctime(&ctTime));
dwijaybane 0:0d3b3b9fd82e 31 lcd.printf("Current Time (UTC)");
dwijaybane 0:0d3b3b9fd82e 32 wait(1);
dwijaybane 0:0d3b3b9fd82e 33 }
dwijaybane 0:0d3b3b9fd82e 34 } else {
dwijaybane 0:0d3b3b9fd82e 35 lcd.printf("NTP Error\r\n");
dwijaybane 0:0d3b3b9fd82e 36 }
dwijaybane 0:0d3b3b9fd82e 37
dwijaybane 0:0d3b3b9fd82e 38 eth.disconnect();
dwijaybane 0:0d3b3b9fd82e 39
dwijaybane 0:0d3b3b9fd82e 40 while(1) {
dwijaybane 0:0d3b3b9fd82e 41 }
dwijaybane 0:0d3b3b9fd82e 42 }