Explorar o código

Расписал немного мыслей...

Vladimir N. Shilov %!s(int64=9) %!d(string=hai) anos
pai
achega
11dcddcd21
Modificáronse 1 ficheiros con 71 adicións e 14 borrados
  1. 71 14
      README.md

+ 71 - 14
README.md

@@ -1,26 +1,83 @@
+простые часы на базе 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",  
- .
+После двух дней ебли с nodemcu решил для своего проектика остановится на Sming.
+за основу взял проект "MeteoControl", выкинул I2C LCD Display, добавил 
+обновление сайта из "HttpClient_ThingSpeak", добавил обработку DHT22 из 
+"Humidity_DHT22", хотел добавить FTP сервер -- но оно не влезло.
+В качестве датчика освещённости можно будет использовать "Light_BH1750", или 
+останется фоторезистор.
 
-"ThingSpeak"    - ,   ,   
-   .     HTTP  -  
- UDP (/).
+"ThingSpeak" планирую заменить на что-то своё, на своём сервере, что ещё 
+предстоит придумать и реализовать. Возиожно это будет не HTTP а что-то на 
+основе UDP (клиент/сервер).
 
-    MAX7221     ...
-,     - ,   .
+Осталось добавить поддержку для MAX7221 и сделать вывод на индикаторы...
+Возможно, по ходу дела придётся что-то выкидывать, чтобы влезло нужное.
 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
 out/firmware/spiff_rom.bin---------->0x4C000
 
-FTP    1594  :-(
+FTP не влезло на 1594 байта :-(
 
-    .
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+WebTime занимает слегка меньше места чем NTPclient.
 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-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).
+делать мжно с помощью таймеров и однократного запуска.
+нужно разрисовать подобие КА.