ESP, IoT [BigClock] Большие часы на WS2812, ESP8266, Народный мониторинг

Какой вариант датчика используется у вас? Интересно, использует ли кто BME280, как у меня?)

  • BMP280

    Голосов: 26 26.0%
  • BME280

    Голосов: 74 74.0%

  • Всего проголосовало
    100

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
Ещё бы добавить чтобы часы с определенной периодичностью соединялись с сервером времени для корректировки, допустим раз в сутки
GyverNTP; // параметры по умолчанию (gmt 0, период 3600 секунд (1 час))
как бы библиотека сама обновляет время, значение не устанавливал, значит проверяет каждый час.
у себя проблем с синхронизацией не вижу.
UPTime 2+ дня (проводил обновление), проверил время в часах и на сайтах точного времени, погрешность 1 секунда.
 
  • Лойс +1
Реакции: kym13

nick 56

★★✩✩✩✩✩
11 Апр 2024
149
56
у себя проблем с синхронизацией не вижу.
У Вас RTC не подключен, вот и нет проблем. А если RTC , то синхронизация происходит только при перезагрузке. Надо, чтобы синхронизация происходила хотя бы раз в сутки по умолчанию.
 
  • Лойс +1
Реакции: kym13

kym13

★★★✩✩✩✩
14 Ноя 2020
732
122
ASM. Чтобы при синхронизации время в RTC тоже записывалось.
 

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
добавил таймер для перезаписи rtc раз в сутки, может там еще что-то добавлено, исправлено, когда залью на гитхаб будет видно)
 

Вложения

  • Лойс +1
Реакции: kym13

kym13

★★★✩✩✩✩
14 Ноя 2020
732
122
@ASM ,Это я так понимаю от телеграмбота осталось? Ошибку компиляции на нём выдаёт, закоментировал компиляция прошла.
 

Вложения

  • 40.2 KB Просмотры: 15

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@kym13, да, от бота. видно не все удалил, или отменил...
хотя недавно загружал прошивку)
 
  • Лойс +1
Реакции: kym13

kym13

★★★✩✩✩✩
14 Ноя 2020
732
122
@ASM, Сдаётся мне что в последнем коде там не раз в сутки(см.фото) синхронизация RTC, а раз в тысячу суток? Наверное должно быть так: static gh::Timer timerRTC ( 60 * 60 * 24); // Запись времени в RTC?
 

Вложения

  • 38.1 KB Просмотры: 7
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@kym13,
C++:
// указать время. Таймер сам запустится в режиме интервала!
Timer(uint32_t ms, uint32_t seconds = 0, uint32_t minutes = 0, uint32_t hours = 0, uint32_t days = 0)
;
C++:
// В библиотеке предусмотрен удобный таймер, например сделаем обновления каждую секунду

    static gh::Timer tmr(1000);
 

kym13

★★★✩✩✩✩
14 Ноя 2020
732
122
@ASM, Ну то есть всё правильно или нет? Я не программист поэтому и спрашиваю.
 

bort707

★★★★★★✩
21 Сен 2020
3,414
983
Не знаю, что там в таймере, но в строчку
static gh::Timer tmr(1000 * 60 * 60 * 24);
лучше добавить явное указание типа, вот так:

static gh::Timer tmr(1000ul * 60 * 60 * 24);

хотя на ЕСП32 это не является обязательным, но прямо глаз режет
 

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@kym13, ну я показал, что таймер миллисекундный. Теперь достаточно перемножить формулу и сравнить, сколько мс в сутках.

Можно написать целое число, но будет смотреться некрасиво)

@bort707,
static gh::Timer tmr(0, 0, 0, 0, 1);
Так интереснее)
 
  • Лойс +1
Реакции: kym13

kym13

★★★✩✩✩✩
14 Ноя 2020
732
122
@ASM, Погонял прошивку "BigClock_4b" последнюю , прошил ей двое часов одни в кухне другие в зале между ними метров 10-12 и заметил что перестала считываться температура с радиоDS на часах в зале (самых дальних от передатчика)вернее она считывается но как бог на душу положит может раз в день считаться, а может больше. Откатился на прошивку "BigClock_3.5b" (в которой цвета указаны в HTML, а не в HEX ) добавив в неё строки для обновления RTC из последней прошивки все глюки исчезли. У Nick_56 тоже самое перестали считывать температуру после прошивки последнеё версией и тоже именно самые дальние от передатчика часы. Пробовали удлинять антенну располагать её под другим углом, помогает только прошивка на более раннюю версию. Вы когда цвет из HTML в HEX переводили не могли где-нибудь "напортачить"? И ещё открываю WEB обоих часов на вкладке "Часы" на одних секунды отображаются в реальном времени, а на других обновление происходит только если "колесико" тапнешь.
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@kym13, хм, странно, ничего не трогал...
Как нибудь гляну, про что речь, по памяти уже не помню, что там делал)
Если проблема с web, решение одно, удалить и заново добавить устройство.
Тогда и баги пропадут и часы будут работать)
 

