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

Как подключить MCU к WROOM-02 по SPI?

Alex Zas

New member
Здравствуйте.
В одном из моих проектов понадобился Web-интерфейс. Для этого я применил WROOM-02, который подключён к основному MCU по последовательному интерфейсу (RX, TX, RTS, CTS). Скорость обмена 345600 бод. Версия WROOM-02:

AT version:1.3.0.0(Oct 28 2016 11:29:39)

SDK version:2.0.0(6ccde98)

compile time:Mar 31 2017 14:50:03


Инициализация после включения:

AT+UART_CUR=345600,8,1,0,3

AT+CWSAP_CUR="ABCD","XYZ",1,2

AT+CWMODE_CUR=2

AT+CIPMUX=1

AT+CIPSERVER=1,80


Далее с помощью команд "+IPD" и " AT+CIPSEND" MCU осуществляет обмен данными с WROOM-02. В памяти MCU есть набор файлов, который формирует Web-интерфейс. MCU получает HTTP запросы и передаёт запрошенные файлы.

Всё работает, но для работы с WROOM-02 приходится использовать аппаратный UART, который в моём MCU один и используется для другой задачи. Приходится переключать аппаратный UART между двумя задачами, что неудобно и вызывает паразитные задержки.

Изначально для работы с WROOM-02 я планировал использовать программный UART, но на скорости 9600 бод Web-интерфейс работает очень медленно.

В описании WROOM-02 упоминается интерфейс SPI, якобы с его помощью можно подключить WROOM-02 к MCU.

Будьте добры - подскажите можно ли реализовать вышеизложенное по SPI без UART (передавать AT-команды и получать ответы по SPI)?

Для этого нужно иметь описание SPI регистров WROOM-02 - у кого нибудь есть такое описание?

Кто нибудь такое делал?

Заранее благодарен, Алексей...
 

CodeNameHawk

Moderator
Команда форума
В описании WROOM-02 упоминается интерфейс SPI, якобы с его помощью можно подключить WROOM-02 к MCU.
АТ прошивка вряд ли умеет работать с SPI.
Вашу задачу можно решить написав скетч в ардуиноиде, отказавшись от АТ команд.
Возможно хватит скорости 9600, так сами веб страницы будут в есп, а их вызов будет через уарт, а к SPI подключите дополнительные датчики.
Если задача совсем простая то MCU не нужен.
 

Alex Zas

New member
В таком случае скетч должен реализовать упрощённую файловую систему во flash памяти модуля с возможностью чтения/записи файлов по UART от MCU. Также скетч должен во время работы Web-интерфейса налету по UART запрашивать от MCU большое количество параметров и подставлять эти данные в выводимые страницы HTM.
Есть ли готовые скетчи с подобным функционалом?
Может ли скетч осуществлять запись в свою flash память и какой объём памяти доступен в WROOM-02?
 

CodeNameHawk

Moderator
Команда форума
В таком случае скетч должен реализовать упрощённую файловую систему во flash памяти модуля с возможностью чтения/записи файлов по UART от MCU.
Для чего их читать по UART? Записать изменить их можете через веб.
Также скетч должен во время работы Web-интерфейса налету по UART запрашивать от MCU большое количество параметров и подставлять эти данные в выводимые страницы HTM.
Без проблем.
Есть ли готовые скетчи с подобным функционалом?
Есть, смотрите примеры в студио, есть видео от Сергея Третьякова.
ESP8266 Arduino IDE - Третьяков Сергей
Может ли скетч осуществлять запись в свою flash память и какой объём памяти доступен в WROOM-02?
Может, но ресурс перезаписи ограничен.
В примерах найдете определение доступной памяти.
 

Alex Zas

New member
Для чего их читать по UART? Записать изменить их можете через веб.

Моё устройство находится далеко, в составе устройства есть GSM-модуль, память micro-SD, модуль навигации и ещё много оборудования, по RS-485 и т.д. Изменение контента Web-интерфейса происходит по TCP в сеансе соединения с сервером. Web-интерфейсом пользуется обслуживающий персонал, который не уполномочен вносить изменения в контент.
 

CodeNameHawk

Moderator
Команда форума
Alex Zas написал(а):
Изменение контента Web-интерфейса происходит по TCP в сеансе соединения с сервером.
Я не против, когда надо меняйте.

Всё работает, но для работы с WROOM-02 приходится использовать аппаратный UART, который в моём MCU один и используется для другой задачи. Приходится переключать аппаратный UART между двумя задачами, что неудобно и вызывает паразитные задержки.
Решение в лоб, добавьте промежуточный проц с несколькими аппаратными уартами или вторую есп, иначе ограничение скорости из за софтового уарта.
Другого решения не предложить, не зная использованного железа и возможности его модификации.
 

Alex Zas

New member
Моё устройство, в котором Web-интерфейс реализован через UART, выпускается небольшими партиями. Всё работает, но из-за совместного использования UART MCU для работы с GSM-модулем и WROOM-02 при одновременно установленном CSD/TCP соединении и работе Web-интерфейса в обоих задачах происходят замедления. Не говоря о сложности программной реализации такого переключения.
Сейчас проектирую аналогичное устройство тоже с Web-интерфейсом - хотелось бы подправить косяки, освободить UART MCU от работы с WROOM-02. Тем более что в MCU есть свободный SPI.
Для меня идеально было бы прошить в WROOM-02 скетч, который реализовал бы AT-команды по SPI.
 
Сверху Снизу