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

Вопрос C чего начать?

artmasterpro

New member
Здравствуйте!

Столкнулся с задачей построения устройства которое должно по wifi отправлять данные на удаленный сервер, данных немного 1ну переменную в зависимости от нажатой кнопки.

Купил на радио рынке ESP модуль в надежде, что он так же как и блютуз управляется АТ командами.

По ходу изучения как работать с модулем оказалось что это отдельный микроконтроллер со своими прошивками и своей средой разработки... просто на борту содержащий wi-fi модуль.

В интернете каждый автор хвалит свою прошивку, выкладывает свои сборки SDK итд...вообщем ничего не понятно.

Пока что я понял:
- что АТ команды лучше не пользовать тк метод достаточно костыльный.
- Что есть прошивки которые могут исполнять скрипты на lua.

Но осталась масса вопросов:
1) В программировании pic & atmel есть IDE и компилятор и все, после чего пишем код на Си - заливаем hex через программатор и все ))
Но у ЕСП есть какието прошики.
Прошивка это исполнительный код или операционная система?

2) Какая прошивка от какой чем отличается и как понять какая нужна именно для моего случая?

3) Всетаки прошика это главный исполнительный код или оболочка для исполнения скриптов?

4) Как передавать данные по сети? И какие есть методы?

Спасибо!
 

Andy Korg

Moderator
Команда форума
...Прошивка это исполнительный код или операционная система?
Тут ничего не поменялось по сравнению с обычными МК: пишете в IDE (Exlipse, Arduino и т.д.) код (на Си, Lua и т.д. ), компилируете (или нет, если интерпретатор) и льете в кристалл через uart.
2) Какая прошивка от какой чем отличается и как понять какая нужна именно для моего случая?
Вот тут вы уже сами, мне лично нравится "свалка" pvvx.
3) Всетаки прошика это главный исполнительный код или оболочка для исполнения скриптов?
По разному: "свалка" полностью контролирует МК, Lua - исполняться в среде исполнения :)
4) Как передавать данные по сети? И какие есть методы?
Все зависит от прошивки, аппаратно МК обеспечивает замену среды передачи с провода на WiFi, все остальное программируется автором прошивки. В "свалке" например без особых проблем можно использовать web-сервер на 80-ом порту (помимо других поддерживаемых протоколов).
 

Юрий Ботов

Moderator
Команда форума
Мое ИМХО:
1. Прошивки esp понятие не однозначное. Есть такие как вроде операционная система (FreeRtos) есть и такие которые скорее OC встроенная в интерпретатор (Lua, Javascript), есть прошивки чистого преобразования uart-wifi, и всегда есть возможность выкинуть все и написать свой код.
2. Исходя из задачи. Если задача переслать 3 байта. Возникает вопрос: с чем вам комфортно работать? Если ваш конек - arduino - работайте через прошивку uart-wifi и не забивайте себе голову оптимизацией. Товарисч Кнутт (знакома фамилия?) говорил что преждевременная оптимизация - корень всех зол. Если вы мастер ARM - само собой тут Espressiv ну а если вы знаете что такое Node.js - тогда прошивка с javascript -это супер! Если понравится LUA - тоже ничего, но внимательнее читайте форум. Есть свои тонкости.
3. Прошивок несколько! Одна из прошивок - главный код. Остальные вторичны.
Ответ на четвертый вопрос - не относится к esp8266 и есть даже в примерах для esp8266Arduino. И TCP и UDP и HTTP.
 

vitge

New member
Здравствуйте. Решил попробывать работать с LUA. Обновил модуль до последней версии. Загрузил среду ESPlorer. Загрузил пример из источника-инструкции. Модуль коннектится, все в порядке выдают версию. Но последняя процедура записи скрипта уже в модуль выдает ошибку ERROR каждой строки в правом окна. Пробывал другие исходники, но результат тот же. Такое чувство, что модуль заблокирован на запись. Хотя пробывал игратся с 0-вым пинам на землю. Таже реакция. Выдает ошибку. В чем проблема ?
 

VecH

New member
NodeMCU_Development_Board.jpg
Приобрел ESP8266 NodeMCU (фото), приехало с немного погнутым разъемом MicroUSB, выправил, подключил, обнаружилось как COM порт, с ардуинками дел не имел, но вдоволь наработался с RaspberryPI и задействовал в проектах (датчики температур, счетчики воды, реле, диоды, считыватели ключей Wiegand и т.д.), там все на питоне + C
Тут немного озадачен, с какой стороны подходить

Посоветуйте с чего начать
Конкретно сейчас хотелось бы попробовать при наличии модуля реле с 4 портами и датчиками температур DS18B20, в зависимости от одного из датчиков дергать то или иное реле.

На данном этапе не могу понять с каким ПО/IDE лучше кодить и на каком языке программировать, навыки программирование есть в разных языках, помогите кто чем может как можно более подробно
 

VecH

New member
На сайте везде пишут контакты на землю, разомкнуть и т.д. это если всю обвязку для прошивки делаем самостоятельно, у меня же готовый модуль NodeMCU.
На NodeMCU есть две кнопки, Reset и Flash, что они делают и в какой последовательности ими пользоваться?
Хочу обновить прошивку до до 0.23, но их две версии и несколько предыдущих с разными дополнениями в именах файлов:
v0.23 SDK 1.0.1 No Cloud Update 512k AT v0.23 SDK 1.0.1 No Cloud Update 512k (520.2 KB)
v0.23 SDK 1.0.1 flash 512k AT v0.23 SDK 1.0.1 flash 512k (524.3 KB)
v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.3b AT v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.3b (520.2 KB)
v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.2 AT v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.2 (520.2 KB)
v0.22 SDK 0.9.6b1 15.02.2015 AT v0.22 SDK 0.9.6b1 15.02.2015 (520.2 KB)
v0.21 SDK 0.9.5 24.01.2015 AT v0.21 SDK 0.9.5 24.01.2015 (520.2 KB)
v0.20 SDK 0.9.4 26.12.2014 AT v0.20 SDK 0.9.4 26.12.2014 (520.2 KB)
9.2 Cloud UPGRADE AT 9.2 Cloud UPGRADE (269.0 KB)
Как эти названия расшифровывать помимо версии, даты?
 

cnapmakyc

New member
Всем добрый день,
Пытаюсь разобраться с NodeMCU и LUA ... подвис вроде на простой вещи, ткните ссылкой или так подскажите:
1.Если файл единственный (init) то он выполняется по кругу бесконечно.
2. А если в нем команда dofile(‘temp.lua’) то как? выполнит temp и вернется назад или останется в бесконечном temp ?
 

cnapmakyc

New member
а в темп.луа есть бесконечный цикл?
Дык нету, как и в ините, потому и спрашиваю. Видимо меня сбила аналогия с ардуино (луп). Получается, если у меня к примеру в ините установки входов - выходов и переход в темп (do), где опрос входов, вычисление и задание выходов, то программа после выполнения темпа вернется назад и дойдя до последней строчки инита встанет? Или инит сам по кругу бегает?
 

cnapmakyc

New member
инит запускается при старте. Потом крутите цикл ручками.
Благодарю, за информацию, и за ответ! Если можно, еще вопрос.. я смотрю, всем рулят таймеры. Это прерывания? Если опять же в ините прописан таймер циклический, а когда подошло его время работает другой файл, тот же темп, он прервется на выполнение таймера? Другими словами, если ранее из какого-то файла был запущен таймер, он остается актуальным при выполнении другого файла?
 

nikolz

Well-known member
На сайте везде пишут контакты на землю, разомкнуть и т.д. это если всю обвязку для прошивки делаем самостоятельно, у меня же готовый модуль NodeMCU.
На NodeMCU есть две кнопки, Reset и Flash, что они делают и в какой последовательности ими пользоваться?
Хочу обновить прошивку до до 0.23, но их две версии и несколько предыдущих с разными дополнениями в именах файлов:

Как эти названия расшифровывать помимо версии, даты?
кнопкой ресет пользуйтесь если надо сбросить когда зависло.
В остальных случаях ничего нажимать не надо. Все работает автоматом
 

alex_fish

New member
Здравствуйте, решил не создавать новую тему а задать вопросы тут.
Имею ESP-12 на платке с штыревыми выводами.
Хочу научится писать программы для этого модуля, очень желательно чтобы писать на Си без всяких ОС (пока). (имел опыт с AVR- писал на чистом Си и регистрах и STM32 писал на Си с применением spl+cmsis)
Как тут пишут можно легко писать на Си в Eclipse, компилировать и зашивать bin файл и отсюда у меня вытекает вопрос.
Где бы достать Step-by-step инструкцию по этому поводу? чтобы начиная с установки eclipse и компилятора и заканчивая примерами использования оффициально API и зашивкой в чип.
 

Andy Korg

Moderator
Команда форума
Где бы достать Step-by-step инструкцию
Step-by-step инструкция не предназначена для бесплатного распостранения. Необходимо перечислить 10 юаней (или 100 рублей) для ее использования. Ссылка верху форума на главной странице. :) Шутка
На самом деле есть такая инстукция. Загляните в тему UDF
 
Сверху Снизу