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

Sming Open Source Framework для нативной разработки прошивок ESP8266

pvvx

Активный участник сообщества
А где можно информацию по base64 функциям/таблицам в ROM посмотреть более подробно? В OpenSDK оно уже есть?
Пока заменял всего таблицу https://github.com/pvvx/esp8266web/blob/master/app/web/web_utils.c#L402. Остальное, связанное с base64, использовать из области rodata rom-bios-ram никак - т.е. не имеет смыслу - код выйдет больше или другие ограничения.
Что-то конкретное?
Пока нет. Причина в отсутствии части 802.11 и ниже.
Новые Espressif SDK вообще уже имеют полные свои дубли, вплоть до таблиц таймеров и task - они теперь размешаются в общей RAM, а в ram используемой rom-bios эти буфера не задействованы. Полный киш-миш выходит... RTOS пользовать незя - у него (с) и код выходит особо большой. Если использовать task и timers rom-bios, то есть масса ограничений. Они работают только из ets_run(). А она не имеет выхода. Только callbаck-и.
Для ardurino такая концепция, работать только по событиям не катит.
Все дети в ardurino ищут цикл main() и без delay() жить не могут :)
 
Последнее редактирование:

LuckyFIA

New member
Большое спасибо за Sming.
Пытаюсь транслировать свой проект на Sming, в связи с этим возник вопрос:
Можно ли записать/считать данные с флеш из т.н. области "User param (16KB)" по адресу 0x3C или в Sming`е эта область занята и сохранять свои параметры возможно Только в spiffs
 

anakod

Moderator
Команда форума
Если использовать task и timers rom-bios, то есть масса ограничений. Они работают только из ets_run(). А она не имеет выхода. Только callbаck-и.
Для ardurino такая концепция, работать только по событиям не катит.
Все дети в ardurino ищут цикл main() и без delay() жить не могут :)
Sming как раз работает по событийной модели.

Можно ли записать/считать данные с флеш из т.н. области "User param (16KB)" по адресу 0x3C или в Sming`е эта область занята и сохранять свои параметры возможно Только в spiffs
Да, можно, но лучше предварительно проверить область инициализации spiffs.

Вообще концепция Sming больше подразумевает хранение данных в JSON, примеры есть в семпле WiFiConfig (но разумеется никаких обязательных требований в этом плане нет).
 

LuckyFIA

New member
Да с JSON я разобрался - очень удобно, однако если использовать AirUpdate то spiffs форматируется, а пару параметров желательно не потерять, по этому и пытаюсь их сохранить в область "User param"
Попытка стереть сектор 0x3C функцией spi_flash_erase_sector(0x3C);
приводит к
Fatal exception (0):
epc1=0x4023c0d8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
??
Sming - занимает эту область?
или что может быть.
 

anakod

Moderator
Команда форума
Да с JSON я разобрался - очень удобно, однако если использовать AirUpdate то spiffs форматируется, а пару параметров желательно не потерять, по этому и пытаюсь их сохранить в область "User param"
Если использовать большую флеш (4Mb+) то это не обязательно.

Попытка стереть сектор 0x3C функцией spi_flash_erase_sector(0x3C);
приводит к
Fatal exception (0):
epc1=0x4023c0d8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
??
Sming - занимает эту область?
или что может быть.
Думаю дело не в Sming, ошибка здесь в чем-то другом. Номер сектора верный?
 

LuckyFIA

