Hallo,
Ich habe seit neustem ein Sim800C solcher Art:
https://www.ebay.de/itm/SIM800C-GSM-GPRS-Module-5V-3-3V-TTL-STM32-C51-with-Bluetooth-and-TTS-for-Arduino/272715487034
Bei diesem Modell ist schon ein TTL Konverter vorhanden, sodass es mit 5V betrieben werden kann.
Dazu habe ich mir auch noch eine kleine Antenne geholt
Das ganze ist angeschlossen an mein 5V Handyladegerät, welches bis zu 2A liefern kann. Der Ground ist geerdet mit dem GND des Arduinos, TX ist an Pin 8, RX an Pin 9.
Ebenfalls ist PWX des Sim800C dauerhaft auf GND gesetzt (habe gelesen dieses dient zum anschalten)
Zusammengefasst:
5V Sim800C -> Handyladegerät 5V/2A
GND Sim800C -> Handyladegerät GND + Arduino GND
PWX Sim800C -> Handyladegerät GND + Arduino GND
TX Sim800C -> Arduino Pin8
TX Sim800C -> Arduino Pin9
Ich richte mich vorallem an diese 2 Seiten
https://www.ayomaonline.com/programming/quickstart-sim800-sim800l-with-arduino/
Sowie dieses PDF für die einzelnen Befehle
Die Sim-Karte ist eine Vodafone yaCall Prepaid, hat selber aber kein Guthaben, da ich diese nur zum Empfangen nutzen will. Die Pin-Sperre wurde schon entfernt (wurde am Handy und am Modul selbst überprüft)
Das Modul selber erkennt die Sim-Karte (Habe die Seriennummer auslesen lassen per Modul und diese war korrekt)
Ich nutze folgenden Code
#include <SoftwareSerial.h>
//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8
//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7
//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
void setup() {
//Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
while(!Serial);
//Being serial communication witj Arduino and SIM800
serialSIM800.begin(9600);
delay(1000);
Serial.println("Setup Complete!");
}
void loop() {
//Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
if(serialSIM800.available()){
Serial.write(serialSIM800.read());
}
//Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800
if(Serial.available()){
serialSIM800.write(Serial.read());
}
}
(Habe das Ganze auch schon mit AltSoftSerial versucht)
Allerdings bekomme ich keine wirkliche Verbindung mit dem Network
Bei eingabe wie nach dem ersten Link beschrieben
AT – is to check if interface is working fine.
AT+CFUN – is used to set phone functionality
AT+CFUN? – returns currently set value for AT+CFUN
AT+CFUN=? – returns all possible values that can be set for AT+CFUN (similar to help)
AT+CFUN=1 – is to sent AT+CFUN to 1 (full functionality)
AT+CREG? – to get network registration information. stat=1 means you are registered with home network
AT+COPS? – returns currently registered operator details
AT+COPS=? – returns all the operators available
Setup Complete!
18:35:46.350 -> AT
18:35:46.350 -> OK
18:35:48.758 ->
18:35:48.758 -> Call Ready
18:35:49.413 ->
18:35:49.413 -> SMS Ready
18:35:57.497 -> AT+CFUN?
18:35:57.530 -> +CFUN: 1
18:35:57.530 ->
18:35:57.530 -> OK
18:35:58.154 ->
18:35:58.154 -> Call Ready
18:35:58.842 ->
18:35:58.842 -> SMS Ready
18:36:05.502 -> AT+CFUN=1
18:36:05.537 -> OK
18:36:05.955 ->
18:36:05.955 -> +CPIN: READY
18:36:08.515 ->
18:36:08.515 -> Call Ready
18:36:09.208 ->
18:36:09.208 -> SMS Ready
18:36:13.178 -> AT+CREG?
18:36:13.178 -> +CREG: 0,0
18:36:13.210 ->
18:36:13.210 -> OK
18:36:13.490 ->
18:36:13.526 -> RDY
18:36:13.526 ->
18:36:13.526 -> +CFUN: 1
18:36:15.394 ->
18:36:15.394 -> +CPIN: READY
18:36:17.961 ->
18:36:17.961 -> Call Ready
18:36:18.646 ->
18:36:18.646 -> SMS Ready
18:36:24.473 -> AT+COPS?
18:36:24.473 -> +COPS: 0
18:36:24.506 ->
18:36:24.506 -> OK
18:36:24.781 ->
18:36:24.781 -> +CPIN: READY
18:36:27.357 ->
18:36:27.357 -> Call Ready
18:36:28.040 ->
18:36:28.040 -> SMS Ready
18:36:30.554 ->
18:39:10.039 ->
18:39:10.039 -> +COPS: (1,"vodafone","voda D2","26202"),(3,"D1","TMO D","26201"),(3,"E-Plus","E-Plus","26203"),,(0-4),(0-2)
18:39:10.177 ->
18:39:10.177 -> OK
18:40:06.703 ->
18:40:06.703 -> Call Ready
18:40:07.327 -> AT+COPS?
18:40:07.327 -> +COPS: 0
18:40:07.362 ->
18:40:07.362 -> OK
18:43:20.359 ->
18:43:20.359 -> SMS Ready
18:43:20.709 -> AT+CSQ
18:43:20.709 -> +CSQ: 0,0
Er hat auch schon bei AT+COPS? mal 1 angezeigt, aber das war leider total vereinzelt. Eine sms habe ich bis jetzt nicht empfangen (habe mehrfach versucht)
Ich denke erstmal es liegt an der Signalqualität, da er mir da meistens null anzeigt, vereinzelt auch 25-35dB, trotzdem müsste er doch dann in diesen Momenten SMS empfangen, oder?
Ich wundere mich eh, da ich in der Stadt lebe und mit dem Handy wunderbaren Empfang habe. Die Antenne sitzt auch richtig....
Die LED blinkt alle 1Sekunde, nach 10 Mal setzt sie 3 Sekunden aus.