• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Запрос примеров для Sming

Dr. Morg

New member
@JustACat, спасибо за наводку, но для меня разрядность маловата (нужно снимать данные с термистора). Лучше тогда прикручу по i2c PCF8591 :)
Жаль, что не реализовать всё в ESP :)
 

anakod

Moderator
Команда форума
Да, мне кажется внешний ADC будет намного надежней (учтите еще что встроенный завязан с WiFi).
 

verzi

New member
Подскажите, есть ли возможность сохранять переменные во флеш память. Типа EEPROM.write?
И еще, можно ли надеяться что в будущем появится функционал записи html файлов на этапе прошивки?
 

anakod

Moderator
Команда форума
Вы можете создать файл и сохранять в него значения. В MeteoControl есть пример сохранения в json.
 

verzi

New member
Вы можете создать файл и сохранять в него значения. В MeteoControl есть пример сохранения в json.
Спасибо большое за то, что отвечаете на такие глупые вопросы. Я вроде бы понял принцип. Просто раньше MeteoControl у меня не запускался. В консоль валилось что то типа "<0><0><0><0>". Пришлось выпилить все что касается экрана и датчика. Теперь вроде бы работает. Даже понял как текущее время на веб страницу выводить. Дальше будет проще, я надеюсь :) Просто я мечтаю сделать аквариумный контроллер на основе esp. Собственно вся логика работы и красивые html странички уже были сделаны на NodeMCU, но потом я столкнулся сами знаете с чем :(. И понял что NodeMCU это тупик, хотя и чертовски удобно там все устроено.
А по поводу моего второго вопроса можете что нибудь сказать? Просто людям далеким от компьютерных технологий легче будет залить готовую прошивку каким нибудь ESPflasher'ом, чем компилировать ее из исходников или поднимать собственный веб сервер.
 

JustACat

Moderator
Команда форума
поднимать собственный веб сервер.
Имхо, вы зря. Собственный веб-сервер поднимается на раз-два-три: http://www.denwer.ru/ - то есть буквально. И не нужно городить дополнительных программ.
Далее кладете на него нужные вам файлики (заодно тут же и протестировать можно HTML-ки-то, без мучения бедного ESP) и под ESP стягиваете их с локального вашего веб-сервера.
Хотя бы гляньте, как просто денвер запускается.
 

verzi

New member
Я то подниму, это не проблема для меня. Просто я хочу в будущем, когда все заработает, и если оно заработает :) выложить инструкцию для других людей. Что то на подобии этого http://www.aquaforum.ua/showthread.php?t=167906 только гораздо дешевле и с веб интерфейсом. Обычный акваконтроллер собирается из arduino mega и пары стандартных шилдов, с минимумом пайки, а потом в него просто заливается готовый скетч.

П.С.
Почитал темку по своей же ссылке. Там товарищ оказывается свою прошивку продавать пытается, хотя есть такие же но бесплатные. Поэтому что бы снова не возникло недопонимания скажу сразу, что я никаких денег зарабатывать не планирую.
 
Последнее редактирование:
verzi, Еще удобнее и проще поднять FTP сервер на ESP.Также есть в примерах Sming.Что касается компиляция из исходников,ни чем не сложнее чем залить готовую прошивку,поверьте.
 

Tohakrat

New member
Как насчет примера подключения к TCP с SSL? Я так понимаю пока в Sming этого нет?
 

verzi

New member
Похоже никто так и не понял что я хотел сказать. Ну да ладно, проехали. Другой вопрос. Как сделать так что бы esp мог ходить в интернет со статическим IP адресом. Я так понимаю в Сминге нет возможности задать маску и шлюз. Придется брать нужные функции из Си. Заработает ли, или можно сразу забить на это дело?
 

JustACat

Moderator
Команда форума
verzi, вы как-то странно относитесь, будто кто-то должен моментально выполнить ваш запрос. Или я вас не так понял? Если не так, то извините, но прозвучало очень похоже...
В общем, поймите и вы: работает над всем этим не так много людей. И во многом просто не успевают (ведь есть же еще, работа, дела, жизнь личная, наконец, да и в самом Sming еще не все гладко с некоторыми фундаментальными вещами)...
А так, я лично вашу мысль про аквариумный контроллер читал, и тему читал, и то. что вы этим поделиться хотите - это замечательно. Сам помог бы, но тоже пока руки не дошли, извините...

Ко всем: очень приветствуется помощь со стороны! Если не хватает каких-то примеров, либо каких-то функций в уже созданных библиотеках - вы всегда можете разобраться и добавить их, а затем поделиться этим с остальными.
@anakod с удовольствием включит ваши труды в Sming.
Сделать это можно двумя путями: через Pull Request (этот путь самый правильный) на Git-хабе. Либо кинуть @anakod'у изменения, например, в личку.
Просто имейте ввиду: не всегда на все хватает времени, и тут два варианта: либо ждать, пока кто-то сделает, либо сделать самостоятельно (и, по желанию, помочь другим).

PS: verzi, установка статического IP уже добавлялась @anakod'ом, но вот с маской и шлюзом да - там были какие-то недоработки. Если вы это поправите и выложите - вам многие будут очень благодарны!
 

anakod

Moderator
Команда форума
Я так понимаю в Сминге нет возможности задать маску и шлюз.
Вы можете добавлять любой недостающий функционал, а затем присылать Pull-Request в основную ветку. Решение по маске сети и шлюзам было в чате (большое спасибо нашему комунити), я добавил соответствующую версию метода в основную ветку.
 

redzub

New member
Большое спасибо за проделанную работу! А использовать deep-sleep в sming возможно?
 

ntil

New member
Вопрос: есть ли в сминге возможность использовать критические секции ?
где у сминга main() или loop() ? сидеть на таймере очень неудобно, он в прерывании.
 

anakod

Moderator
Команда форума
Вопрос: есть ли в сминге возможность использовать критические секции ?
где у сминга main() или loop() ? сидеть на таймере очень неудобно, он в прерывании.
main - init, loop как таковой отсутствует, т.к. Sming работает по асинхронно модели (в примерах показано более подробно). А что именно не устраивает в работе с таймером?
 

ntil

New member
main - init, loop как таковой отсутствует, т.к. Sming работает по асинхронно модели (в примерах показано более подробно). А что именно не устраивает в работе с таймером?
да это понятно.
нужно мониторить событие (посылочку с сериала):
мониторить наличие часто (раз в 10мс),
при наличии пакета - его обработка может занять заметно более 10 мс.

сейчас, чтобы таймером самому себе не наступать на пятки сделал на таймере + критическая секция + семафор.

Код:
procTimer.initializeMs(100, process).start()
вот эта штука она ведь на прерывание таймера вешается?
 
Сверху Снизу