реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Изменение прошивки мк по GPRS-каналу...?, SIM300D и SIM900
mapic
сообщение Aug 21 2010, 15:42
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294



Цитата(AlexandrY @ Aug 21 2010, 16:36) *
Как минимум еще одной "идеи" не хватает wink.gif
Неплохо еще сжимать образ. Бинарные коды программ неплохо сжимаются. Несложные алгоритмы могут сжать в 2-а раза и более.

Не все операторы хорошо пропускают активные FTP соединения. Надо побеспокоится о наличии пасcивного FTP.
Вообще могут возникнуть проблемы с FTP серверами. Неплохо было бы подумать забирать прошивку с mail-сервера. Это более гарантированный и надежный сервис и не требует особых усилий для прохода NAT-ов.


С такими объемами кодов как у нас и с сегодняшней стоимостью гпрс-интернет трафика - сжатие наверное будет лишним - разве что как метод дополнительного кодирования прошивки rolleyes.gif

Да с FTP никак не возьмешь... Можно и с mail-сервера забирать по pop3 но фактически это будет одно и тоже...

Как другой альтернативный вариант смены ПО можно было бы использовать CSD, тогда можно было бы реализовать программирование напрямую без промежуточной памяти, но на Украине большинство операторов его не поддерживают...

Цитата(ArtemKAD @ Aug 21 2010, 17:39) *
С легкостью. Там собираешь страницу в буферной памяти (с любой максимальной скоростью SPI), а затем записываешь всю страницу.


у 161 2 буферные страницы - можно еще и поочередно писать ( как обычно и делают)...

Скорее я имел ввиду то что с порту сим300 может литься и служебная информация, а при таком объеме различить ее не будет возможности...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 21 2010, 16:13
Сообщение #17


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mapic @ Aug 21 2010, 18:42) *
С такими объемами кодов как у нас и с сегодняшней стоимостью гпрс-интернет трафика - сжатие наверное будет лишним - разве что как метод дополнительного кодирования прошивки rolleyes.gif

Да с FTP никак не возьмешь... Можно и с mail-сервера забирать по pop3 но фактически это будет одно и тоже...

Как другой альтернативный вариант смены ПО можно было бы использовать CSD, тогда можно было бы реализовать программирование напрямую без промежуточной памяти, но на Украине большинство операторов его не поддерживают...


По GPRS чем меньше размер файла тем больше вероятность его скачать.
Речь не о цене трафика, а вообще о вероятности доставки. Условия upload-а резко отличаются от download-а у провайдеров.
Часто приходилось видеть как после 100 кБ GSM сеть резко тормозила передачу файлов. Если на компе легко берут и рестартуют, то в embedded дивайсе это выливается в долгий зависон.
Еще хуже ситуация когда upload надо делать сразу на сотне, а то нескольких сотнях дивайсов. Тут лишний десяток килобайт может стать критическим.

Ну а FTP и Mail отличаются принципиально количеством логических каналов связи при перекачке. Это может оказаться важным в некоторых случаях.

Ну а патчи для программы можно и SMS-ами посылать. Вполне хороший и надежный способ. biggrin.gif
Go to the top of the page
 
+Quote Post
mapic
сообщение Aug 21 2010, 16:47
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294



Цитата(AlexandrY @ Aug 21 2010, 19:13) *
Ну а FTP и Mail отличаются принципиально количеством логических каналов связи при перекачке. Это может оказаться важным в некоторых случаях.


я имел ввиду HTTP и mail
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 21 2010, 17:08
Сообщение #19


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(mapic @ Aug 21 2010, 19:47) *
я имел ввиду HTTP и mail

biggrin.gif Здесь тоже не так просто. WEB сервера умеют поддерживать сжатие контента по gzip. Интересная фича, если есть ресурсы памяти на этот алгоритм.
Go to the top of the page
 
+Quote Post
alx125
сообщение Aug 23 2010, 10:31
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 18-05-09
Из: Novosibirsk
Пользователь №: 49 204



Цитата(AlexandrY @ Aug 21 2010, 21:08) *
biggrin.gif Здесь тоже не так просто. WEB сервера умеют поддерживать сжатие контента по gzip. Интересная фича, если есть ресурсы памяти на этот алгоритм.


