не могу записать файл в флэш блок gsm/gprs shield на sim900

eduaro
Offline
Зарегистрирован: 17.05.2015
AT+CFSINIT
 
OK
AT+CFSGFRS
 
ERROR
 
eduaro
Offline
Зарегистрирован: 17.05.2015
AT+CFSINIT
 
OK
AT+CFSGFRS
 
ERROR
 
eduaro
Offline
Зарегистрирован: 17.05.2015
AT+CFSINIT
 
OK
AT+CFSGFRS
 
ERROR
 
gena
Offline
Зарегистрирован: 04.11.2012

  Это плохо (правда не знаю почему). Управление радиомодулем как видно есть, но команда   AT+CFSGFRS -получение размера памяти, доступной пользователю, не идёт. Я пока не знаю, что посоветовать.  В указанном мною выше мануале по этому поводу пишут: 

• Если формат команды задан неверно либо сессия работы
с Flash не открыта:
ERROR

eduaro
Offline
Зарегистрирован: 17.05.2015

это как то связано с системным файлом..,я писал в первом вопросе..

gena
Offline
Зарегистрирован: 04.11.2012

 А какая скорость работы СОМ порта?

gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

это как то связано с системным файлом..,я писал в первом вопросе..

Теперь, когда я знаю, что Вы делали, действительно прихожу к выводу, что что-то с системным файлом не хорошо. У меня не проходила сессия записи на SoftSeriale.

eduaro
Offline
Зарегистрирован: 17.05.2015

19200

gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

19200

Попробуйте её уменьшить до 9600.

gena
Offline
Зарегистрирован: 04.11.2012

А попробуйьте такую команду    AT+CFSGFRS?

eduaro
Offline
Зарегистрирован: 17.05.2015

похоже у меня две ошибки:не могу работать с сом портом напрямую и софт модуля мудрит..Тогда как освежить прошивку модуля..

eduaro
Offline
Зарегистрирован: 17.05.2015
AT+CFSGFRS?
 
+CFSGFRS: 2147328
 
OK
gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

похоже у меня две ошибки:не могу работать с сом портом напрямую и софт модуля мудрит..Тогда как освежить прошивку модуля..

Не торопитесь что-то освежать!

 Подайте команду AT+CFSINIT. Затем команду AT+CFSGFRS?    - не забудьте в конце вопросительный знак!

gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

AT+CFSGFRS?
 
+CFSGFRS: 2147328
 
OK

 

ОПА!!! Ну наконец то.

eduaro
Offline
Зарегистрирован: 17.05.2015

на 9600 не работает.В скетче прописываю GPRS.begin(9600); 

gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

на 9600 не работает.В скетче прописываю GPRS.begin(9600); 

Нужно ещё перезапустить радиомодуль (выключить питание).

eduaro
Offline
Зарегистрирован: 17.05.2015

сейчас попробую

gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

на 9600 не работает.В скетче прописываю GPRS.begin(9600); 

 

AT+IPR=4          это команда прямого указания на работу на скорости 9600.

eduaro
Offline
Зарегистрирован: 17.05.2015

не получилось,вкл. питание...

а на команду AT+IPR=4

 
ERROR
AT+IPR=4
 
ERROR
может ошибка в формате
eduaro
Offline
Зарегистрирован: 17.05.2015
AT+IPR=0
 
OK
gena
Offline
Зарегистрирован: 04.11.2012

  Насколько помню, если Вы в скетче задали скорость 9600, то после первого обращения к радиомодулю, он должен АВТОМАТИЧЕСКИ настроиться на скорость, с которой к нему обратились. Попробуйте на скорости 9600 работать из скетча.

gena
Offline
Зарегистрирован: 04.11.2012

eduaro пишет:

AT+IPR=0
 
OK

Ну ладно, со скорость поэкспериментируете отдельно. Попробуйте записать *.amr файл. Только начните с очень коротких файлов - 20...30 байт. И лишь затем (при положительном результате) увеличивайте длину файла!

Перед прослушиванием файла возможно нужно закрыть сессию работы с флеш памятью    AT+CFSTERM  

eduaro
Offline
Зарегистрирован: 17.05.2015

я пробовал...не работает:

