ESP8266 (ESP-12E) based `Wall Segment Clock`

Vladimir N. Shilov 11dcddcd21 Расписал немного мыслей... há 9 anos atrás
app 3e82c993ab Исправил, теперь компилиться há 9 anos atrás
include be5f567780 Дабавил MAX7219, сделал вывод времени há 9 anos atrás
sch 1098a4b649 Добавил схему há 9 anos atrás
web bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás
.cproject bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás
.gitignore bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás
.project bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás
Makefile bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás
Makefile-user.mk bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás
README.md 11dcddcd21 Расписал немного мыслей... há 9 anos atrás
dump.bat bc7849c4fe Иницилизация проекта. Перенёс из теста. há 9 anos atrás

README.md

простые часы на базе ESP8266 ESP-12e

Вдохновил пост на хабре "Бескнопочные часы" http://geektimes.ru/post/267718/

но, хочу немного по своему:

  • заказл с али 5 штук синих индикаторов с ОК высотой 1.8" это для отображения времени, даты
  • купил на вороне 3 штуки белых с ОК 0.56" это для отображения температуры, влажности, дня недели
  • думаю поставить фоторозистор и регулировать яркость в зависимости от освещённости.
  • вывод надумал делать динамический, на MAX7219, поэтому индикаторы с ОК
  • дошло, что невыгорит управлять большими индикатороми этой мс. пришлось лепить транзисторы - "вечер перестаёт быть томным".
  • индикаторы 1.8" вроде как бывают на 9 вольт и на 6.5, жду пока приедут.
  • где-то кто-то писал, что у него MAX7219 нормально управляет большими индикаторами (1.8 или 2.3"), вобщем жду что приедет.

на 31.12.2015 всё.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Wall Segment Clock

После двух дней ебли с nodemcu решил для своего проектика остановится на Sming. за основу взял проект "MeteoControl", выкинул I2C LCD Display, добавил обновление сайта из "HttpClient_ThingSpeak", добавил обработку DHT22 из "Humidity_DHT22", хотел добавить FTP сервер -- но оно не влезло. В качестве датчика освещённости можно будет использовать "Light_BH1750", или останется фоторезистор.

"ThingSpeak" планирую заменить на что-то своё, на своём сервере, что ещё предстоит придумать и реализовать. Возиожно это будет не HTTP а что-то на основе UDP (клиент/сервер).

Осталось добавить поддержку для MAX7221 и сделать вывод на индикаторы... Возможно, по ходу дела придётся что-то выкидывать, чтобы влезло нужное.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

out/firmware/spiff_rom.bin---------->0x4C000

FTP не влезло на 1594 байта :-(

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- WebTime занимает слегка меньше места чем NTPclient.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 2016.01.29

Прикрутил поддержку max7219 с программным spi. Сделал вывод времени -- пора проверять в железе.

Нужно придумать как выводить всё остальное -- дату, показания датчиков. Как считать дни недели, как определять переход на зимнее/летнее время? Как взаимодействовать с внешним миром -- оставлять вебсервер, или переходить на UDP сервер/клиент?

по поводу дня недели:

https://ru.wikibooks.org/wiki/Реализации_алгоритмов/Вечный_календарь

struct struct_date {

short day;
short month;
short year;

};

int what_day(const struct struct_date const date) {

int a = (14 - date->month) / 12;
int y = date->year - a;
int m = date->month + 12 * a - 2;
return (7000 + (date->day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12)) % 7;

}

Пример вывода: каждые 25-29 и 55-59 секунд на верхние индикаторы выводить дату, а на нижние день недели. (01 29 / ПОН ВРН СРЕ ЧРГ ПНА СУБ ВОС) в остальное время на нижних чережовать каждые 5 сек темп/влажность (XXc/XXh). делать мжно с помощью таймеров и однократного запуска. нужно разрисовать подобие КА.