Если Ваш клиент не будет передавать HTTP заголовок типа Content-Encoding: x-gzip, то Вам эта проблема не грозит. Сервер не будет сжимать передаваемое содержимое.
Ну и трафик конечно будет побольше
rolleyes.gif
Go to the top of the page
 
+Quote Post
Alechek
сообщение Sep 1 2010, 05:49
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(AlexandrY @ Aug 21 2010, 19:36) *
Как минимум еще одной "идеи" не хватает wink.gif
Неплохо еще сжимать образ. Бинарные коды программ неплохо сжимаются. Несложные алгоритмы могут сжать в 2-а раза и более.

Бинарные если не зашифрованные. Зашифрованная программа при архивировании только увеличивается в размерах. wink.gif
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Sep 1 2010, 07:34
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(mapic @ Aug 19 2010, 12:51) *
Возникла необходимость предвидеть в устройстве возможность дистанционного обновления ПО микроконтроллера, желательно по GPRS-каналу....
...пришла идея использовать промежуточный буфер памяти в виде флеш памяти AT45...
Хотелось бы услышать мнение форумчан по этому вопросу? Кто какой способ изменения ПО устройства использует?


Использовать at45 - идея хорошая. Просто предусмотрите 2 банка для прошивки (текущая рабочая и обновляемая). При сбое в одном из банков программу можно будет всегда восстановить из другого.
По поводу метода перепрошивки. У нас было реализовано 2 способа:
1. Сервер даёт команду устройству на загрузку блока данных размером со страницу памяти at45. Устройство принимает её, проверяем crc посылки, сохраняет и отправляет подтверждение. После приёма всех страниц прошивки даётся команда на перепрошивку. Вариант довольно сложный т.к. требует написание сервера.
2. Устройство само скачивает прошивку с сервера с помощью http-запросов. Метод GET позволяет скачивать не только весь файл, а и выбранный диапазон байт (0-1023, 1024-2047 и т.д). Плюс метода в том что устройство само контролирует процесс загрузки, перезапрос выбранных страниц если не получено обновление, реконнект к серверу. Значительным плюсом является то что не нужно писать специальный сервер для обновления и все HTTP-сервера с которых я пытался скачивать прошивку поддерживали Partial Get. Минус - данные пришлось делать ascii-кодированными (хотя сейчас вижу вариант решения без кодирования) и оверхед при каждом запросе порядка 300 байт (шапка http-запроса).


В целом второй вариант показался более простым и сейчас успешно реализован. Осталось немного подрихтовать его чтобы обойтись без ascii-кодирования. Обновление ПО размером 64к (~150к gprs-траффика после доработки может уменьшится наполовину) занимает 2-3 минуты.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Sep 2 2010, 16:04
Сообщение #23


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(mempfis_ @ Sep 1 2010, 11:34) *
2. Устройство само скачивает прошивку с сервера с помощью http-запросов. Метод GET позволяет скачивать не только весь файл, а и выбранный диапазон байт (0-1023, 1024-2047 и т.д).
Минус - данные пришлось делать ascii-кодированными (хотя сейчас вижу вариант решения без кодирования) и оверхед при каждом запросе порядка 300 байт (шапка http-запроса).

Или я торможу или чего-то не понимаю. А почему "пришлось ASCII-кодированными" ? Чем бинарник хуже ? Ведь вроде как нет совершенно никаких сложностей получить по GET бинарник ?
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Sep 2 2010, 19:00
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(rx3apf @ Sep 2 2010, 19:04) *
Или я торможу или чего-то не понимаю. А почему "пришлось ASCII-кодированными" ? Чем бинарник хуже ? Ведь вроде как нет совершенно никаких сложностей получить по GET бинарник ?


Проблема была в ключевых словах возвращаемых от модема (NO CARRIER и ERROR) которые могли попасться в передаваемой прошивке. Основня программа могла принять их за сбои в работе tcp/ip стека модема и решить что связь прервана. Не хотелось вводить дотошную обработку текста получаемого от http-запроса от того и возникла такая проблема. Сейчас всё уже исправил - зашифровал прошивку, получил бессмысленный набор байт в котором подобные ключевые слова не встречаются и не мешают работе основной программы.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 06:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01438 секунд с 7
ELECTRONIX ©2004-2016