Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 5
1

Передача файла(фото) с одного МК на другой

10.07.2020, 15:07. Просмотров 212. Ответов 8

Добрый день.

Решил для себя попробовать изучить возможность отправки файлов(фото) с одного МК на другой МК (оба STM) с помощью проводной/беспроводной технологии. Обычные строки, байты, гонять с одного на другой не составляет проблем и этот механизм понятен.
Но вот когда доходит дело до отправки файлов, а в частности каких-то фотографий, не могу представить саму концепцию, что нужно сделать с файлом и как его "подготовить"...
В гугле искал что-то похожее, но толкового ничего не находил.
Потому хотелось, чтобы помогли и подтолкнули в каком направлении двигаться, возможно где-то описан механизм, но я не нашел, заранее благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2020, 15:07
Ответы с готовыми решениями:

Передача фото с одного пк на другой (оба пк подключены к одной wi-fi сети)
Я в Python - новичек. Есть задача передавать фото (снимок с веб камеры) с одного пк на другой. Оба...

Передача данных из одного файла в другой
Помогите разобраться, как правильно(!) передавать переменные, массивы и т.д., объявленные в одном...

Передача информации из одного файла в другой
Всем привет! Сразу скажу, я "govnokodeeer". Но занесло в эту степь и столкнулся с такой...

Передача переменных из одного файла в другой
Очень нужна ваша помощь. Никак не могу понять как из файла index.php перенести переменную в...

8
фрилансер
1202 / 800 / 245
Регистрация: 11.10.2019
Сообщений: 2,627
10.07.2020, 15:14 2
Seaking, сначала нужно поиметь возможность передать блок данных произвольной длины. Блок разбивается на относительно небольшие куски, эти куски нумеруются и передаются. Принимающая сторона говорит отправителю, какие блоки пропали в пути, отправитель повторяет их отправку
0
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 5
10.07.2020, 15:22  [ТС] 3
Алексей1153, Спасибо за совет.
Правильно понимаю, что я условно беру какую-то строку произвольной длины, условно делю ее на блоки по 5 байт и к этим блокам в конце добавляю 1 байт, который хранит информацию(номер) о блоке данных? А на принимающей стороне, я реализую парсер, который проверяет этот 6 байт, и таким образом "складываю картинку" какой блок был утерян?
0
фрилансер
1202 / 800 / 245
Регистрация: 11.10.2019
Сообщений: 2,627
10.07.2020, 15:52 4
Seaking, Строка - это частный случай произвольного блока данных

а по сути, да, примерно так. Только обвеска будет не 1 байт, конечно, а в районе 10 байтов (а если это TCP, то ещё +72, если правильно помню). Всё зависит от выбранного формата и протокола.

Если ресурсы и скорость не критичны, можно json внутри TCP перекидывать, переведя передаваемый блок данных в base64.
Если критичны, то придётся заморочиться деталями
0
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 5
10.07.2020, 16:17  [ТС] 5
Алексей1153, Понял, спасибо.

Для примера, если брать тот самый обычный 232 интерфейс, там же 1 байта обвески будет достаточно, просто указать номер блока?) Возможно, конечно, еще несколько байтов для CRC выделить, чтобы проверять целостность пакета...

Я просто к чему эту тему открыл, это чтобы помогли и подсказали(направили) как "подготовить" файл,а в частности и фото, для такой передачи, интересуюсь этим в целях общего развития, потому как с таким никогда не сталкивался, но хотелось бы обрести такой опыт.
0
Модератор
8195 / 6067 / 809
Регистрация: 14.02.2011
Сообщений: 21,034
10.07.2020, 16:23 6
Цитата Сообщение от Seaking Посмотреть сообщение
как "подготовить" файл,а в частности и фото,
и чем он отличается от строки
Цитата Сообщение от Seaking Посмотреть сообщение
Обычные строки, байты, гонять с одного на другой не составляет проблем
для МК все набор байтов

Добавлено через 2 минуты
Цитата Сообщение от Seaking Посмотреть сообщение
, там же 1 байта обвески будет достаточно, просто указать номер блока?)
в один байт влезет число от 0 до 255, всего 256
Цитата Сообщение от Seaking Посмотреть сообщение
условно делю ее на блоки по 5 байт и к этим блокам в конце добавляю 1 байт,
256*5=1280 байт, не уверен, что этого достаточно для передачи фото
0
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 5
10.07.2020, 16:27  [ТС] 7
ValeryS, Спасибо, что откликнулись.

