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

Скоростной интерфейс

Arkadiy

New member
Всем здравствуйте,

Делаю первые шаги в освоении ESP32 (c ESP8622 дела так же не имел)
У меня ESP32 у меня будет в качестве slave устройства.
Ведущим устройством будет STM32.
Вопрос у меня такой:
Есть набор AT команд, который я так понимаю работает только uart. (если ошибаюсь поправьте)

Для управления модулем ESP32 хотелось бы использовать более быстрый интерфейс (типа SPI или на край i2c)
Как это возможно сделать? может есть готовый софт и т.д.
Дайте пинок в нужном направлении...

И ещё вопрос.
Есть ли решения готовые решения, чтобы на BT и Wifi был выделен свой uart интерфейс, т.е. два интерфейса с AT-командами?



Спасибо!
 

pvvx

Активный участник сообщества
Для нормального скоростного интерфейса к ESP8xxx стоит взглянуть сюда:
У ESP32 ещё не всё гладко с BT/BLE/Mesh/Zigbee...
 

pvvx

Активный участник сообщества
Все другие решения на ESP адаптированы для игры в Arduino, где общий поток не превышает пары байт в сек, остальное не популярно и не развито. По этому и для “AT” не требуется скоростных интерфейсов.
Да и как загнать в чип хотя-бы стандартный поток в 1+ мегабайт в сек, который они запросто прокачивают по WiFi в TCP и к 1.6+ мегабайт при UDP, не используя QSPI/SDIO интерфейс?
 

Arkadiy

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

pvvx

Активный участник сообщества
Собственно из Ваших ответов для меня ситуация не прояснилась.
Указанный пост посмотрел, но там ничего полезного не обнаружил....
Короче говоря, вопрос остается открытым...
А что можно ответить на общие вопросы? Типа смысл жизни? :)
И всё определятся ваши познаниями. По ссылке указан самый скоростной интерфейс и реализация для стыка ESP8266 с STM32.

А по общему вашему вопросу, про "смысл жизни":

Для BT и прочих (BLE/Mesh...) поток ограничен до 100 килобайт.
Нормальных "AT" для BT не бывает, кроме SPP профиля, имитирующего прямой канал UART, в лучшем случае до пол. мегабита.
Если у вас устройство выступает в качестве шлюза IP<->BT, то решений кроме BLE2MQTT не наблюдается. Как начальный вариант:
https://github.com/shmuelzon/esp32-ble2mqtt
 

pvvx

Активный участник сообщества
Есть набор AT команд, который я так понимаю работает только uart. (если ошибаюсь поправьте)
"AT" использует двунаправленный асинхронный интерфейс. Шины SPI или I2C имеют мастера и асинхронно принять от подчиненного ответ не могут, без расширения самого интерфейса или изменения протокола. Это будет уже не "AT".
Есть ли решения готовые решения, чтобы на BT и Wifi был выделен свой uart интерфейс, т.е. два интерфейса с AT-командами?
А каков смысл такого варианта, если "AT" и по одному каналу uart может работать и с BT и с WiFi?

Такие вопросы проясняют вашу ситуацию?
 

Arkadiy

New member
Спасибо, сейчас буду смотреть код по вашей ссылке.
"AT" использует двунаправленный асинхронный интерфейс. Шины SPI или I2C имеют мастера и асинхронно принять от подчиненного ответ не могут, без расширения самого интерфейса или изменения протокола. Это будет уже не "AT".

А каков смысл такого варианта, если "AT" и по одному каналу uart может работать и с BT и с WiFi?

Такие вопросы проясняют вашу ситуацию?
Да, это та информация, которая была нужна, спасибо)


Смысл выделенного канала был вот в чем:
В моем устройстве BT используются для межблочного соединения,
А вайфай для внешних соединений.
Задачи непересекающиеся, поэтому во Freertos мастера хотел повесить на каждый порт свою задачу. Короче из соображений структуры кода. И ускорения работы. Конечно это совсем необязательно.
 
Сверху Снизу