• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Изменить удаленно размер SPIFFS, чтобы по OTA обновить скетч.

Paul_B

Member
Скажите, сколько операторов содержит скетч который Вы грузите и сколько операторов в скетче первом и какие библиотеки есть во втором но нет в первом?
Скетч около 6200 строк (если смотреть в текстовом редакторе все ino-файлы в проекте). НА SPIFFS эще 6-7 htm и js -файлов по 15-30Кб.
А вот перечень подгружаемых библиотек:
Код:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <EEPROM.h>
#include <FS.h>
#include <Ticker.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <ESP8266Ping.h>
#include <WiFiClientSecure.h>
#include <base64.h>
Это при том, что я сэкономил на библиотеке DHT.h, реализовав функции опроса датчиков DHT11 и DHT22 сам. А также синхронизацию времени с серверами.
В принципе, теперь еще можно сэкономить 10Кб, убрав библиотеку ArduinoOTA - можно обновлять, подгружая по кнопке файл и совсем не обязательно заливать инфо (скетч и SPIFFS) из Arduino IDE
 
Последнее редактирование:

Paul_B

Member
Например Updater.cpp последний раз обновлялся 2 месяца назад, при выходе обновления в ручную исходники мерджить будем или есть какие нибудь рекомендации по решение проблемы с обновлениями?
Мне не в падлу вставить одну строчку в файл. Тем более, что я подхожу с правилом советского инженера "Работает - не трожь".
 

Paul_B

Member
В сумме эти две прошивки у вас составляют 496 Кб
Что непонятного я сказал? Скетч-проект состоит из 5-ти ino-файлов, суммарно 6200 строк. Комментариев от силы 20 строк на все. bin-файл с прошивкой весит 496 Кб. Если версия ESP8266 4МБ (3+1 на спиф), то по ОТА она могла обновляться, а вот при версии 1МБ обновление не могло быть. Сейчас же я могу обновлять даже при SPIFFS в 512 КБ. Причем модуль работает на даче, а удаленно я могу обновлять в нем прошивку из дома.
 

Paul_B

Member
Управление сетью модулей (их выводами) в зависимости от каких-либо событий (уровня сигнала, пинга, по времени, показаний температуры, влажности). При возможной отправкой e-mail о происшедших событиях. Рисуются графики состояний любых перечисленных показателей. При этом все универсально - все настройки, создание условных событий, на какие модули что отправлять управляющие сигналы - все настраивается через web-браузер. Через него же визуально все контролируется.
Применение - от системы полива, контроль протечек воды и перекрытие водопровода, контроль утечек газа и соответственно перекрытие газопровода. Причем одни модули на полу контролируют протечки и при обнаружении передают сигнал другим, которые электрическими задвижками управляют. Во всех работает одна программа - просто разные настройки задаются через браузер. Все сохраняется в EEPROM.
Сброс питания веб-камеры, если она не находится в сети (потеряла связь). Короче применение универсальное, на что хватит фантазии. Например, у меня дверь на засов через него закрывается изнутри - открыть могу либо с радио брелка, либо по интернету с другого конца шарика, либо, например, при достижении температуры и/или влажности.
Полив же опять интеллектуальный - в зависимости от средней температуры, влажности воздуха и почвы.
При этом не обязательно наличие интернета - достаточно чтобы один модуль был в домашней сети, а остальные - хоть на каком удалении, главное, чтобы они видели друг друга.
 

Paul_B

Member
6000 строк без комментов через год после затыка не сможете найти ошибку
Так это ж не простыней написано. Функциями.
Поэтому и писал универсально, чтоб на все случаи жизни. Создал черз браузер условную задачку на одном из модулей, что скажем при достижении уровня сигнала на такой-то ноге, отправить такую-то команду на такой-то модуль. И все. Причем повторюсь, модули могут быть расположены не обязательно в одной сетке. Каждые подключается к сети и создает свою сеть, т.е. паутина. При пропадении одной из сетей, они коммутируются заново. Передача идет по наименованию модулей, т.к. каждый знает всю сеть - между ними идет обмен о своих "соседях".
Вот фотки элементов интерфейса
Буфер обмена01.jpg Буфер обмена05.jpg Буфер обмена06.jpg Буфер обмена03.jpg Буфер обмена04.jpg
 