Вы хотите сказать, что если я возьму фотографию формата .jpg/.jpeg я ее без предварительной подготовки смогу гонять с одного МК на другой?

Цитата Сообщение от ValeryS Посмотреть сообщение
для МК все набор байтов
Да, это так, просто указал, что это могу делать и не вызывает проблем. Но вот с понятием концепции как оперировать файлами и передавать их, возникают проблемы...потому как ранее не имел опыта такого, а в гугле не находил чего-то подобного.

Цитата Сообщение от ValeryS Посмотреть сообщение
256*5=1280 байт, не уверен, что этого достаточно для передачи фото
Это было написано, как пример, правильно ли я понял то, что имел ввиду Алексей1153...
0
Модератор
8195 / 6067 / 809
Регистрация: 14.02.2011
Сообщений: 21,034
10.07.2020, 16:45 8
Цитата Сообщение от Seaking Посмотреть сообщение
Вы хотите сказать, что если я возьму фотографию формата .jpg/.jpeg я ее без предварительной подготовки смогу гонять с одного МК на другой?
можешь, если уверен в линии связи, например если два процессора соединены проводами, например SPI

а если линия может быть разорвана(радиоканал, оптическая связь, коммутируемая линия), или возможны помехи, то уже нужно добавлять служебную информацию(контрольные суммы, номер пакета, таймаут.....) про что и намекал Алексей1153.
по научному -увеличить поток информации
Цитата Сообщение от Seaking Посмотреть сообщение
Но вот с понятием концепции как оперировать файлами и передавать их, возникают проблемы...
загружаешь файл в память и передаешь этот блок как поток байтов

Добавлено через 2 минуты
Цитата Сообщение от Seaking Посмотреть сообщение
Вы хотите сказать, что если я возьму фотографию формата .jpg/.jpeg
найди какой нибудь HEX редактор и потренируйся на файлах, пооткрывай, посмотри как они устроены, например exe файлы
начинаются с букв "MZ"

Добавлено через 7 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
по научному -увеличить поток информации
избыточность информации, чем больше избыточность тем больше надежность, но и тем больше объем
0
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 5
10.07.2020, 16:51  [ТС] 9
Цитата Сообщение от ValeryS Посмотреть сообщение
а если линия может быть разорвана(радиоканал, оптическая связь, коммутируемая линия)
В дальнейшем и правда хочу применить это к передаче по радиоканалу, но пока хочу на обычном проводном, хотя бы том же UART-е попробовать.

Цитата Сообщение от ValeryS Посмотреть сообщение
найди какой нибудь HEX редактор и потренируйся на файлах, пооткрывай, посмотри как они устроены, например exe файлы
начинаются с букв "MZ"
Насколько я знаю, или в начале, или в конце(в зависимости от типа файла) идет "шапка" которая несет в себе информацию о файле, а потом уже сами данные.
Во всяком случае, благодарю за оперативные и прозрачные советы!

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
избыточность информации, чем больше избыточность тем больше надежность, но и тем больше объем
Но и меньше скорость передачи, если брать радиоканал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2020, 16:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Неправильная передача данных из одного файла в другой
Здравствуйте! Возникли проблемы с записью информации в файл. Часть кода: unsigned char bady,...

Передача переменной из одного файла php в другой
Добрый день. Необходимо передавать данные из одного файла php Во второй, таким образом: Передать...

Передача значения переменной из одного файла в другой
Собственно вопрос в теме. Мне нужно значение переменной $link_load передать через ссылку в...

Передача значения переменной из одного файла в другой через ссылку
Всем привет! Задача вроде бы простая и ответ есть вот тут:...

Передача подключения к базе данных из одного php файла в другой
Добрый день. Имеется страница авторизации. где вводятся Логин, пароль. И после нажатия кнопки...

Передача Wi-Fi с одного роутера на другой
Ситуация следующая. Имеется роутер (D-Link DIR-330) с которого раздаётся Wi-Fi (закрытый). Есть ещё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.