Browse Source

Температурный патч для Томска

pull/1/head
Vladimir Smagin 2 months ago
parent
commit
a2ab9e4ac0
5 changed files with 28 additions and 10 deletions
  1. BIN
      IMG_20190204_025627_HDR-01.jpg
  2. BIN
      IMG_20190204_160252_HDR-01.jpg
  3. 2
    2
      NTPClientLib.cpp
  4. 10
    3
      readme.md
  5. 16
    5
      tm1640-ntp.ino

BIN
IMG_20190204_025627_HDR-01.jpg View File


BIN
IMG_20190204_160252_HDR-01.jpg View File


+ 2
- 2
NTPClientLib.cpp View File

@@ -281,14 +281,14 @@ bool NTPClient::getDayLight () {
281 281
 
282 282
 String NTPClient::getTimeStr (time_t moment) {
283 283
     char timeStr[10];
284
-    sprintf (timeStr, "%02d:%02d:%02d", hour (moment), minute (moment), second (moment));
284
+    sprintf (timeStr, "%02d:%02d", hour (moment), minute (moment));
285 285
 
286 286
     return timeStr;
287 287
 }
288 288
 
289 289
 String NTPClient::getDateStr (time_t moment) {
290 290
     char dateStr[12];
291
-    sprintf (dateStr, "/ %02d-%02d", day (moment), month (moment), year (moment));
291
+    sprintf (dateStr, " %02d-%02d", day (moment), month (moment), year (moment));
292 292
 
293 293
     return dateStr;
294 294
 }

+ 10
- 3
readme.md View File

@@ -1,7 +1,14 @@
1
-# NTP driven clock on ESP8266 and TM1640
1
+# NTP часы ESP8266 и TM1640 для Томска
2 2
 
3
-Rename `wifi.h.sample` to `wifi.h`, change NTP server to nearest to you, set timezone shift. You can easily use ESP-01 module to lower final price and device size.
3
+Переименуйте `wifi.h.sample` в `wifi.h`, при необходимости измените NTP 
4
+сервер на ваш локальный, временную зону трогать не нужно, мы же в Томске :). 
5
+Легко переделывается под ESP-01, т.к. нужно всего 2 вывода для данных, 
6
+можно уменьшить размер часов и их стоимость при совмещении с миниатюрным 
7
+блоком питания по типу такого [5V 700mA](https://ru.aliexpress.com/item/5V-700mA-3-5W-isolated-switch-power-supply-module-for-Arduino-AC-DC-buck-step-down/32809198141.html), 
8
+ему с обратной стороны легко допаивается LM1117-3.3 чтобы получить 3.3 вольта. 
9
+
10
+ВНИМАНИЕ! НЕ ПОДКЛЮЧАЙТЕ ИНДИКАТОР К 5 ВОЛЬТАМ! Резисторы на CLK и DATA подтянуты к питанию!
4 11
 
5 12
 Result: 
6 13
 
7
-![](IMG_20190204_025627_HDR-01.jpg)
14
+![](IMG_20190204_160252_HDR-01.jpg)

+ 16
- 5
tm1640-ntp.ino View File

@@ -19,6 +19,8 @@ LM1640Display display(CLK, DIO);
19 19
 static const int8_t timeZone = 7;
20 20
 bool wifiFirstConnected = false;
21 21
 bool ntp_online = false;
22
+String outside_termo = "00";
23
+
22 24
 
23 25
 void onSTAConnected (WiFiEventStationModeConnected ipInfo) {
24 26
   Serial.printf ("Connected to %s\r\n", ipInfo.ssid.c_str ());
@@ -56,6 +58,14 @@ void processSyncEvent(NTPSyncEvent_t ntpEvent) {
56 58
     Serial.print("Got NTP time: ");
57 59
     ntp_online = true;
58 60
     Serial.println(NTP.getTimeDateString(NTP.getLastNTPSync()));
61
+    HTTPClient http;
62
+    http.begin("http://termo.tomsk.ru/data.txt");
63
+    int httpCode = http.GET();
64
+    if (httpCode > 0) {
65
+      if (httpCode == HTTP_CODE_OK) {
66
+        outside_termo = http.getString();
67
+      }
68
+    }
59 69
   }
60 70
 }
61 71
 
@@ -91,9 +101,9 @@ void starting() {
91 101
   NTP.setInterval(10, 600);
92 102
 
93 103
   display.clear();
94
- 
104
+
95 105
   //Serial.println("Starting NTP client");
96
-  
106
+
97 107
   while (ntp_online == false) {
98 108
     if (syncEventTriggered) {
99 109
       processSyncEvent (ntpEvent);
@@ -118,7 +128,7 @@ void starting() {
118 128
 
119 129
 char timebuff[17];
120 130
 
121
-void loop() {  
131
+void loop() {
122 132
   if (ntp_online == true) {
123 133
     if (syncEventTriggered) {
124 134
       processSyncEvent (ntpEvent);
@@ -126,11 +136,12 @@ void loop() {
126 136
     }
127 137
 
128 138
     String timestamp = NTP.getTimeDateString();
139
+    String result = timestamp + " " + outside_termo;
129 140
 
130 141
     //Serial.print(timestamp + "\n");
131 142
 
132
-    timestamp.toCharArray(timebuff, 17);
133
-    
143
+    result.toCharArray(timebuff, 17);
144
+
134 145
     display.showString( timebuff );
135 146
 
136 147
     delay(1000);

Loading…
Cancel
Save