Size: a a a

ESP8266 & ESP32 [RU]

2019 December 08

PZ

Pavel Zorin in ESP8266 & ESP32 [RU]
две ветки гирлянды ws2811b подключить
источник

АБ

Алексей Блыш in ESP8266 & ESP32 [RU]
можно
источник

PZ

Pavel Zorin in ESP8266 & ESP32 [RU]
ай спасибо
источник

PZ

Pavel Zorin in ESP8266 & ESP32 [RU]
две трёхметровые хочу под конёк приструмлить, там как раз вывод 220 есть
источник

PZ

Pavel Zorin in ESP8266 & ESP32 [RU]
вкорячу ящик, туда БП и esp-шку
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
Ігор Братух
esp используют так сказать в продакшене?
или stm более популярны?
используют, например esp32 в блоке питания для мониторинга использется или вот например https://web.archive.org/web/20180706151327/https://www.hardkernel.com/main/products/prdt_info.php?g_code=G152875062626
источник

S

Sergey in ESP8266 & ESP32 [RU]
всем привет.
поделитесь опытом, пожалуйста.

через некоторое время, после запуска железки (esp8266, wemos d1 r1) престает читаться файл из spiffs. помогает только хардрезет. пробовал софтверно ребутать — ноль на фазу.

что за скрипт:
1. раз в 10 секунд (тестовые прогоны, на продакшене будет раз в 15 минут) опрашиваю датчики
2. считываю в память json-файл с помощью ArduinoJson.h
3. добавляю новую запись, записываю файл.

проблема появляется на шаге 2.
в чем может быть причина?

моя единственная догадка — переполнение буфера. как отследить? как чистить? почему софтверный резет не помагает тогда?
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
Sergey
всем привет.
поделитесь опытом, пожалуйста.

через некоторое время, после запуска железки (esp8266, wemos d1 r1) престает читаться файл из spiffs. помогает только хардрезет. пробовал софтверно ребутать — ноль на фазу.

что за скрипт:
1. раз в 10 секунд (тестовые прогоны, на продакшене будет раз в 15 минут) опрашиваю датчики
2. считываю в память json-файл с помощью ArduinoJson.h
3. добавляю новую запись, записываю файл.

проблема появляется на шаге 2.
в чем может быть причина?

моя единственная догадка — переполнение буфера. как отследить? как чистить? почему софтверный резет не помагает тогда?
А просто добавить запись в файл никак? Типа в режиме а+
источник

S

Sergey in ESP8266 & ESP32 [RU]
джейсон же, массив.
источник

S

Sergey in ESP8266 & ESP32 [RU]
наверное правда стоит отказаться от джейсона. но суть проблемы может быть в чем-то другом. сам ждейсон в момент ошибки валидный.
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
Я, возможно, торможу, но не догоняю в чем проблема добавить в файл строку в формате json без чтения всего файла перед этим.
Короче, либо задача некорректно поставлена, либо я уже нормально принял на грудь
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
Зачем считывать файл?
источник

S

Sergey in ESP8266 & ESP32 [RU]
потому что массив подразумевает обрамление квадратными скобками: [ ]
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
Sergey
потому что массив подразумевает обрамление квадратными скобками: [ ]
Можно пример того, что в итоге должно быть в файле?
источник

S

Sergey in ESP8266 & ESP32 [RU]
[{data:1},{data:2},{data:3}] добавить {data:4}
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
А почему не:
1. Открыть файл на запись
2. Установить курсор на конец файла
3. Стереть предыдущий символ
4. Добавить данные
5. Добавить знак ]
6. Закрыть файл
источник

S

Sergey in ESP8266 & ESP32 [RU]
справедливо, кончено ).
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
Я, возможно, ошибаюсь, но при таком алгоритме файл не будет занимать память и может расти "бесконечно"
источник

S

Sergey in ESP8266 & ESP32 [RU]
нет, все правильно. сейчас перепишу. спасибо.
источник

S

Sergey in ESP8266 & ESP32 [RU]
Иван "Johnes" Копытов
А почему не:
1. Открыть файл на запись
2. Установить курсор на конец файла
3. Стереть предыдущий символ
4. Добавить данные
5. Добавить знак ]
6. Закрыть файл
похоже, что это так в си не работает... чтобы удалить символ из конца строки, надо сначала считать строку в буфер. или я не прав?

*не ругайтесь, си не знаю вообще и никак не могу нагуглить решение... можете пример реализации этого алгоритма написать?
источник