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

Нужна помощь ESP8266 и разные датчики (Электрические вопросы новичка)

CMax

New member
Всем добрый день.
Как ни старался, но изучая форум, так и не нашел ответы на вопросы.
Вопросы довольно дурацкие. В программировании шарю, в железе понимаю, но обилие вариантов и модификаций железа выносит мозг. Хочется обезопасить себя от пустой траты времени, на наступание на примитивные грабли, оставить время на сложные грабли:)

1. Собираюсь прошивать ESP8266 через USBASP с переключателем на 3.3В. (Но переключатель работает только на напряжение питания, а уровни выходов остаются те же). Для стабильности могу на ESP поставить отдельный блок питания. Вопрос: выдержит ли ESP прошивку Пятивольтовой логикой?
2. Собираюсь к ESP подключать датчики 1Wire или i2c (особый интерес к GY-521). Общая картина ясна, но GY-521 вроде как не любит сильного радио излучения, а разносить их далеко я не хочу. Какова стабильность работы по 1Wire и i2c при частых опросах и передаче информации по WiFi (30..100 раз в секунду)? Какова радио наводка на рядом стоящее оборудование?
3. Планируется активная передача данных по wi-fi (30..100 раз в секунду по 32..64 байта). Выдержит ли ESP такую нагрузку?
4. Какая модификация ESP лучше подходит для активной работы по WiFi? Желательно компактная.
 

Victor

Administrator
Команда форума
прошивать ESP8266 через USBASP
нужен не программатор, а USB-TTL конвертер
выдержит ли ESP прошивку Пятивольтовой логикой?
да
Выдержит ли ESP такую нагрузку?
если хватит скорости UART. На больших скоростях (более 115200) стабильность сильно зависит от наводок, питания и т.п.
Какая модификация ESP лучше подходит для активной работы по WiFi? Желательно компактная.
без разницы. Различия, в основном, в размере памяти, типе антенны и количестве разведенных выводов кристалла - так что выбирайте то, что больше нравится
 

CMax

New member
Спасибо за быстрый ответ.

нужен не программатор, а USB-TTL конвертер
Да, Вы правы, я хотел USBASP использовать как переходник для тестирования i2c датчиков. Хотя и как USB-TTL он тоже может работать (вроде), но для этого есть другой переходник - CP2104.

если хватит скорости UART. На больших скоростях (более 115200) стабильность сильно зависит от наводок, питания и т.п.
Так я хочу использовать свою прошивку для опроса датчика(-ов) и оправки информации по WiFi. UART не использую.

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

pvvx

Активный участник сообщества
3. Планируется активная передача данных по wi-fi (30..100 раз в секунду по 32..64 байта). Выдержит ли ESP такую нагрузку?
64*100 = 6400 байт = всего 5 пакетов TCP (mss=1460 байт). ESP8266 в Web сервере, при отключенном выводе отладки в com порт, т.к. он тормозит процесс, передает данные со скоростью за 1 мегабайт в сек (10..12 мегабит, т.к. 802.11g — 54 Мбит/c теоретическая, а TCP пакеты требуют ещё подтверждения приема с другой стороны)
 

CMax

New member
64*100 = 6400 байт = всего 5 пакетов TCP (mss=1460 байт). ESP8266 в Web сервере, при отключенном выводе отладки в com порт, т.к. он тормозит процесс, передает данные со скоростью за 1 мегабайт в сек (10..12 мегабит, т.к. 802.11g — 54 Мбит/c теоретическая, а TCP пакеты требуют ещё подтверждения приема с другой стороны)
Ок.
Спасибо за информацию.
О фрагментации я помнил, но хотел ее оставить на потом.
Получается для оперативности мне надо передавать по одному пакету. Допустим размер пакета останется "стандартным" 1460 байт.
Оказываемся от TCP в пользу UDP (надо посмотреть как UDP реализован на ESP).
Предаем по 100 пакетов в секунду, это уже около 146000 байт в сек. Получается скорость не большая, остается время в эфире на другие устройства.
Надеюсь я правильно посчитал.
 

pvvx

Активный участник сообщества
Получается для оперативности мне надо передавать по одному пакету. Допустим размер пакета останется "стандартным" 1460 байт.
Оказываемся от TCP в пользу UDP (надо посмотреть как UDP реализован на ESP).
Предаем по 100 пакетов в секунду, это уже около 146000 байт в сек. Получается скорость не большая, остается время в эфире на другие устройства.
Надеюсь я правильно посчитал.
Не правильно - с 1Wire или i2c не получить такой поток. :) I2C в пределе на 400кГц, если чтение блоками, то до 40000 байт в сек.
1Wire вообще обычно тормоз.
И оба интерфейса занимают процессорное время, т.к. программные. I2C при этом нельзя удалять на расстояние более пару десятков см. Т.е. эти интерфейсы не являются проф.решениями.
 
Последнее редактирование:

Tomahawk

New member
Какова стабильность работы по 1Wire и i2c при частых опросах и передаче информации по WiFi (30..100 раз в секунду)?
О_о Зачем вам столько раз в секунду? Если хотите передавать данные от датчиков, такая скорость будет лишней.
 

CMax

New member
Не правильно - с 1Wire или i2c не получить такой поток. :) I2C в пределе на 400кГц, если чтение блоками, то до 40000 байт в сек.
1Wire вообще обычно тормоз.
И оба интерфейса занимают процессорное время, т.к. программные. I2C при этом нельзя удалять на расстояние более пару десятков см. Т.е. эти интерфейсы не являются проф.решениями.
Если максимально ужать поток информации от датчиков то больше всего данных у GY-521, там по 16 байт чтения + служебная информация. Допустим 20 байт * 100 чтений в сек. = поток 2000 байт в сек. Это укладывается в стандартную скорость I2C на 100кГц.

О_о Зачем вам столько раз в секунду? Если хотите передавать данные от датчиков, такая скорость будет лишней.
Для датчика температуры, освещенности, давления, влажности такой поток будет излишним, я даже думаю инертность самого датчика больше.
А если говорить о гироскопе, то тут скорость очень важна.
Сейчас пытаюсь найти информацию как прошить сам GY-521, для использования его мат процессора.
 

pvvx

Активный участник сообщества
Если максимально ужать поток информации от датчиков то больше всего данных у GY-521, там по 16 байт чтения + служебная информация. Допустим 20 байт * 100 чтений в сек. = поток 2000 байт в сек. Это укладывается в стандартную скорость I2C на 100кГц.
В предел, без других датчиков.
Сейчас пытаюсь найти информацию как прошить сам GY-521, для использования его мат процессора.
Есть нормальные датчики "все известные МЭМС в одном" с SPI
 

vet_space

New member
Подскажите, плз. Может кто-то уже сталкивался с таким вопросом: необходимо ESP8266 сопрячь с акселлерометром, например ADXL345, по SPI шине и передавать данные непрерывно на Android телефон. Вопрос в следующем, что из готовых решений в сети можно использовать, я имею ввиду прошивки, протоколы, Android UDP клиенты или лучше все делать с нуля.
 

pvvx

Активный участник сообщества
с акселлерометром, например ADXL345, по SPI шине
Зависит с какой Output Data Rate вам нужны данные с него.
ИМХО: без обработки на месте данных с этого датчика нет никакого смыслу в их передаче. Из чего выходит, что надо всё писать самому.
 
Сверху Снизу