Нет, без RTS/CTS.Если я напишу сам простенькую прошивку uart-wifi-tcp, не перегруженную сервисами, то возможно еспэшка будет успевать хоть на 4-5 мбит?
Ставьте сразу готовую камеру за 1.3 руб на али. Та есть выходы для поворота камеры и входы, а так-же динамик и микрофон + авто ИК подсветка, если поедете "на танке" под диван. Будете кричать "из танка" по телефону...Мне нужно для танков с управлением по wifi. На танках должны стоять камеры. По крайней мере такая задумка.... Так вот мне хотя-бы 3-4 кадра 320х240х8bit вытянуть на еспэшке.
А кто софт на всё писать будет? На Типа такой можно ездить из офиса под диваном дома... Открыть крышку и к выводам с боку платы припаять входы драйверов моторчиков и всё...Мне нужно несколько подругому. Попробую пнуть на 3 мбит или использовать управляющие сигналы.
Я пробовал соединять due и esp по 8-битной шине + два управляющих провода. Так на есп это заняло все свободные пины. Да и на due минус 10 пинов это плохо. Естественно программно дёргаю ногами, но не через digitalRead или digitalWrite, а напрямую через регистры. Больше укорить GPIO невозможно. Скорость получилась где-то под 3 мегабита. Тоже самое, что и uart. Мало и муторно.Переделывайте на SPI или SDIO. Там затрат процессорного времени у ESP8266 меньше и возможно включение убогого варианта типа DMA реализованного в чипе...
Arduino-due то зачем ? Она же тормоз и дорогая...
Если при передаче есть паузы в 3 символа (на UART) - это будет обрыв пакета и срочная передача. Наверняка дрыгание ногами прерывается другими задачами и получается "конец фрейма", требующий срочной отсылки, а кол-во передач пакетов в сек у ESP мало. Требуется заполнение 2-х пакетов по MSS (что-то вроде 1460 байт - счас не помню - уточните в коде ) и их передача. Тогда на TCP будет принят один ACK и это дает максимальную скорость, т.к. меньше накладных расходов и ожиданий ACK.Естественно программно дёргаю ногами, но не через digitalRead или digitalWrite, а напрямую через регистры. Больше укорить GPIO невозможно. Скорость получилась где-то под 3 мегабита. Тоже самое, что и uart. Мало и муторно.
А я пишу вам как оптимизировать для UART... Вписал в 2 прошлые соо "(на UART)", чтобы не повторять.Вы меня не поняли. Я пишу, что программная параллельная шина это - костыль.
А я пишу вам как оптимизировать для UART...
Честно-говоря не совсем понимаю написанное. У меня не сильно шибкие знания в программировании.Если при передаче есть паузы в 3 символа - это будет обрыв пакета и срочная передача. Наверняка дрыгание ногами прерывается другими задачами и получается "конец фрейма", требующий срочной отсылки, а кол-во передач пакетов в сек у ESP мало. Требуется заполнение 2-х пакетов по MSS (что-то вроде 1460 байт - счас не помню - уточните в коде ) и их передача. Тогда на TCP будет принят один ACK и это дает максимальную скорость, т.к. меньше накладных расходов и ожиданий ACK.
А писали:Честно-говоря не совсем понимаю написанное. У меня не сильно шибкие знания в программировании.
Если андроид у вас не правильно принимает по TCP, то что делать? Есть разные "стеки TCP" - в одном из вариантов можно гнать по 2 пакета и на них приходит один ACK.У меня уже есть наработки по этой теме. Есть написанный на андроиде tcp-сервер с выводом изображения на экран. Там же будет и интерфейс управления танком. К танку ещё нужны .......
Она обучена аппартано в данной UART2TCP прошивке. Ей сколько ждать, до передачи пакета, если пользователь вводит по одному символу?Как esp поймёт, что была пауза в три символа? Ей же пофиг, что там прилетает из уарта. Она просто берёт и отправляет.
Передать по UART в ESP блок размером 1460*2 байта хоть на 20 Mbit/s. Далее сделать паузу. Потом передать ещё такой-же блок и т.д. Но лучше отслеживать RTS/CTS. Это дает большую гарантию и синхронизацию с приемом-передачей по WiFi - вдруг в эфире вторая ESP и как всегда гонит помехи другим...Что такое MSS и почему их должно быть два? Как мне заполнить 2 пакета MSS и остальное всё непонятно. Больше вопросов, чем ответов.
Arduino не рассчитано на скорости по UART более 9600 Baud.Я и для due и для esp использую arduino ide.
Сервер на андроиде всё правильно принимает. Я же не писал его с нуля. Всё сделано до нас. Беру стандартный TCP java сокет, создаю поток ввода-вывода и получаю байты. Сколько на телефон прилетело - столько я и получу. Проблема только в есп.Если андроид у вас не правильно принимает по TCP, то что делать? Есть разные "стеки TCP" - в одном из вариантов можно гнать по 2 пакета и на них приходит один ACK.
Опять больше вопросов, чем ответов. Т.е. я выставляю RTS на due и потом жду CTS с esp? А далее передаю 1460 (1460*2) или меньше байт? Есп гарантированно примет эти байты на высокой скорости и без потерь?Передать по UART в ESP блок размером 1460*2 байта хоть на 20 Mbit/s. Далее сделать паузу. Потом передать ещё такой-же блок и т.д. Но лучше отслеживать RTS/CTS. Это дает большую гарантию и синхронизацию с приемом-передачей по WiFi.
Почитайте про сигналы RTS-CTS. Вам надо отслеживать занятость ESP.Сервер на андроиде всё правильно принимает. Я же не писал его с нуля. Всё сделано до нас. Беру стандартный TCP java сокет, создаю поток ввода-вывода и получаю байты. Сколько на телефон прилетело - столько я и получу. Проблема только в есп.
Опять больше вопросов, чем ответов. Т.е. я выставляю RTS на due и потом жду CTS с esp? А далее передаю 1460 (1460*2) или меньше байт? Есп гарантированно примет эти байты на высокой скорости и без потерь?
Там всё стандартное и ничего сложного для понимания нет.Здравствуйте.
Где можно почитать описание настроек в веб интерфейсе? А особенно TCP-UART Settings,WiFi settings,WiFi Scan,System Setup, и GPIO.
У station галочку DHCP снять и в роутере назначить фиксированный адрес по MAC.А как тогда отключить DHCP? А то все время к роутеру подключается под новым адрессом.