#include <SoftwareSerial.h>
SoftwareSerial GPRS(7, 8);
unsigned char buffer[64]; // buffer array for data recieve over serial port
int count=0;     // counter for buffer array 
void setup()
{
 GPRS.begin(9600);               // the GPRS baud rate   
 Serial.begin(19200);             // the Serial port of Arduino baud rate.
}
void loop()
{
 if (GPRS.available())              // if date is comming from softwareserial port ==> data is comming from gprs shield
 {
   while(GPRS.available())          // reading data into char array 
   {
     buffer[count++]=GPRS.read();     // writing data into array
     if(count == 64)break;
 }
   Serial.write(buffer,count);            // if no data transmission ends, write buffer to hardware serial port
   clearBufferArray();              // call clearBufferArray function to clear the storaged data from the array
   count = 0;                       // set counter of while loop to zero
 }
 if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
   GPRS.write(Serial.read());       // write it to the GPRS shield
}
void clearBufferArray()              // function to clear buffer array
{
 for (int i=0; i<count;i++)
   { buffer[i]=NULL;}                  // clear all index of array with command NULL
}
eduaro
Offline
Зарегистрирован: 17.05.2015

как мне создавать такие короткие файлы в формате amr...

eduaro
Offline
Зарегистрирован: 17.05.2015

я понимаю..это отдельная история для меня..

gena
Offline
Зарегистрирован: 04.11.2012

 Попытаемся объехать тему коротких amr файлов (тем более, что длинные писать всё равно когда то придётся). Измените Вашу уже работающую конструкцию, до вида, как на фото  http://s017.radikal.ru/i416/1505/52/e987ff0eb3c2.jpg      т.е. поставьте только две перемычки "С" и "D". Затем загрузите в Ардуину скетч из поста #9. Все остальное "общение" с радиомодулем такое же, как Вы уже делали. Учтите, что возможно придётся подбирать скорость работы СОМ порта в терминальной программе.

eduaro
Offline
Зарегистрирован: 17.05.2015

При записи файла...ERROR,вечером я попробую...

eduaro
Offline
Зарегистрирован: 17.05.2015

Доброе утро!,вчера торопился...сегодня ..записалось нормально

OK
AT+CFSLIST
 
+CFSLIST:"001.amr",11955,"Sat Jan  1 09:20:01 2000"
 
OK
при воспроизведении какое то хрукание...,При воспроизведении проигрывателем ..все нормально,может нужен системный файл..
gena
Offline
Зарегистрирован: 04.11.2012

  Послушайте через усилитель, а не на наушники (только громкость вначале сделайте минимальную!!!).

eduaro
Offline
Зарегистрирован: 17.05.2015

Проверил через усилитель,в линию то же самое...

eduaro
Offline
Зарегистрирован: 17.05.2015

может есть у Вас файл на проверку..

gena
Offline
Зарегистрирован: 04.11.2012

 Для создания файлов использую конвертер  "Allok MP3 to AMR". Файлы звуковые есть, но как отправить?

eduaro
Offline
Зарегистрирован: 17.05.2015
eduaro
Offline
Зарегистрирован: 17.05.2015

Спасибо!!

 

eduaro
Offline
Зарегистрирован: 17.05.2015

Ваши файлы проигрываются  нормально....

gena
Offline
Зарегистрирован: 04.11.2012

  Я Вам всё для этого отправил. Осваивайте.

eduaro
Offline
Зарегистрирован: 17.05.2015

Gena,большое спасибо!!!!!!,без Вас не справился бы,Вы мне очень помогли.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

 а на сим800 никто не пробовал записывать арм файли и проигрывать в сторону абонента?

holc
Offline
Зарегистрирован: 17.04.2016

Я заливал. через прогу Sim800 Series ArmFile Download v1.00

Через терминал давал команду например AT+CREC=4,"C:\User\Hello.amr",0,80 с уже записанным в модуль файлом Hello.amr - воспроизводит отлично.

Но вот загвоздка, помогите -подскажите - как в ардуине (в скетче) через сериал правильно написать эту команду, чтоб модуль воспроизвел файл.

V-max VL
Offline
Зарегистрирован: 22.04.2016

А заливка была с использование отладочной платы или без? Если с платой, то тут понятно. А как загрузить amr файл в sim800 без отладочной платы, как подключать? Через что заливать?

Luisianamen
Offline
Зарегистрирован: 01.01.2022

Добрый вечер. можете мне помочь? обясните, как отправить звуковой amr фаил на sim900