Сам не люблю глупые вопросы, но вроде всё вероятное исключил. Может знаете где копать?
Модуль ESP8266 ESP-7. Всё нормально из терминала, и wifi сети видит, режимы переключаются и отвечает без мусора в терминале. СпойлерAT OK AT+CWMODE_CUR? +CWMODE_CUR:3
OK AT+GMR AT version:0.40.0.0(Aug 8 2015 14:45:58) SDK version:1.3.0 Ai-Thinker Technology Co.,Ltd. Build:1.3.0.2 Sep 11 2015 11:48:04 OK AT+RST OK
2nd boot version : 1.4(b1) SPI Speed : 40MHz SPI Mode : DIO SPI Flash Size & Map: 8Mbit(512KB+512KB) jump to run user1 @ 1000
...n't use rtc mem data rl..;dd. Ai-Thinker Technology Co.,Ltd.
ready
Но когда пытаюсь шить из IDE 1.6.5 (порт верный) дает "warning: espcomm_sync failed error: espcomm_open failed". Компиляция проходит успешно. gpio0 ессно на земле, при этом постоянно горит синий светодиод на модуле (не горит без земли на gpio0, мигает в такт общению по usart).
Грешу на адаптер ультрадешёвый usb-usart ch340, хотя лог.уровни на rx/tx 3.3в, проверял. Но может что-то еще?
Вы же с esp общаетесь через этот usb-usart. Если бы какие то проблемы, то точки начало бы рисовать и прервалось. Занят может порт консолью ? Конденсатор по питанию повесьте 100 мкФ хотя бы. Какая схема включения поподробнее? Мало инфы .
_________________ У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Абсолютно точно нет, не занят. Если занять - он пишет не могу открыть порт. Питание достаточное, внешнее. Конденсатор и так стоит, правда 47uF. Схема стандартная - подтяжки на enable, reset, gpio15 на землю, 100нФ по питанию...
Не видит ни одна из программ для прошивки esp-шек, явно что-то не так в моем частном случае. Цеплял другие экземпляры модулей - то же самое.
Буду пробовать без адаптера, поищу комп с ком-портом. Вроде больше нет вариантов
UPD: За сим эксперименты закончены. Перепробовано всё: ArduinoIDE, XTCOM, ESPlorer, ESP8266Flasher, flash download tools. Питание точно как надо, COM-порт, пробовал и ch340(и вариант без светодиодов), стандартный порт ПК с согласователем уровней.
При этом всё стабильно и качественно работает и передача-получение пакетов, и подключение к AP итд. Пригодятся для работы под внешним контроллером, но прошить - никак. Под эти часы буду заказывать другие. Выводы - хитрый дядюшка Ляо прислал модули, которые тупо не входят в режим прошивки. Кстати и выглядят немного странно, на антенне нет "Rainsun", вывод "CH-PD" тут называется "EN".
Прошивка на борту: AT version:0.40.0.0(Aug 8 2015 14:45:58) SDK version:1.3.0 Ai-Thinker Technology Co.,Ltd. Build:1.3.0.2 Sep 11 2015 11:48:04
Фото виновника торжества (сдул экран посмотреть сопли внутри, но нет, всё аккуратно):
UPD2: Таки "победил". 3й по счёту модуль завелся и шьётся штатно. Так и не понял, что это с первыми 2мя, странный брак. Китайцы, сэр.
Добавил сохранение в ипром настроек вайфай и часового пояса. При выключенных часах зажать кнопку (которая в обычном режиме выключает подсветку), подать питание и отпустить ее через пару секунд, часы загрузятся в режим настройки и поднимут точку доступа, подключаемся к ней и заходим по адресу 192.168.4.1
Т-та-дааа... Корпуса нет, и не будет. Стиль нэйкед-техно-панк. Лаком чуть позже всё покрою.
Огромное спасибо авторам. Давно хотел что-нить такое простое и со статической индикацией, но газоразрядники не особо восхищают, слегка переделал. Зеленый светодиод в верхнем левом углу просто говорит что с обновлениями по ntp все в порядке, мне такая концепция удобнее.
PS Если кому тоже надо, плата(схему не рисовал, всё на-лету в железе) и прошивка(модифицирована под led, которая постом выше, с AP) кнопка 1 - обновление времени/переход в AP при загрузке, 2я - то же самое не знаю к чему её подвязать.
Привинтил уже. Нажал 2-ю - 5 секунд кажет температуру в комнате, и возвращается к показу времени. Как раз 18b20 бесхозные в закромах валялись, и ноги бесхозные у модуля есть.
Да, ОА. Такие: http://av-display.pl/o_produkcie.php?id=830 На ногу в среднем приходится не более 16мА, регистры держат 25 на ногу, сборками дарлингтонов не стал заморачиваться. Схему не рисовал, лень да и незачем, это сильное упрощение авторского варианта, а не усложнение. По плате всё видно.
Это, а никто не хочет заняться решением проблемы 2036-го года? Когда этот NTP time перевалит переполнение? Конечно, может оказаться, что эти часы так долго не проживут по причине устаревания протокола WiFi, который будет выглядеть также дико, как выглядели бы нынче NTP часы с 10base5 интерфейсом. Но почему бы не сделать?
Протокол, вроде, предполагает знание текущего времени с точностью 68 лет. Вот только как втыкать вешки? Даже если воткнуть вешку в 2036-й год, то часы проработают только до 2104 года. Т.е. надо придумать алгоритм перетыкания вешек.
От себя могу предложить своё дополнение к часам. Вычисляет дату для того, чтобы проводить автоматическоий переход на летнее/зимнее время (у нас оно еще есть) в соответствии с европейским стандартом, которое происходит в 01:00UTC в последнее воскресенье марта и октября. Поэтому коррекцию таймзоны я делаю в модуле DisplayTime, а не сразу по приему данных с NTP.
Спойлер
Код:
/** * Выдача текущего времени на индикатор */ void DisplayTime(unsigned long epoch) {
unsigned char weekday = 4; unsigned int year = 1970; unsigned char month = 0; unsigned char hours; unsigned char minutes; unsigned char seconds; unsigned char day = 0; unsigned char leap = 0; unsigned long period_length; unsigned char dst; while (1) { if ((year % 400) == 0) leap = 1; // 2000 - високосный else { if ((year % 100) == 0) leap = 0; // 2100 - не високосный else { if ((year & 0x03) == 0) leap = 1; // делится на 4 - високосный else leap = 0; // иначе - нет } } period_length = 24UL * 3600 * (leap ? 366 : 365 ); if (epoch >= period_length) { epoch = epoch - period_length; weekday = (weekday + (leap ? 2 : 1)); if (weekday > 6) weekday -= 7; year++; } else break; } // в остатке секунды от начала года. unsigned char daysinmonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, daysinmonthleap[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, week_upd;
while (1) { if (month > 11) { Serial.println("Error in date calculation!!!!!!!!!!!"); break; } if (leap) { period_length = 24UL * 3600 * daysinmonthleap[month]; week_upd = daysinmonthleap[month] - 7 * 4; } else { period_length = 24UL * 3600 * daysinmonth[month]; week_upd = daysinmonth[month] - 7 * 4; }
month++; if (epoch >= period_length) { epoch = epoch - period_length; weekday = (weekday + week_upd); if (weekday > 6) weekday -= 7; } else break; } // в остатке дни
Заголовок сообщения: Re: ГРИ часы под управлением ESP8266
Добавлено: Пт мар 18, 2016 17:05:32
Родился
Зарегистрирован: Пт мар 18, 2016 16:42:37 Сообщений: 19
Рейтинг сообщения:0
Достойные часы. Респект автору. Вопрос uldemir-ру: Можно ли задействовать неиспользуемый вывод ESP (GPIO2 или GPIO13) для выбора таймзоны вручную? Например если на GPIO2-логическая еденица то long TIMEZONE = 0; иначе long TIMEZONE = 1;Как будет выглядеть кусочек программы?
Вопрос MadOrc-ку:Логин и пароль для WI-FI прописываеться в строках 76 и 77: const char* ssid = "test"; и const char* passphrase = "test"; Вашего скетча?
Вопрос MadOrc-ку:Логин и пароль для WI-FI прописываеться в строках 76 и 77: const char* ssid = "test"; и const char* passphrase = "test"; Вашего скетча?
Нет. Это пароль к софтовой точке доступа. Если при включении вы нажмете кнопку и удержите ее, то ESP поднимет софтовую точку доступа (ТД) WiFi с именем тест (ищите на мобиле ТД "test" пароль test). Подключаетесь к ней. В адресной строке браузера набираете 192.168.4.1 Заполняете поля ( Логин,пароль, временная зона) домашней ТД WiFi. Перегружаете ESP и если не ошиблись он подключится к Вашей домашней ТД, получит время и часы пойдут.
_________________ У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Заголовок сообщения: Re: ГРИ часы под управлением ESP8266
Добавлено: Пт мар 18, 2016 20:26:03
Родился
Зарегистрирован: Пт мар 18, 2016 16:42:37 Сообщений: 19
Рейтинг сообщения:0
В поле для заполнения (по адресу 192.168.4.1) можно и часовой пояс поменять? Тогда пропадает необходимость задействовать неиспользуемые выводы ESP (GPIO2 или GPIO13) для выбора таймзоны вручную. Может кто скрин покажет, как выглядит страница с полями для заплнения, просто интересно. И спасибо за ответы.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения