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

Quick Start для чайника

unidiag

New member
Прошу не пинать сильно, если вопрос изъезженный. Своё знакомство с ESP8266 начал пару дней назад. Благодаря инфомарции на этом сайте и форуме кое-что даже начинает получаться.
Собрал демо-плату по такой схеме:

По совету Victor-а залил с помощью XTCOM_UTIL прошивку https://drive.google.com/folderview...&usp=sharing&tid=0B_ctPy0pJuW6d1FqM1lvSkJmNU0
которая позволяет управлять портами и читать АЦП AT-командами.
Пытаюсь идти дальше, скачал SDK 1.0.0, ESPlorer, некоторые исходники. И тут ступор. Перечитал много материалов, но не нашёл банальную инструкцию по компиляции проектов в bin-овский файл.

В идеале, к чему хотелось бы придти - это управление портами по команде с url-а:

Код:
http://192.168.4.1/?gpio12=1    -- установить GPIO12 в 1
http://192.168.4.1/?gpio13=0   -- установить GPIO13 в 0
http://192.168.4.1/?gpio13   -- прочесть состояние GPIO13
http://192.168.4.1/?adc   -- прочесть состояние АЦП
Может подобные проекты уже существуют, буду рад если направите в нужное русло.

--- UPDATE ---

Итак, уже кое-что. Начал разбираться с этой библиотекой. Действительно, она даёт огромные возможности по функционалу над модулем ESP8266 в виде подключения к нему по Wi-Fi и управления с помощью вебинтерфейса. Было скудновато с инфой что с ней делать после скачивания, но почитав readme.txt, быстро вник в смысл. Спасибо автору! Хорошая работа!
 
Последнее редактирование:
Могу добавить от себя одно,если есть отличные знание Си,тогда лучше изучать SDK,ссылки на которые вам давал Victor,если вы начинающий,и Си знаете средне,тогда лучше всего начинать на LUA,загрузив NodeMCU.Лично я так и поступил, и есть уже нормальные результаты,о которых я напишу здесь на форуме позже.Начинающим будет очень полезно
 
все таки я бы посоветовал посмотреть в сторону Arduino IDE
Да,может быть вы правы.Смотря для каких целей нужно.Мне например Arduino IDE пока не подходит,потому что мне нужен веб сервер с поддержкой get запросов и с поддержкой java
 

Victor

Administrator
Команда форума
Да,может быть вы правы.Смотря для каких целей нужно.Мне например Arduino IDE пока не подходит,потому что мне нужен веб сервер с поддержкой get запросов и с поддержкой java
на NodeNCU вам вряд ли памяти хватит, а вот в следующем релизе Arduino IDE будет поддержка функции F() и, возможно, PROGMEM для хранения строковых констант во флеш памяти, а не в оперативке, поэтому там это будет проще реализовать. Также надеемся, что в Arduino IDE будет реализована файловая система с загрузкой файлов по FTP, а такие планы у разработчиков есть. Так что делайте пока на NodeMCU, но обязательно посмотрите возможности следующего релиза Arduino IDE, когда он выйдет.
 

JustACat

Moderator
Команда форума
unidiag, добавлю по схеме:
1) GPIO0 на землю лучше тоже через резистор тянуть, т.к. сразу после входа в boot он начинает на эту ногу выдавать частоту кварца (26 МГц) на все время нахождения в режиме загрузчика - можете сами проверить осциллом или частотомером, если есть.
2) ну и если вдруг захочется использовать режим сна в ESP (deep_sleep), то надо еще GPIO16 подключать к ноге REST. Так как именно через эту ногу ESP сам себя сбрасывает для выхода из deep_sleep.
 

unidiag

New member
на NodeNCU вам вряд ли памяти хватит, а вот в следующем релизе Arduino IDE будет поддержка функции F() и, возможно, PROGMEM для хранения строковых констант во флеш памяти, а не в оперативке, поэтому там это будет проще реализовать. Также надеемся, что в Arduino IDE будет реализована файловая система с загрузкой файлов по FTP, а такие планы у разработчиков есть. Так что делайте пока на NodeMCU, но обязательно посмотрите возможности следующего релиза Arduino IDE, когда он выйдет.
При слове Arduino у меня конструктивный диссонанс)) К сожалению, я так и не познакомился с этими железками, - были только малинки в качестве автономных серверов.
Если я правильно понял, то среда Arduino IDE работает с ардуинкой, к которой подключён модуль ESP8266???
 

JustACat

Moderator
Команда форума
с этими железками
А чего такого? В основе Arduino (классических) лежит AVR микроконтроллер. Многие используют сами Arduino просто потому, что можно получить от китайцев с того же ali очень дешево готовый модуль с нужным обвесом, типа такого: туц или туц (заметьте, цена за 5 штук). Там и кварц, и стабилизатор на 5 или 3.3 - красота.
Программирование под Arduino - опять же - обычный Си/Си++ - но сверху сообществом наворочена просто уйма готовых библиотек.

Проект Arduino IDE на нашем сайте - это попытка умельцев портировать Arduino среду и Arduino библиотеки (коих много) для написания своих прошивок прямо под ESP8266.
Если не хочется писать именно в Arduino IDE (т.к. не всем нравится упрощенность этой IDE и отсутствие в ней некоторых полезных для разработки вещей), то можно взять UDK и сверху Sming. Тогда в итоге разрабатывать будете в eclipse (мне больше нравится), но опять же с возможностью использования наработок для Arduino.
В любом случае везде Си/Си++ (да, ардуиновцы зовут свой язык Wiring, но по сути это Си/Си++ с кучей удобных надстроек).

Итого: Arduino - это не железка. Это идеология, некое комьюнити (очень разросшееся за время существования) с кучей готовых решений. Как-то так.
 

Tohakrat

New member
В идеале, к чему хотелось бы придти - это управление портами по команде с url-а:
Это реализовано в библиотеке Sming, в проекте HttpServer_Bootstrap, там команда отправляется с кнопки web страницы на gpio2
Управление остальными портами можно реализовать по аналогии.

Для того чтобы все запустить необходимо
1) Поставить Unofficial Development Kit for Espressif ESP8266
2)Скачать библиотеку Sming.
3)Запустить Eclipse, прошить проект HTTPServerBootstrap в модуль. Предварительно в файле application.cpp подставить ssid и pass своего роутера, собираем и записываем во флеш память(Тоже через эклипс). В make файле подменить номер com порта на свой.
4)Включаем программу Terminal на скорости 115200, передергиваем питание и видим айпишник модуля esp8266
5)Заходим на айпи адрес и видим кнопки on, off управления портом 2.

ЗЫ респект Anakodу за работу!!!
 

geo

New member
добавлю по схеме:
1) GPIO0 на землю лучше тоже через резистор тянуть
Наверно, Вы имели в виду "на VCC"?
GPIO0 нужно подтянуть к VCC через резистор, тогда замыканием GPIO0 на GND - переход в режим программирования.
 
Сверху Снизу