Полная версия этой страницы:
Ищу добровольца
Работаю над проектом передачи изображения с микроконтроллера. В детали и об'яснения, пока вдаваться не буду. Микро передает 802.3 фреймы по Ethernet. Заметьте не TCP/IP, а просто фреймы. Задача их принять, собрать и записать в файлы, показать. Это все пока для демо. Среда - Windows. Сам ни под Windows, ни под Linux не пишу, поэтому ищу волонтера-помощника.
Спасибо.
Господа,
Неужели никто не желает посветить немного собственного времени? Мой микро STM32F4. В нем задействованы периферия I2C, PWM, DCMI, ETH, DMA, SDIO, ExtSRAM(2Mb) . Все это с собственным ХАЛом. Задача установить принципиалчную возможность или невозможность передачи/записи HD(1080p) без SBC. Я в ответ поделюсь и своим кодом, и опытом, и знаниями.
Вы оберните в IP и будет счастье. Дальше программа сохранения в файл на 5 минту.
Добавить IP заголовок много не надо.
Отказ от IP неспроста: технические требования запрещают использовать heap(malloc). PCAP позволяет принимать любые фреймы. Если IP настолько упрощает жизнь на стороне РС - то к ней никаких требований не предусмотренно.
Спасибо.
aaarrr
Apr 18 2016, 12:17
Цитата(pitt @ Apr 18 2016, 15:03)

Отказ от IP неспроста: технические требования запрещают использовать heap(malloc).
Какая связь между IP и heap?
Цитата(aaarrr @ Apr 18 2016, 08:17)

Какая связь между IP и heap?
IP stack requires malloc(). Писать свой кастрированный без? Извините. На стороне РС все голжно быть проще.
Кстати, не понимаю природу вопросов? Но это, пожалуйста, в другом топике.
aaarrr
Apr 18 2016, 12:58
Цитата(pitt @ Apr 18 2016, 15:32)

IP stack requires malloc(). Писать свой кастрированный без? Извините.
Чтобы добавить 20 байт заголовка совсем не нужно писать IP-стек.
AlexandrY
Apr 18 2016, 13:11
Цитата(pitt @ Apr 18 2016, 15:03)

Отказ от IP неспроста: технические требования запрещают использовать heap(malloc). PCAP позволяет принимать любые фреймы. Если IP настолько упрощает жизнь на стороне РС - то к ней никаких требований не предусмотренно.
PCAP легко пропускает фреймы.
Это ненадежный способ.
Цитата(AlexandrY @ Apr 18 2016, 09:11)

PCAP легко пропускает фреймы.
Это ненадежный способ.
Не берусь ни опровергать, ни соглашаться - не моя экпертиза. Думаю, что должен существовать доступный и несложный способ приема таких фреймов в Виндах.
Но топик не об этом - я ищу того, кто бы согласился поучавствовать, потратить свое время.
IP заголовок это кусчек памяти. Инициализируется один раз.
Принимать потом через RAW_SOCKET. Прием - цена копейка станет. Много займет сохранение в любой из видео-форматов.
Если сделать UDP (куча heap тоже не нужна) то проще поднять RTP. Вы же не срец гоните?
Дальше зацепиться QuickTime или VLC.
Цитата(Major @ Apr 18 2016, 10:44)

IP заголовок это кусчек памяти. Инициализируется один раз.
Принимать потом через RAW_SOCKET. Прием - цена копейка станет. Много займет сохранение в любой из видео-форматов.
Если сделать UDP (куча heap тоже не нужна) то проще поднять RTP. Вы же не срец гоните?
Дальше зацепиться QuickTime или VLC.
Я, к сожалению, не очень понимаю к чему Вы клоните. Цель данного этапа убедиться в принципиальной возможности его осуществления при имеющихся ограничениях. Конкретная реализация дело последующих этапов.
Если есть IP кадры и принимается wireshark, то сохранить все в бинарный файл даже не задача. Использовать RAW сокет на прием.
Принимать кадры 802.3 только сниферами. Простое приложение не написать.
Как вам быть с бинарным файлом и как его проиграть в плеере (если видео), вам решать.
Цитата(Major @ Apr 18 2016, 11:25)

Если есть IP кадры и принимается wireshark, то сохранить все в бинарный файл даже не задача. Использовать RAW сокет на прием.
Принимать кадры 802.3 только сниферами. Простое приложение не написать.
Как вам быть с бинарным файлом и как его проиграть в плеере (если видео), вам решать.
Wireshark принимает мои пакеты по 1486 байтов с порта dcmi. Каждый кадр состоит из фрагментов. Их надо об'единить и увидеть картинку. Далее переход на видео, потом hd камера и т.д. Пока надо убедиться, что железо делает то, что должно. Вычислить скорость и т.д.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.