New member
флеш 512, а сектор вроде верный, без sming на голом SDK все отлично сохраняется
да вот угледел различия в eagle.app.v6.cpp.ld
irom0_0_seg : org = 0x40209000, len = 0x42000
в SDK`ном линковщике
irom0_0_seg : org = 0x40240000, len = 0x3C000
может в этом дело
а нет кого нибудь memory map для sming что бы наверняка знать что куда зашивается
 

pvvx

Активный участник сообщества
@anakod - как в sming решена (или нет) проблема российских GSM в малом размере MTU?
Полные пакеты, с MTU 1500 (MSS 1460) байт с модуля не проходят, если на пути GSM. LwIP похоже не имеет возможностей коррекции MTU на ходу.
Только до компиляции. Работать такое соединение начинает если изменить MSS на 1420 в lwipopts.h... Т.е. надо подбирать под конкретную сеть...
Автоматического согласования не происходит. Просто не работает - большие пакеты не доходят. Тут описано, как нарвались :)
 
Последнее редактирование:

anakod

Moderator
Команда форума
Добавлен пример работы nRF24L01
на базе него очень удобно создавать бриджи Radio канал <-> Internet
 

pvvx

Активный участник сообщества
Есть какие-нибудь сроки по поддержке SSL-соединений?
Посмотрел оба примера по HttpClient, и вижу там только HTTP, хотя и thingspeak.com, и instapush.im, могут в любой момент его отключить.
Для этого потребуется полный переход на SDK1.2.0, иначе будут проблемы с "heap" (и с libssl.a, если её использовать).
 

Symrak

New member
@anakod, спасибо вам большое за Sming.
Подскажите пожалуйста, когда можно ожидать поддержки flash-памяти > 512 кб?
Спасибо.
 

pvvx

Активный участник сообщества

Vic_tor

New member
Здравствуйте , не знаю где туплю...запускаю cmd.exe от имени администратора (win 7 -64x) , ставлю по ссылке "https://chocolatey.org/" вот это "@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" выдает - файл прилагаю , помогите , что не так?
 

Вложения

anakod

Moderator
Команда форума
А почему DIO? Это же тормоз!!! В помойку такие модули. :) NodeMCU dev kit v2 = дешевая подделка, помойка.
Ждите версию №3 с ускоренной поддержкой флеш ;)

Здравствуйте , не знаю где туплю...запускаю cmd.exe от имени администратора (win 7 -64x) , ставлю по ссылке
Может быть choko уже установлен, и можно попробовать переходить к следующим пунктам? Вообще по проблемам установки лучше спрашивать в нашем чате: https://gitter.im/alonewolfx2/Sming
 

Casper

Member
Заметил что в Sming появилась библиотека для работы с si4432. Посмотрел библиотеку и не увидел там функции для отправки данных конкретному устройству(адресация) я так понимаю сейчас только широковещательно отправляются сообщения.. Было бы не плохо это реализовать)) Для этих трансиверах есть хорошая библиотека для ардуинки http://www.airspayce.com/mikem/arduino/RadioHead/index.html Раньше игрался с ними, но потом ушёл с ардуино и стал писать в Atmel Studio. Но руки не дошли, что бы портировать библиотеку и выкинуть от туда лишнее. Если есть библиотека под Atmega буду благодарен))
 
Здравствуйте!
Нужна помощь или совет.. требуется вызывать функциюС ПАРАМЕТРОМ через некоторое время задержки. С просто фцией без параметров таймер и вперед.. а как быть если надо параметр передать? Тут все еще тем усложнено, что классы использую и функция с параметром - член класа. Опять же есть TimerDelegate но оно для вызова фции челна класса по таймеру но БЕЗ ПАРАМЕТРОВ.а мне оно дозарезу надо. Начал копать и вроде как надо наследовать откласса Timer свой клас, переопределять конструктор initialiseMs на другой делегат, который типа typedef Delegate<void(int)> myTimerDelegate и переопределять Timer::processing чтоб вызывать функцию с параметрами.. вот только не до конца понимаю как правильно это все реализовать.
Может кто советом поможет или носом ткнет в более простой и прямой путь вызова по таймеру член класса с параметром..
Пасиб!
 

manfredmann

New member
Здравствуйте. Такой вопрос, можно как-то убрать вывод всей этой отладочной шелухи, вроде
Код:
TcpConnection::connect result:, 0
OnConnected
TCP connected
onReadyToSendData: 0
TcpClient request completed
TCP sent: 65
onReadyToSendData: 2
Header pos: 152
Server === nginx
Date === Mon, 24 Aug 2015 08:05:51 GMT
Content-Type === application/json
Connection === close
X-Powered-By === PHP/5.6.9-0+deb8u1
TCP received: 174 bytes
onReadyToSendData: 1
TCP received: (null)
timeout ok. Timer started
TCP connection closing
-TCP connection
У меня по uart идёт работа с stm32, и лишний "мусор" в уарт очень не желателен.
 
Сверху Снизу