Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface NTPClient mbed-rtos mbed
Fork of Internet_LCD_Clock by
Internet_LCD_Clock.cpp@2:ec0b6a5ccef7, 2017-04-07 (annotated)
- Committer:
- jerryzj
- Date:
- Fri Apr 07 14:11:00 2017 +0000
- Revision:
- 2:ec0b6a5ccef7
- Parent:
- 1:09fcc9b81f23
get internet time
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| 4180_1 | 0:5c5226aac712 | 1 | #include "mbed.h" |
| jerryzj | 2:ec0b6a5ccef7 | 2 | #include "EthernetInterface.h" |
| 4180_1 | 0:5c5226aac712 | 3 | #include "NTPClient.h" |
| jerryzj | 2:ec0b6a5ccef7 | 4 | |
| jerryzj | 2:ec0b6a5ccef7 | 5 | DigitalIn Switch(SW2); |
| 4180_1 | 0:5c5226aac712 | 6 | // Internet of Things clock example: LCD time is set via internet NTP time server |
| jerryzj | 2:ec0b6a5ccef7 | 7 | EthernetInterface eth; |
| 4180_1 | 0:5c5226aac712 | 8 | NTPClient ntp; |
| 4180_1 | 0:5c5226aac712 | 9 | |
| 4180_1 | 0:5c5226aac712 | 10 | int main() { |
| jerryzj | 2:ec0b6a5ccef7 | 11 | //system time structure |
| 4180_1 | 0:5c5226aac712 | 12 | time_t ctTime; |
| jerryzj | 2:ec0b6a5ccef7 | 13 | |
| 4180_1 | 0:5c5226aac712 | 14 | // lcd.printf prints to LCD display; |
| jerryzj | 2:ec0b6a5ccef7 | 15 | printf("Get IP addr...\r\n"); |
| jerryzj | 2:ec0b6a5ccef7 | 16 | eth.init(); //Use DHCP |
| jerryzj | 2:ec0b6a5ccef7 | 17 | eth.connect(); |
| jerryzj | 2:ec0b6a5ccef7 | 18 | printf("IP Address-a is %s\r\n", eth.getIPAddress()); |
| jerryzj | 2:ec0b6a5ccef7 | 19 | printf("Reading Time...\r\n"); |
| 4180_1 | 0:5c5226aac712 | 20 | //specify time server URL |
| jerryzj | 2:ec0b6a5ccef7 | 21 | TCPSocketConnection sock; |
| jerryzj | 2:ec0b6a5ccef7 | 22 | sock.connect("tock.stdtime.gov.tw", 123); |
| 4180_1 | 0:5c5226aac712 | 23 | //Read time from server |
| jerryzj | 2:ec0b6a5ccef7 | 24 | ntp.setTime("tock.stdtime.gov.tw"); |
| jerryzj | 2:ec0b6a5ccef7 | 25 | printf("Time set\n"); |
| 4180_1 | 0:5c5226aac712 | 26 | //Delay for human time to read LCD display |
| 4180_1 | 0:5c5226aac712 | 27 | wait(1); |
| 4180_1 | 0:5c5226aac712 | 28 | while (1) { |
| jerryzj | 2:ec0b6a5ccef7 | 29 | if(Switch==0){ |
| jerryzj | 2:ec0b6a5ccef7 | 30 | // loop and periodically update the LCD's time display |
| jerryzj | 2:ec0b6a5ccef7 | 31 | ctTime = time(NULL); |
| jerryzj | 2:ec0b6a5ccef7 | 32 | printf("UTC: %s\r\n", ctime(&ctTime)); |
| jerryzj | 2:ec0b6a5ccef7 | 33 | wait(.25); |
| jerryzj | 2:ec0b6a5ccef7 | 34 | } |
| 4180_1 | 0:5c5226aac712 | 35 | } |
| 4180_1 | 0:5c5226aac712 | 36 | } |
