Перейти к содержанию
    

Rebooting sim800c

Использую модуль SIM800C. Прошивка - 1418B02SIM800C32_BT_EAT_115200.

Пишу приложение для EAT. Приложение принимает данные с GPS, парсит их, а потом отправляет на сервер по TCP в определенном формате. В один прекрасный момент модуль начал хаотично перезагружаться в разные моменты времени. Данные с GPS принимаются с интервалом в 250 мс, с таким же интервалом и отправляются на сервер. Во время работы в отладочный порт выводится различная инфа - выводиться много и быстро.

Просадки по питанию исключаю - допаял дополнительный кондер - просадка по питанию не больше 100-150 мВ, напряжение питания 4.2В.

При работе программы с интервалом приема/передачи данных в 1000 мс устройство работает стабильней.

При работе программы с интервалом приема/передачи данных в 100 мс устройство работает очень нестабильно.

Вопрос в чем может быть проблема ? и куда копать ? возможно ли перезагрузка прибора при переполнении входящего или иходящего буферов UART. И как можно отдебажить момент перезагрузки, что бы понять что происходит?

Склоняюсь к софтовой проблеме, но понять так и не смог в чем проблема.

 

Второй вопрос:

какими путями можно удаленно обновить прошивку (модуль скачивает прошивку с сервера)?

Я так понимаю можно скачать ее по ftp, и записать ее во flash, а потом функцией eat_update_app обновить прошивку - В мануале - sim800_series_embedded_at_application_note_1.02.pdf пункт 8.4 APP upgrade прочитал.

Но как я понял API для работы с FTP пока нет, и нужно через AT команды делать (в примерах есть).

Изменено пользователем MrDorianGray

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновитесь для начала до 1418B03V03SIM800C32_BT_EAT

Запрос прошивки письмом дистрибьютору.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Загрузил прошивку 1418B03V03SIM800C32_BT_EAT и модуль не запустился. Светодиод NET_LIGHT не мигает. загружал прошивку с файлом app (файл программы EAT), так и без файла - только ядро. Результат одинаковый. Прошивку получил вчера.

Со старой версией запускается нормально.

Процесс прошивки прошел хорошо.

Изменено пользователем MrDorianGray

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поборол проблему того, что не запускалась прошивка EAT - компилировал на старой версии ядра, а заливал на новую версию.

Но проблема с перезагрузкой осталась - опытным путем нашел строчку в которой возникает перезагрузка:

eat_uart_write(eat_uart_app, GPS_GLL_GGA_RMC_INTERVAl_1_1_1, len);

 

где

#define GPS_GLL_GGA_RMC_INTERVAl_1_1_1 "$PMTK314,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n"

len - длинна строки

eat_uart_app - EAT_UART_1

 

Данная строчка выполняется по таймеру, раз в секунду. Весит на отдельном таймере.

Но проблема еще в том что девайс перезагружается хаотично - иногда выводит строку, иногда нет.

image.jpg

 

При чем если отправлять строку меньшего размера, например

"$PMTK300,250,0,0,0,0*2A\r\n"

то перезагрузка не происходит.

Прошивка 1418B03V03SIM800C32_BT_EAT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

опытным путем нашел строчку в которой возникает перезагрузка:

eat_uart_write( uart, *data, len);

Между прочем, на EAT B08 проблема так и осталась.

Если ориентироваться по eat_trace, то там буфер на передачу -- 200 байт, все что больше -- обрезает. Очевидно и тут аналогичная проблема

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...