Кто то может посоветовать что я делаю не так пытаясь отослать ММС с SIM900D? Вроде все по мануалу но гдето есть загвоздка которую никак не могу найти. Использую микроконтроллер ARM CORTEX M3 на системе mbed. Функция message_send отправляет дату на серийный порт и работает нормально.
<code>
/*Test MMS */
void sendMMSTest(){
/*1. Initialize MMS mode */
message_send2("AT+CMMSINIT\r\n");
//check status of network, 0,1 is ok
//message_send2("AT+CREG?\r\n");
//set MMS centre without leading http://, ROgers
message_send2("AT+CMMSCURL=\"mms.gprs.rogers.com\"\r\n");
//set bearer context id
message_send2("AT+CMMSCID=1\r\n");
//set the IP address and Port of MMS proxy gateway, Rogers
message_send2("AT+CMMSPROTO=\"10.128.1.69\",80\r\n");
//parameters for MMS pdu. Not necessary to send?
//message_send2("AT+CMMSSENDCFG=6,3,0,0,2,4\r\n");
//set active bearer profile
message_send2("AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r\n");
message_send2("AT+SAPBR=3,1,\"APN\",\"media.com\"\r\n");
//message_send2("AT+SAPBR=3,1,\"USER\",\"wapuser1\"\r\n");
//message_send2("AT+SAPBR=3,1,\"PWD\",\"wap\"\r\n");
//message_send2("AT+SAPBR=1,1\r\n");
//message_send2("AT+SAPBR=2,1\r\n");
/*2. Enter edit mode to edit MMS */
message_send2("AT+CMMSEDIT=1\r\n");
*/
/*Get 5 bytes of text through UART (from mbed that is) */
message_send2("AT+CMMSDOWN=\"TEXT\",5,5000\r\n");
//NOTE 2: for now, try to send text MMS
//Indicate that ready to recieve data from UART. So I guess at this point need to send the data on cellModems UART line.
//somehow send it the encoded image as bytes...?
message_send2("CONNECT\r\n");
//send the text content
message_send2("ilove\r\n");
//hard-coded recipient
message_send2("AT+CMMSRECP=\"647*******\"\r\n");
//Send the MMS message, serial port will not respond to AT commands while its sending
message_send2("AT+CMMSSEND\r\n");
//exit from MMS edit mode
message_send2("AT+CMMSEDIT=0\r\n");
//exit from MMS function
message_send2("AT+CMMSTERM\r\n");
}
</code>