LPC1768_AppBoard_Internet_LCD_Clock

Dependencies:   C12832_lcd DNSResolver EthernetNetIf NTPClientMin mbed

Fork of Internet_LCD_Clock by jim hamblen

Committer:
joinamruta
Date:
Thu Feb 13 10:16:34 2014 +0000
Revision:
3:8d177b351165
Parent:
2:e018257b953a
ChangedName;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joinamruta 2:e018257b953a 1 #include "mbed.h"
joinamruta 2:e018257b953a 2 #include "EthernetNetIf.h"
joinamruta 2:e018257b953a 3 #include "NTPClient.h"
joinamruta 2:e018257b953a 4 #include "C12832_lcd.h"
joinamruta 2:e018257b953a 5
joinamruta 2:e018257b953a 6 // Internet of Things clock example: LCD time is set via internet NTP time server
joinamruta 2:e018257b953a 7
joinamruta 2:e018257b953a 8 EthernetNetIf eth;
joinamruta 2:e018257b953a 9 NTPClient ntp;
joinamruta 2:e018257b953a 10 C12832_LCD lcd;
joinamruta 2:e018257b953a 11
joinamruta 2:e018257b953a 12 int main() {
joinamruta 2:e018257b953a 13 //system time structure
joinamruta 2:e018257b953a 14 time_t ctTime;
joinamruta 2:e018257b953a 15 //clear LCD
joinamruta 2:e018257b953a 16 lcd.cls();
joinamruta 2:e018257b953a 17 lcd.locate(0,0);
joinamruta 2:e018257b953a 18 // lcd.printf prints to LCD display;
joinamruta 2:e018257b953a 19 lcd.printf("Get IP addr...");
joinamruta 2:e018257b953a 20 EthernetErr ethErr = eth.setup();
joinamruta 2:e018257b953a 21 //Get an Internet IP address using DHCP
joinamruta 2:e018257b953a 22 if (ethErr) {
joinamruta 2:e018257b953a 23 //error or timeout getting an IP address
joinamruta 2:e018257b953a 24 lcd.cls();
joinamruta 2:e018257b953a 25 lcd.printf("Network Error \n\r %d",ethErr);
joinamruta 2:e018257b953a 26 return -1;
joinamruta 2:e018257b953a 27 }
joinamruta 2:e018257b953a 28 lcd.cls();
joinamruta 2:e018257b953a 29 lcd.locate(0,0);
joinamruta 2:e018257b953a 30 lcd.printf("Reading Time...\n\r");
joinamruta 2:e018257b953a 31 //specify time server URL
joinamruta 2:e018257b953a 32 Host server(IpAddr(), 123, "0.us.pool.ntp.org");
joinamruta 2:e018257b953a 33 //Read time from server
joinamruta 2:e018257b953a 34 ntp.setTime(server);
joinamruta 2:e018257b953a 35 lcd.cls();
joinamruta 2:e018257b953a 36 lcd.locate(0,0);
joinamruta 2:e018257b953a 37 lcd.printf("Time set");
joinamruta 2:e018257b953a 38 //Delay for human time to read LCD display
joinamruta 2:e018257b953a 39 wait(1);
joinamruta 2:e018257b953a 40 while (1) {
joinamruta 2:e018257b953a 41 // loop and periodically update the LCD's time display
joinamruta 2:e018257b953a 42 lcd.cls();
joinamruta 2:e018257b953a 43 lcd.locate(0,0);
joinamruta 2:e018257b953a 44 ctTime = time(NULL);
joinamruta 2:e018257b953a 45 lcd.printf("UTC: %s", ctime(&ctTime));
joinamruta 2:e018257b953a 46 wait(.25);
joinamruta 2:e018257b953a 47 }
joinamruta 2:e018257b953a 48 }