Куча вопросов и не могу найти ответов (ламер)

kobaltd

New member
Пред история: задолбался лазить в стояк и снимать показания водосчетчиков. - решил автоматизировать. Пробую сделать с помощью esp8266 01. Но есть вопросы на которые не могу найти ответов (явных)
1) я так понял что gpio 0 и gpio 2 можно приспособить для снятия "замкнута цепь"/"разомкнута цепь" , т.е. под импульсный контакт на водосчетчике - я предпологаю что для считывания на gpio 0/2 надо подавать при замкнутой цепи 3.3v (допустим с источника питания) или я не прав?
1.1) можно подавать "чистые" 3.3v или надо через какие то "схемы"?
2) наткнулся на такой документа http://woodsgood.ca/projects/wp-content/uploads/ESP8266ATCommandsSet.pdf, а точнее на команды at+csyswdtenable и т.д. так собственно вопрос - есть ли в данном устройстве watchdog и если есть, то какие функции в SDK за него отвечают или может быть какой то не явный хитрый механизм?
3) Модуль должен сохранять данные в энергонезависимую память на случай пропадания питания и отсутствия связи с компом какое-то время. Собственно имеется ли в данном девайсе какой ни будь вид такой памяти и опять же какие функции SDK отвечают за работе с ней?

Помогите плиз, очень не хочется ради решения этих вопросов цеплять МК :(
 

Victor

Administrator
Команда форума
1.1) можно подавать "чистые" 3.3v или надо через какие то "схемы"?
"чистые" стабилизированные 3.3v
2) наткнулся на такой документа http://woodsgood.ca/projects/wp-content/uploads/ESP8266ATCommandsSet.pdf, а точнее на команды at+csyswdtenable и т.д. так собственно вопрос - есть ли в данном устройстве watchdog и если есть, то какие функции в SDK за него отвечают или может быть какой то не явный хитрый механизм?
Используйте последнюю версию документации. Если вас интересуют AT команды, то лучше это http://esp8266.ru/esp8266-at-commands-v021/
Watchdog таймером в оригинальных прошивках управлять нельзя, та ссылка что вы указали относится к старой прошивке 9.2.2 от electrodragon
Да и не нужно - он включен всегда, его иногда нужно отключать при выполнении длительных операций.
Для вашего устройства больше подойдет NodeMCU (если для себя и по-быстрому), сохранять данные в памяти позволяет.
 

kobaltd

New member
Прошивку я пишу сам поэтому меня интересует именно наличие watchdog и как им управлять.
"Да и не нужно - он включен всегда" - вот это я не понял, если он включен то кто посылает reset на таймер watchdog`а ?????? какой интервал до сброса???? опять же какой функцией отключать/включать? я в http://esp8266.ru/download/esp8266-doc/2C-SDK-Espressif IoT SDK Programming Guide_v0.9.5.pdf не нашел (новее вроде нет)?
и что с энергонезависимой памятью - подскажете?
 

pvvx

Активный участник сообщества
Прошивку я пишу сам поэтому меня интересует именно наличие watchdog и как им управлять.
"Да и не нужно - он включен всегда" - вот это я не понял, если он включен то кто посылает reset на таймер watchdog`а ?????? какой интервал до сброса???? опять же какой функцией отключать/включать? я в http://esp8266.ru/download/esp8266-doc/2C-SDK-Espressif IoT SDK Programming Guide_v0.9.5.pdf не нашел (новее вроде нет)?
и что с энергонезависимой памятью - подскажете?
Описания аппаратуры WDT нет. Он практически не работает в SDK. Думаю, что это связано с RTC памятью. Там сохраняются всякие параметры для пересброса, а питания у RTC памяти нет (не выведена нога питания) и она сбрасывается при определенных комбинациях RESET + CH_PD и там наступает киш-миш, после которого прошивка стартует неадекватно. Это происходит и при deep_sleep. Программно в SDK WDT включается и отключается отключением и включением обработчика аппаратного прерывания (похоже) на таймер.
NodeMCU до сих пор не работает с большими flash.
 

kobaltd

New member
т.е. Watchdog нет, и если модуль/прошивка уйдут "ступор" - то только по "питанию" можно сбросить?
мне много не надо - мне нужно куда то сохранять 2 значения типа unsignet long - и все - есть такая возможность - и если есть в какую сторону смотреть?
 

pvvx

Активный участник сообщества
т.е. Watchdog нет, и если модуль/прошивка уйдут "ступор" - то только по "питанию" можно сбросить?
Не всегда.
мне много не надо - мне нужно куда то сохранять 2 значения типа unsignet long - и все - есть такая возможность - и если есть в какую сторону смотреть?
Зависит от кол-ва сохранений за время, чтобы дырку не протереть в flash. Есть функции system_rtc_mem_write() и system_rtc_mem_read() описанные в "2C-SDK-Espressif IoT SDK Programming Guide_v0.9.5.pdf". Но требуется подключение питания RTC и описание к функциям, как всегда у Espressif, не соответствует - некоторые функции из SDK пишут в область отведенную для пользователя :) и до официального подтверждения о исправлении и последующей личной проверки, что они исправили это дело трогать это не стоит (я им это описывал - им пофигу - у них всегда один стандартный ответ "Thanks for your interest in ESP8266!"). Другой метод - написать что-то аналогичное Web_base\app\web\flash_eep.c, для эмуляции EEPROM во flash или сохранения малых объектов, с учетом кол-ва итераций записи flash до образования дырок...
 
Последнее редактирование:
Сверху Снизу