Разобрался. Если кому интересно, то нужно перед запуском чтения в setup добавить обязательно SPIFFS.begin();. Два дня убил на это. А у вас не нашел. Где-то в другом месте прописано наверное. Все-равно крутые уроки. Большое спасибо.
Добрый, с переходом ArduinoJson c 5-й версии на 6-ю запутался и получается правильно изменить код. Подскажите пожалуйста какие изменения надо внести в ваш скетч.
Здравствуйте. Помогите пожалуйста. Не создается config.json (Failed to open config file ) и все. В функцию save заходит но не записывает строку и если создать файл вручную, то все-равно не читает его и не записывает в него. очень нужна помощь.
В процессе тестирования заметил, что удобнее файл назвать config.json.txt, тогда он редактируется через /edit. Можно быстро задавать значения переменных без перепрошивки или дополнительных форм на веб-странице.
детская ошибка - не использовать close на файле после работы с ним. Неизвестно, как внутри ФС устроена и к каким глюкам может привести открытие и незакрытие файла, причем дескриптор локальный, то есть после выхода из процедуры неизвестно, что с ним происходит. Если так работать с файлом в даталоггере - глюки обеспечены. Но вообще - спасибо, удобная вещь - работа с файлами.
Сергей, подскажите пожалуйста. переодически строка json записывается в файл как {}, т.е. пустая. С чем это может быть связано, в какую сторону "копать"?
Здраствуйте, я хотел спосить. У меня проблема: Я когад перезагружаю устройство оно перезагружается бесконечно, а на сайте пишет "Подождите...", а должно вывести "Reset OK".
Ну блин заставили попотеть. Пробую для проверки изменить имя сети, а кнопочка "Сохранить" не активна. давай искать где накосячил, а оказалось у вас ограничение в поле пароля 8-15 символов, а у меня 17. при этом сам пароль запомнил и показывает. пока разобрался, ESP-шку 3 раза перепрошивал. Для чистоты эксперимента отредактировал index прямо с браузера. добавил и на имя и на пароль до 20 символов. Подскажите. Для того что бы сохранить изменения нужно удалить index.htm.gz (прочитал ниже в коментах), а зачем он вообще нужен? Новый не появился. Я правильно понял это тот же index только в архиве?
Хотел бы поделиться опытом. Упражнялся с схемами ESP 01 на них были установлены модулями памяти P25Q80H от Puya Semiconductor было их у меня 2 шт. И что я только не делал но файл config.json сохранялся не корректно( то в рассыширении файла ошибки то в имени , то ошибок нет но файл не читаемый) Все грешил что делаю что-то нетак. Пока не купил схемы ESP 01 c модулями памяти PN25F08 PARAGON и ничего не меняя загрузил скетч и все заработало. А те как не работали так и не работали. Постараюсь на них поменять модули памяти W25Q32FV
Скажем так, это все одна большая дыра по большому счету) можно хранить там пароли, так как если физически кто-то все же сдампит данные с модуля, то он и так получит пароли, соединения все идут по http, что тоже дает много возможностей перехвата, нужно шифровать как минимум по AES, HTTPS увы очень тяжелый для модуля.
Очень жаль, что автор прекратил публиковать записи. Мне надо было время от веремени выкладывать данные с погодной ардуинки, а как передавать тайм, я так и не узнал =)
А редактор работает только на загрузку файла и создание нового? отредактировать и сохранить нельзя пока? и я так понимаю index.htm никак нельзя обновить без прошивки? если загружать отредактированный, модуль виснет.
Можно. Только нужно удалить с диска сжатый файл index.htm..dz потом открыть для редактирования index.htm, сделать необходимые исправления и нажать CTRL+S
Спасибо за очередной хороший урок! Еще интересный момент, организовать запись данных в текстовый файл. (например лог показаний датчиков каждый час). Планируется ли такой урок?
ESP12-F питание от прошивальщика, пока так, возможно где-то провода не очень плотно, я так понял что модуль очень капризный и если где хоть немного контакт не припаян то идет сбой. Но просто я не думал что там может слетать все.
Вы его питаете не правильно. Поставьте отдельный стабилизатор для полчения 3.3 В. LM1117 или импульсный. Возьмите 5 вольт USB-UART преобразователя и все будет работать.
USB-UART имеет переключатель на 3.3 вольта и вроде бы работает нормально, но вот иногда бывают какие-то сбои, особенно сложно прошить, иногда переподключать нужно несколько раз, чтоб пошла прошивка, это так капризничает модуль или питание не стабильное? я знаю что нужно лучшее решение по питанию, просто еще не приехало все что нужно для этого, поэтому я пока только так обхожусь.
Не как не могу найти инфу или пример как это реализовать. один раз видел ролик, где в готовом изделии была реализована эта фишка в плоть до выбора версии прошивки (выпадающий список). но там не было ни скетча ни описания. да и ролик тот найти не могу
Автор, в продолжение вопроса с первого урока, я помотрел видео, но здесь много лишнего, мне нужно лишь данные введенные в форму сохранить eeprom и брать их оттуда при потытке подключению к домашнему роутеру
Странно но есть еще функция file.close() Но ей никто не пользуется. Не зря же ее писали? Мне кажется с ней будет спокойней. esp8266.github.io/Arduino/versions/2.0.0/doc/filesystem.html
И мне показалось глобальная переменная String jsonConfig = ""; потеряла актуальность. я смотрю по модулю github.com/tretyakovsa/Sonoff_WiFi_switch она используется в loadConfig() и saveConfig() Но по сути как локальная переменная. Надо еще внимательно посмотреть где она используется. Но если работать с переменными, а не их представлением в виде строки json, то ее лучше удалить во избежания возможной путаницы. Ведь даже handle_ConfigJSON() генерит ее двойника на основе реальных переменных . P.S. извините за мои нудные комментарии.
Мне кажется нет смысла в строке. Есть переменные к ним обращаемся, если надо упаковать строку - упаковали..отправили. Надо расшифровать - расшифровали и разложили по переменным. А то каждый раз перед обращением к переменной расшифровывать строку, а после изменений собирать ее обратно - долго и безсмысленно.
Разобрался. Если кому интересно, то нужно перед запуском чтения в setup добавить обязательно SPIFFS.begin();. Два дня убил на это. А у вас не нашел. Где-то в другом месте прописано наверное. Все-равно крутые уроки. Большое спасибо.
Спасибо, жду следующий урок!
Спасибо автору за уроки, очень помог ваш материал!
Классные уроки, большое спасибо!
Добрый, с переходом ArduinoJson c 5-й версии на 6-ю запутался и получается правильно изменить код. Подскажите пожалуйста какие изменения надо внести в ваш скетч.
Здравствуйте. Помогите пожалуйста. Не создается config.json (Failed to open config file
) и все. В функцию save заходит но не записывает строку и если создать файл вручную, то все-равно не читает его и не записывает в него. очень нужна помощь.
В процессе тестирования заметил, что удобнее файл назвать config.json.txt, тогда он редактируется через /edit. Можно быстро задавать значения переменных без перепрошивки или дополнительных форм на веб-странице.
детская ошибка - не использовать close на файле после работы с ним. Неизвестно, как внутри ФС устроена и к каким глюкам может привести открытие и незакрытие файла, причем дескриптор локальный, то есть после выхода из процедуры неизвестно, что с ним происходит. Если так работать с файлом в даталоггере - глюки обеспечены. Но вообще - спасибо, удобная вещь - работа с файлами.
Да, спасибо и очень полезно!
как получить пременные в свои программы ? переданные c ESP8266 по wi в компьютер
Сергей, подскажите пожалуйста. переодически строка json записывается в файл как {}, т.е. пустая.
С чем это может быть связано, в какую сторону "копать"?
Здраствуйте, я хотел спосить. У меня проблема: Я когад перезагружаю устройство оно перезагружается бесконечно, а на сайте пишет "Подождите...", а должно вывести "Reset OK".
всем привет !!! не могу понять почему при компиляции выходит такая ошибка подскажите пожалуйста 'DynamicJsonBuffer' was not declared in this scope
Библиотеку ArduinoJson поставьте версии 5.13.0
Сейчас проверил: в ардуино 1.6.11 вверху после переменных указал функции и скетч скомпилировался. Все запускается и работает.
Ну блин заставили попотеть. Пробую для проверки изменить имя сети, а кнопочка "Сохранить" не активна. давай искать где накосячил, а оказалось у вас ограничение в поле пароля 8-15 символов, а у меня 17. при этом сам пароль запомнил и показывает. пока разобрался, ESP-шку 3 раза перепрошивал. Для чистоты эксперимента отредактировал index прямо с браузера. добавил и на имя и на пароль до 20 символов.
Подскажите.
Для того что бы сохранить изменения нужно удалить index.htm.gz (прочитал ниже в коментах), а зачем он вообще нужен? Новый не появился. Я правильно понял это тот же index только в архиве?
Здравствуйте, смотрел не все ваши уроки, а можно ли использовать nodemcu Lua, есть ли какая то разница между обычным esp8266?
У всех плат с esp8266. Отличие только в загрузки кода во flash.
А зачем все файлы лежат в обычном и заархивированном виде?
Вы напишите скетч на заказ?
Хотел бы поделиться опытом. Упражнялся с схемами ESP 01 на них были установлены модулями памяти P25Q80H от Puya Semiconductor было их у меня 2 шт. И что я только не делал но файл config.json сохранялся не корректно( то в рассыширении файла ошибки то в имени , то ошибок нет но файл не читаемый) Все грешил что делаю что-то нетак. Пока не купил схемы ESP 01 c модулями памяти PN25F08 PARAGON и ничего не меняя загрузил скетч и все заработало. А те как не работали так и не работали. Постараюсь на них поменять модули памяти W25Q32FV
С какой версией ядра для esp у вас это происходило?
2nd boot version : 1.6
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
rf cal sector: 249
rf[112] : 00
rf[113] : 00
rf[114] : 01
SDK ver: 2.0.0(5a875ba) compiled @ Aug 9 2016 15:12:27
phy ver: 1055, pp ver: 10.2
Круто очень
спасибо за урок! только пароли от wifi лучше не хранить в json, т.к. большая дыра в безопасности
Скажем так, это все одна большая дыра по большому счету) можно хранить там пароли, так как если физически кто-то все же сдампит данные с модуля, то он и так получит пароли, соединения все идут по http, что тоже дает много возможностей перехвата, нужно шифровать как минимум по AES, HTTPS увы очень тяжелый для модуля.
Очень жаль, что автор прекратил публиковать записи.
Мне надо было время от веремени выкладывать данные с погодной ардуинки, а как передавать тайм, я так и не узнал =)
А редактор работает только на загрузку файла и создание нового? отредактировать и сохранить нельзя пока? и я так понимаю index.htm никак нельзя обновить без прошивки? если загружать отредактированный, модуль виснет.
Можно. Только нужно удалить с диска сжатый файл index.htm..dz потом открыть для редактирования index.htm, сделать необходимые исправления и нажать CTRL+S
Спасибо за информацию! теперь ясно
привет. я не удалял с диска сжатый файл index.htm..dz и просто после изменения страницы нажимал CTRL+S и норм сохраняется
Спасибо за очередной хороший урок!
Еще интересный момент, организовать запись данных в текстовый файл. (например лог показаний датчиков каждый час).
Планируется ли такой урок?
Почему-то иногда модуль начинает светиться синим без перерыва, и после перезагрузки выдает File not found, слетают данные в EEPROM?
Какой у вас модуль? Как на него подается питание?
ESP12-F питание от прошивальщика, пока так, возможно где-то провода не
очень плотно, я так понял что модуль очень капризный и если где хоть
немного контакт не припаян то идет сбой. Но просто я не думал что там
может слетать все.
Вы его питаете не правильно. Поставьте отдельный стабилизатор для полчения 3.3 В. LM1117 или импульсный. Возьмите 5 вольт USB-UART преобразователя и все будет работать.
USB-UART имеет переключатель на 3.3 вольта и вроде бы работает нормально, но вот иногда бывают какие-то сбои, особенно сложно прошить, иногда переподключать нужно несколько раз, чтоб пошла прошивка, это так капризничает модуль или питание не стабильное? я знаю что нужно лучшее решение по питанию, просто еще не приехало все что нужно для этого, поэтому я пока только так обхожусь.
Питание от USB-UART с выхода 3.3В не может обеспечить нужный ток и поэтому все и работает через раз и виснет. Так делать нельзя.
Возбожно ли сделать обновление прошивки и файлов с удаленного сервера через интернет?
Можно и нужо. Единственное ограничение все это можно получить только с HTTP сайта, но не с HHPS.
Не как не могу найти инфу или пример как это реализовать. один раз видел ролик, где в готовом изделии была реализована эта фишка в плоть до выбора версии прошивки (выпадающий список). но там не было ни скетча ни описания. да и ролик тот найти не могу
вы сможете показать пример данного способа обновления? ваши видео очень подробные и понятные. думаю многие будут благодарны.
Автор, в продолжение вопроса с первого урока, я помотрел видео, но здесь много лишнего, мне нужно лишь данные введенные в форму сохранить eeprom и брать их оттуда при потытке подключению к домашнему роутеру
В этом примере все так и работает. Что вы считаете здесь лишним?
Json, может проще сохранить еепроме две строки и при последующих подключениях читать эти две строки
Странно но есть еще функция file.close()
Но ей никто не пользуется.
Не зря же ее писали? Мне кажется с ней будет спокойней.
esp8266.github.io/Arduino/versions/2.0.0/doc/filesystem.html
И мне показалось глобальная переменная
String jsonConfig = "";
потеряла актуальность.
я смотрю по модулю github.com/tretyakovsa/Sonoff_WiFi_switch
она используется в loadConfig() и saveConfig()
Но по сути как локальная переменная.
Надо еще внимательно посмотреть где она используется. Но если работать с переменными, а не их представлением в виде строки json, то ее лучше удалить во избежания возможной путаницы.
Ведь даже handle_ConfigJSON() генерит ее двойника на основе реальных переменных .
P.S. извините за мои нудные комментарии.
Тут точно мой косяк. Конечно нужно закрыть.
А здесь я оставил именно для того чтоб отказаться от переменных и в итоге сделать весе через эту строку. Но пока внятного решения нет.
Мне кажется нет смысла в строке.
Есть переменные к ним обращаемся, если надо упаковать строку - упаковали..отправили.
Надо расшифровать - расшифровали и разложили по переменным.
А то каждый раз перед обращением к переменной расшифровывать строку, а после изменений собирать ее обратно - долго и безсмысленно.
поменяйте в описании 8622 на есп 8266
Спасибо!
жду