kym13

★★★✩✩✩✩
14 Ноя 2020
732
122
@ASM, ...хм, странно, ничего не трогал... Ну как не трогал? вы полностью переписали функцию вывода цвета....Если проблема с web...... В WEB и удалял и добавлял это ничего не меняет.

ПС: Если подключить к соответствующему пину ESP отдельно приёмник(полный собранный на тиньке) то тогда на последней прошивке температуру с внешнего датчика снимает.

@ASM, Нашёл причину по которой ESP выдает ошибку при вводе SSID в WEB по 192.168.4.1. Я установил новый роутер в котором с завода установлено название сети, так вот в названии сети(не обратил внимания сначала) есть пробелы между знаками, если во вкладке "Constants.h" перед прошивкой ввести SSID и пароль то проблем нет, а если поля оставить пустыми то не хочет подключаться в WEB к сети. Одним словом для контроллеров ESP8266 не должно быть в названии сети пробелов, спецсимволов, длинных имен и кирилицы, разделение знаков должно быть только дефисом или нижним подчеркиванием, для ESP32 это не имеет значения. Изменил название сети в роутере, прошил несколько разных плат всё работает и подключается как и должно.
 
Изменено:
  • Лойс +1
Реакции: ASM

MrReD

✩✩✩✩✩✩✩
10 Апр 2024
2
0
Как изменить чередования диодов нет желания припаивать
 

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@MrReD,
C++:
uint8_t digits[] = {

  // определяем символы для отображения
  // код начинается с 0b0, далее идут 7 цифр, каждая цифра это номер фрагмента, 1 - включен, 0- отключен
  // далее указан получающийся символ и порядковый номер в массиве

  0b00111111,  // Символ 0          0
  0b00100001,  // Символ 1          1
  0b01110110,  // Символ 2          2
  0b01110011,  // Символ 3          3
  0b01101001,  // Символ 4          4
  0b01011011,  // Символ 5          5
  0b01011111,  // Символ 6          6
  0b00110001,  // Символ 7          7
  0b01111111,  // Символ 8          8
  0b01111011,  // Символ 9          9
  0b01111000,  // Символ * градус  10
  0b00011110,  // Символ C         11
  0b00000000,  // Без символа      12
  0b01000000,  // Символ -         13
  0b01111100,  // Символ P         14
  0b01111000,  // Символ % из двух частей 15
  0b01000111,  // Символ % из двух частей 16
  0b01111101,  // Символ A         17
  0b01111100   // Символ P         18
};
 

MrReD

✩✩✩✩✩✩✩
10 Апр 2024
2
0
Что то не могу понять вот такая у меня схема1772956374606.png
 

Maxx1200

★✩✩✩✩✩✩
11 Фев 2022
96
19
@MrReD,паяльник в руки это единственный вариант в твоём случаи
 

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@MrReD, откуда такая странная схема?) она же стандартная... Проще перепаять, тогда любую прошивку можно использовать.

п.с. работы то не много, основные сегменты собраны, перекинуть немного проводов.

О, на направление ленты ещё не обратил внимание, работа есть)
 

bort707

★★★★★★✩
21 Сен 2020
3,414
983
вот такая у меня схема
прямо говоря - дурацкая схема. Главный недостаток, что у вас лента перескакивает на соседнюю цифру, не закончив предыдущую. Начинается из середины, сначала идет в одну сторону, потом другую...
Переписать код под эту путаницу можно, но заморочится надо конкретно.
Тыщ за пять готов вам переписать, не меньше. Хотя и пять, наверно, дешево

Если станете перепаивать, делайте так, чтобы:
  • порядок обхода сегментов каждой цифры был одним и тем же
  • цифры шли по порядку, либо слева направо, либо справа налево
 

ASM

★★★★★✩✩
26 Окт 2018
1,933
427
@bort707, проще перепаять как положено. Тогда можно будет использовать любые прошивки.

Хотя, может просто перепаять только data вывод, тогда работы тут намного меньше. Питание и ноль не трогать.
 

bort707

★★★★★★✩
21 Сен 2020
3,414
983
проще перепаять как положено. Тогда можно будет использовать любые прошивки.
Да не, переписать тоже не трудно. Всего-то составить табличку по сегментам - соответвие первого светодиода в номальной прошивке к первому светодиоду в этой схеме. И тоже можно будет использовать любые прошивки.
Короче, @MrReD, пробуйте