Архив по меткам :

QR-code

ССЫЛКИ

Свежие комментарии

Дек 21

Arduino Mega Server. Установка на ESP8266.

vydelenie_004 Arduino Mega Server (AMS, АМС) — проект управления умным домом и даже больше чем управление умным домом, на нем можно реализовать различные устройства, например управление станком с ЧПУ, 3D принтером или роботом, но в основном конечно используется под управление умным домом. Вообще мне не был интересен этот проект по причине того, что изначально он работал на Arduino MEGA и DUE, Мега — это 8-и разрядный процессор, у DUE хоть и 32-х разрядный процессор, но от его использования я отказался в проектах умного дома по причине того, что после подачи питания после пропадания чтобы запустить надо нажать сброс (Reset) и пришлось бы городить дополнительно какой то хард резет, в принципе есть решение, но городить не было желания, да и цена DUE с Ethernet шилдом была аналогична OrangePi PC. Обратил я внимание на это проект когда стала поддержка ESP8266. Как установить на ESP8266 и пойдет речь.

Нам необходима среда разработки ArduinoIDE с установленными библиотеками для работы с модулем ESP8266, разработчик рекомендует использовать ArduinoIDE версии 1.6.5r2 с библиотекой ESP8266 версии 2.0.0 (основана на SDK 1.3.0), но у меня заработало с последней версии Arduino IDE с последними версиями библиотек для модуля ESP8266 2.3.0rc2 (версия SDK 1.5.3).

Установка ArduinoIDE и библиотек для ESP8266 описана в статье ESP8266 в ArduinoIDE.

Качаем дистрибутив АМС для ESP8266 с страницы загрузки, я качал архив ams_esp8266_015.zip, архив содержит в себе 2 архива: ESP8266FS-0.1.3.zip и Sketches.zip, а так же файл readme.txt

Распаковываем архивы, получатся папки ESP8266FS и Sketches

Папку ESP8266FS копируем в папку с ArduinoIDE в папку tools, из папки Sketches папку arduino_mega_server_esp8266 копируем в папку sketchbook, и из папки libraries в архиве копируем в папку sketchbook/libraries, в ArduinoIDE, должно быть расположение как на картинке

vydelenie_011

Открываем ArduinoIDE и выбираем плату Generic ESP8266 Module c параметрами как показано на рисунке.

menyu_013

Теперь открываем наш скетч АМС через меню Файл — Открыть…, выбираем файл /portable/sketchbook/arduino_mega_server_esp8266/arduino_mega_server_esp8266.ino

В соответствии с инструкцией на сайте разработчика скетч надо поправить указав IP адрес нашего устройства и параметры точки доступа к которой будет подключаться устройство с АМС.

Для этого во вкладке arduino_mega_server_esp8266 ищем строку

byte SELF_IP[] = {192, 168, 1, 40};

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

и при необходимости адрес gateway, то есть адрес Вашего роутера

IPAddress gateway(192, 168, 1, 1);

Так же на сайте разработчика написано:

Если у вас всё работает, то этот пункт инструкции вы можете пропустить, он написан для тех, у кого есть проблемы с «лишней» точкой доступа. Проблема выглядит следующим образом: у вас появляются две точки доступа с одинаковыми названиями — одна от роутера, а вторую создаёт модуль.

Это происходит не всегда, а только в тех случаях, когда ваш модуль работает в смешанном режиме станции и точки доступа (из-за настроек, произведённых ранее, до работы с AMS). Проявляется это в том, что ваши беспроводные устройства начинают «цепляться» не к роутеру а к модулю ESP8266.

Для устранения этой проблемы нужно принудительно перевести модуль в режим работы станции, добавив сразу после строки

Serial.print("Connecting to "); Serial.println(ssid);
строку

WiFi.mode(WIFI_STA);
Если у вас дистрибутив для WeMos D1 mini, то вам делать ничего не нужно — там эта строка уже присутствует.

У меня такой проблемы не возникло, но я строчку добавил во вкладке wifi

Всё готово для заливки скетча и файловой системы на модуль. Подключаем модуль к программатору, если у вас модуль со встроенным USB-UART преобразователем (например NodeMCUv3), то подключаем модуль к USB порту.

На сайте разработчика написано, что сначала заливается файловая система, а затем скетч, но последовательность тут не важна на самом деле, поскольку заливаются в разные разделы памяти, скетч заливается начиная с адреса 0, а файловая система с адреса 0х00100000

Заливка файловой системы.

Если в режим программирования вход путем нажатия кнопки (как это у модулей NodeMCU) то зажимаем кнопку prog, если модуль подключен через USB-UART преобразователь с сигналами RTS и DTR, то ничего делать не надо, а сразу нажимаем в ArduinoIDE меню Инструменты — ESP8266 Scetch data upload

Будет создан бинарный файл и прошит на устройство. Бинарный файл будет создан из файлов, размещенных в папке data которая лежит в папке со скетчем, то есть в эту папку можно добавлять файлы и эти файлы попадут в файловую систему на модуле.

После создания и прошивки файловой системы прошиваем скетч нажав на кнопку Выделение_146

на этом прошивка закончена.Можно сразу зайти на АМС набрав в браузере заданный адрес, а можно посмотреть загрузку в мониторе порта в ArduinoIDE меню Инструменты — монитор порта

и в нижнем правом углу открывшегося окна устанавливаем скорость 115200, перезагружаем с помощь reset и видим вывод:

Вот наш АМС в браузере

vydelenie_014

 

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Синдикация

Понравилась статья? Подпишитесь на RSS .

комментарии отключены, по вопросам в почту или вконтакте http://vk.com/kusheev