I have been working on a home alarm project for a while. I think I can answer some of the questions here on this thread...
Through my work, I have been using this AT-Command manual for Sim800 - https://www.adafruit.com/datasheets/sim800_series_at_command_manual_v1.01.pdf
nikola1010:
I have the same problem but also every once and then SIM800L outputs on it's own:
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready
Call Ready
SMS Ready
What could be the issue?
For me, this happens when I send an AT-command before the module gets contact with the network. The Call/SMS Ready are then sent as the module connects to the network.
When I wait for the module to connect before I send my first AT-command, I do not get such messages.
karamelo:
Well I've received exactly the same module as the youtube video, but looking at the data sheet, it specifically says that the power input should be around 4V-2A, just bought a adjustable DC-DC converter with an LM2596:
http://www.aliexpress.com/item/1pcs-LM2596-LM2596S-DC-DC-3-40V-adjustable-step-down-power-Supply-module-NEW/1116954291.html
The data sheet also mentions that the data lines should have a max voltage of 2.8V. And a suggested circuit for adapting from 3.3V to 2.8V appears on page 31 of the hardware design guide:
http://simcomm2m.com/UploadFile/TechnicalFile/SIM800L_Hardware_Design_V1.00.pdf
So I think that connecting this directly to an arduino possibly isn't the right choice... The power supply doesn't provide enough current and data lines need some circuitry in order to work.
I fixed the RX/TX issue by putting a zener to lower the arduino TX signal. Like here: 404 Error
The other line is good to go; the arduino senses 2.8V signals.
I also got my 4V power source by lowering the arduino 5V with a zener.
theanat2010:
I have the same problem in registration the sim to the network the AT command are working properly until I use AT+cmgs=......
ctrl+z ...send amsg then it return error
I use orange ..jordan network
I do not really understand, but if you communicate directly with the module (through terminal) there is no way (if there is, I have missed it) to send <ctrl+z> as this is char no.26 (GSM charset)
My workaround was this: (a slight modification of the SoftwareSerial example)
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available()){
char c = (char)Serial.read();
if(c == '#')
mySerial.write((char)26);
else
mySerial.write(c);
}
}
Hope this will help you!
//Egad