MBED clock sync using NTP Server from from internet

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Fork of MbedClock by Andrew Duda

Committer:
ismaia
Date:
Thu Feb 11 13:28:37 2016 +0000
Revision:
10:d9ed3d95e5eb
Parent:
8:9693d69ec483
Child:
11:4d4334d909d3
Working, green led blinking

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dudanian 0:4e6ae21cbd31 1 #include "mbed.h"
dudanian 0:4e6ae21cbd31 2 #include "rtos.h"
dudanian 0:4e6ae21cbd31 3 #include "EthernetInterface.h"
ismaia 7:0a56268d858c 4 #include "NTPClient.h"
dudanian 0:4e6ae21cbd31 5 #include <string>
dudanian 1:c47a2f0816bb 6
dudanian 0:4e6ae21cbd31 7
ismaia 8:9693d69ec483 8 EthernetInterface eth;
dudanian 2:c939d0501184 9 TCPSocketConnection server;
ismaia 8:9693d69ec483 10 NTPClient ntp;
ismaia 10:d9ed3d95e5eb 11 DigitalOut myled(LED2);
ismaia 8:9693d69ec483 12 time_t ctTime;
ismaia 7:0a56268d858c 13
dudanian 0:4e6ae21cbd31 14
ismaia 7:0a56268d858c 15 int main() {
ismaia 8:9693d69ec483 16 printf("Setting up ethernet interface...\r\n");
ismaia 8:9693d69ec483 17 if (eth.init() == 0 ) { //Use DHCP
ismaia 8:9693d69ec483 18 printf("Ethernet setup OK\r\n");
ismaia 8:9693d69ec483 19 }else {
ismaia 8:9693d69ec483 20 printf("Error: cannot set ethernet interface\r\n");
ismaia 8:9693d69ec483 21 return 1;
ismaia 8:9693d69ec483 22 }
ismaia 8:9693d69ec483 23
ismaia 8:9693d69ec483 24 printf("Trying to connect...\r\n");
ismaia 8:9693d69ec483 25 wait(0.5);
ismaia 8:9693d69ec483 26 if ( eth.connect(30000) == 0 ){
ismaia 8:9693d69ec483 27 printf("IP Address is %s\n", eth.getIPAddress());
ismaia 8:9693d69ec483 28 }else {
ismaia 8:9693d69ec483 29 printf("Error: cannot set ethernet interface\r\n");
ismaia 8:9693d69ec483 30 return 1;
ismaia 8:9693d69ec483 31 }
ismaia 8:9693d69ec483 32
ismaia 7:0a56268d858c 33 printf("Trying to update time...\r\n");
ismaia 8:9693d69ec483 34 if (ntp.setTime("0.fr.pool.ntp.org") == 0)
ismaia 7:0a56268d858c 35 {
ismaia 8:9693d69ec483 36 printf("Set time successfully\r\n");
ismaia 7:0a56268d858c 37 }
ismaia 7:0a56268d858c 38 else
ismaia 7:0a56268d858c 39 {
ismaia 8:9693d69ec483 40 printf("Error: Cannot set time\r\n");
ismaia 7:0a56268d858c 41 }
ismaia 7:0a56268d858c 42 eth.disconnect();
ismaia 8:9693d69ec483 43 ctTime = time(NULL);
ismaia 7:0a56268d858c 44 while(1) {
ismaia 7:0a56268d858c 45 myled = 1;
ismaia 7:0a56268d858c 46 wait(1);
ismaia 7:0a56268d858c 47 myled = 0;
ismaia 7:0a56268d858c 48 wait(1);
ismaia 7:0a56268d858c 49 printf("Current time is: %s\r\n", ctime(&ctTime));
dudanian 0:4e6ae21cbd31 50 }
dudanian 0:4e6ae21cbd31 51 }