What software do you have on the Arduino?
The code
#include <SoftwareSerial.h>
SoftwareSerial SIM900A(7, 8); //Seleccionamos los pines 7 como Rx y 8 como Tx
int relay_pin = 2;
char incoming_char = 0;
void setup()
{
SIM900A.begin(19200);
Serial.begin(19200);
digitalWrite(relay_pin, HIGH);
pinMode(relay_pin,OUTPUT);
SIM900A.print("AT+CLIP=1\r"); //Activamos la identificación de llamada.
delay(1000);
}
void loop() {
// Display any text that the GSM shield sends out on the serial monitor
if(SIM900A.available() > 0) {
// Get the character from the cellular serial por
// With an incomming call, a "RING" message is sent out
incoming_char=SIM900A.read();
// Check if the shield is sending a "RING" message
if (incoming_char=='R') {
delay(10);
Serial.print(incoming_char);
incoming_char=SIM900A.read();
if (incoming_char =='I') {
delay(10);
Serial.print(incoming_char);
incoming_char=SIM900A.read();
if (incoming_char=='N') {
delay(10);
Serial.print(incoming_char);
incoming_char=SIM900A.read();
if (incoming_char=='G') {
delay(10);
Serial.print(incoming_char);
// If the message received from the shield is RING
// Send ATA commands to answer the phone
handleRelay();
//SIM900.print("ATA\r");
}
}
}
}
}
}
void handleRelay() {
digitalWrite(relay_pin, LOW);
delay(1000);
digitalWrite(relay_pin, HIGH);
}
To reflash the SIM900, it must simply be passing the required binary through the two serial ports.
Obviously I flashed it with an external ftdi converter, without using arduino. i don't know if i explained above?
But my intention is to know, if it is or was possible to do it with Arduino Uno R3.
Once that ‘special’ Arduino pass-through code is running - you don’t touch reset ever until you’ve performed the modem update..
Can you show me how you do it, I understand that you say flash the SIM900 modem with Arduino, I do not achieve it in any way, and as they comment above, the DTR pin and 1k resistor prevents it I understand.
I think you’re making this much harder than it needs to be, the SIM900 (2G) is end of life, unlikely to need any more updates, but the requirement is legitimate for newer chipsets - I just think you need to understand the problem first, and the communications / handshaking required.
I need it for a fair prototype, where possibly SMS messages will be sent in Latin America, when sent by SMS using the 4G LTE network.
In addition to the flashing, which allows 4 bands, I know that many as 2G for calls does not go well, due to the stacking of the GSM network on that frequency.
But in many countries 3G is used, especially in less developed countries.