Browse Source

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

pull/1/head
Vladimir Smagin 6 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 () {

String NTPClient::getTimeStr (time_t moment) {
char timeStr[10];
sprintf (timeStr, "%02d:%02d:%02d", hour (moment), minute (moment), second (moment));
sprintf (timeStr, "%02d:%02d", hour (moment), minute (moment));

return timeStr;
}

String NTPClient::getDateStr (time_t moment) {
char dateStr[12];
sprintf (dateStr, "/ %02d-%02d", day (moment), month (moment), year (moment));
sprintf (dateStr, " %02d-%02d", day (moment), month (moment), year (moment));

return dateStr;
}

+ 10
- 3
readme.md View File

@@ -1,7 +1,14 @@
# NTP driven clock on ESP8266 and TM1640
# NTP часы ESP8266 и TM1640 для Томска

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.
Переименуйте `wifi.h.sample` в `wifi.h`, при необходимости измените NTP
сервер на ваш локальный, временную зону трогать не нужно, мы же в Томске :).
Легко переделывается под ESP-01, т.к. нужно всего 2 вывода для данных,
можно уменьшить размер часов и их стоимость при совмещении с миниатюрным
блоком питания по типу такого [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),
ему с обратной стороны легко допаивается LM1117-3.3 чтобы получить 3.3 вольта.

ВНИМАНИЕ! НЕ ПОДКЛЮЧАЙТЕ ИНДИКАТОР К 5 ВОЛЬТАМ! Резисторы на CLK и DATA подтянуты к питанию!

Result:

![](IMG_20190204_025627_HDR-01.jpg)
![](IMG_20190204_160252_HDR-01.jpg)

+ 16
- 5
tm1640-ntp.ino View File

@@ -19,6 +19,8 @@ LM1640Display display(CLK, DIO);
static const int8_t timeZone = 7;
bool wifiFirstConnected = false;
bool ntp_online = false;
String outside_termo = "00";


void onSTAConnected (WiFiEventStationModeConnected ipInfo) {
Serial.printf ("Connected to %s\r\n", ipInfo.ssid.c_str ());
@@ -56,6 +58,14 @@ void processSyncEvent(NTPSyncEvent_t ntpEvent) {
Serial.print("Got NTP time: ");
ntp_online = true;
Serial.println(NTP.getTimeDateString(NTP.getLastNTPSync()));
HTTPClient http;
http.begin("http://termo.tomsk.ru/data.txt");
int httpCode = http.GET();
if (httpCode > 0) {
if (httpCode == HTTP_CODE_OK) {
outside_termo = http.getString();
}
}
}
}

@@ -91,9 +101,9 @@ void starting() {
NTP.setInterval(10, 600);

display.clear();
//Serial.println("Starting NTP client");
while (ntp_online == false) {
if (syncEventTriggered) {
processSyncEvent (ntpEvent);
@@ -118,7 +128,7 @@ void starting() {

char timebuff[17];

void loop() {
void loop() {
if (ntp_online == true) {
if (syncEventTriggered) {
processSyncEvent (ntpEvent);
@@ -126,11 +136,12 @@ void loop() {
}

String timestamp = NTP.getTimeDateString();
String result = timestamp + " " + outside_termo;

//Serial.print(timestamp + "\n");

timestamp.toCharArray(timebuff, 17);
result.toCharArray(timebuff, 17);
display.showString( timebuff );

delay(1000);

Loading…
Cancel
Save