Paul_B

Member
У кого-то из могикан разработки систем прочитал такую мысль:
Универсальная система - это такая система, разработчики которой не имеют ни малейшего представления, где ее можно применять.
Может быть. Для меня это развлекуха в первую очередь. Хобби. Все наработки пытаюсь впихнуть в проект.
 

Paul_B

Member
Что конкретно не понимаете?
если подробнее расскажите,попробую объяснить.
Так все равно же все это должно быть в прошивке. Я про то, что скажем ino-файл скетча (возможно в bin-форме) лежит в SPIFFS. Как его запустить из прошивки? Аналог как exe-файл запускается из bat-файла командой call.
 

Paul_B

Member
Поэтому выкиньте файлы ino из SPIFFS - так как ino в прошивке - это мусор.
У меня и нет ino-файлов в SPIFFS. Это вы все агитируете чтобы сделать подгружаемые задачи. И ни разу не привели конкретного примера как это можно сделать. И не надо мне разжевывать с компиляторами - я это знал еще в 1992 году.
 

nikolz

Well-known member
У меня и нет ino-файлов в SPIFFS. Это вы все агитируете чтобы сделать подгружаемые задачи. И ни разу не привели конкретного примера как это можно сделать. И не надо мне разжевывать с компиляторами - я это знал еще в 1992 году.
А это не Вы написали выше:
цитата:
Я про то, что скажем ino-файл скетча (возможно в bin-форме) лежит в SPIFFS. Как его запустить из прошивки? Аналог как exe-файл запускается из bat-файла командой call.
 

Paul_B

Member
А это не Вы написали выше:
Хоть вы и удалили весь свой бред, но вот я откопал:
цитата: Вы сделайте две задачи.
Сами задачи будут храниться во флеш
Но в отличии от двух скетчей у них будут общими все библиотеки.
Запускает задачи по очереди. Память данных у них тоже общая.
Код библиотек хранится на флеш
 

nikolz

Well-known member
Хоть вы и удалили весь свой бред, но вот я откопал:
цитата: Вы сделайте две задачи.
Сами задачи будут храниться во флеш
Но в отличии от двух скетчей у них будут общими все библиотеки.
Запускает задачи по очереди. Память данных у них тоже общая.
Код библиотек хранится на флеш
Давайте по порядку.
В приведенной моей цитате есть что-нибудь про файлы ino или SPIFFS?
Поэтому ответьте ,где жк бред про ino которые в SPIFFS?

и если вы отвечаете за базар, то поясните что именно вы считаете бредом в этой моей цитате
 

Sever44

Member
С интересом следил за вашей словесной баталией. К сожалению, не все понял.
Прошу ответить на вопрос:
Нельзя ли использовать SD карту для прошивки методом OTA модулей, у которых памяти недостаточно для стандартной прошивки (например, моего любимого модуля ESP-201).
Не бейте сразу ногами, если сформулировано, не совсем грамотно.
 

nikolz

Well-known member
С интересом следил за вашей словесной баталией. К сожалению, не все понял.
Прошу ответить на вопрос:
Нельзя ли использовать SD карту для прошивки методом OTA модулей, у которых памяти недостаточно для стандартной прошивки (например, моего любимого модуля ESP-201).
Не бейте сразу ногами, если сформулировано, не совсем грамотно.
начнем с того, что такое OTA?
рассказываю на пальцах.
Во флеш выделяется две области
в одну записана рабочая версия
в другую пишем через Wifi новую прошивку
потом рестартуем ESP c начала второй области
в следующий раз делаем так же но с записью в первую
----------------
если памяти для прошивки не хватает
то ее и не хватит на первую прошивку
так как для двух она(флеш) делится пополам.
наличие SD при этом ничего не изменит.
-----------------
У вас 512 кб - это кирдык. Либо замените чип либо берите ESP-12 (стоит менее 100 руб с доставкой из Китая)
 

Sever44

Member
Видимо, я рассчитывал на чудо - использовать SD карту в качестве флеш памяти....
 
Сверху Снизу