Gelöst: SIM900 Imonsat und Power ON

Hallo Zusammen,

seit einigen Tagen habe ich ein Aruino Uno und ein Icomsat v1.1 programmiert. Das Programm macht folgendes:

  • serielle Kommunikation starten
  • Icomsat v1.1 mittels PIN9 einschalten
  • serielle Kommunikation mit Icomsat v1.1 starten
  • SMS senden
  • ... noch ein paar Sachen
    Das Ganze funktioniert soweit so gut. Mein Problem liegt im Punkt 2 "Power ON/OFF"
    Bein Booten schlate ich PIN9 für 600ms auf HIGH. Dadurch startet das Icomsat v1.1.
    Problem:
    Wenn das Icomsat v1.1 eingeschaltet ist und ich resette den Arduino dann führen 600ms HIGH zum Ausschalten des Icomsat v1.1.
    Wie kann ich prüfen ob das Icomsat v1.1 schon eingeschaltet ist?

Skalar:
Das Ganze funktioniert soweit so gut. Mein Problem liegt im Punkt 2 "Power ON/OFF"
Bein Booten schlate ich PIN9 für 600ms auf HIGH. Dadurch startet das Icomsat v1.1.
Problem:
Wenn das Icomsat v1.1 eingeschaltet ist und ich resette den Arduino dann führen 600ms HIGH zum Ausschalten des Icomsat v1.1.
Wie kann ich prüfen ob das Icomsat v1.1 schon eingeschaltet ist?

Ob das Modul noch Hardware-Möglichkeiten zum Prüfen hat, kann ich nicht sagen, aber wenn du einen Befehl per serielle Schnittstelle an das Modul sendest und die Quittung auswertest, müsste es doch gehen.

Danke!

Ich habe das gerade mal gemacht und ja, es geht ABER: Dann dauert das Booten eine Ewigkeit.

Wenn der Arduino neu bootet kann ich ja kein Komando senden sondern muss zuerst versuchen die Verbindung aufbauen.

if (!gsm.begin(9600))
      {    
        digitalWrite(GsmPowerOnPIN, HIGH);   // sets the GSM on
        delay(600);               
        Serial.println("Its now High/On");
        digitalWrite(GsmPowerOnPIN, LOW);    
      };
if (gsm.begin(9600)) 
    {
        Serial.println("\nstatus=READY");
        started=true;
    } 
    else 
        Serial.println("\nstatus=IDLE");

Ist das IcomSat eingeschaltet, so dauert es lange, weil die Initialisierung 2 mal gemacht wird. Ist es aus geschaltet, dann dauert es noch länger weil der erste Versuch fehl schlägt (dauert ca. 3min wegen Bandbreitenprüfung) und dann folgt noch die richtige Initialisierung.
Es geht zwar - aber gut ist anders.

Hat das Teil eine Status LED? Dann könntest du eine Brücke auf einen freien Eingang des Arduino legen und den Start Impuls nur unter der Bedingung senden das die LED inaktiv ist.

Gruß

Skalar:
Danke!

Ich habe das gerade mal gemacht und ja, es geht ABER: Dann dauert das Booten eine Ewigkeit.

Wenn der Arduino neu bootet kann ich ja kein Komando senden sondern muss zuerst versuchen die Verbindung aufbauen.

Ist das IcomSat eingeschaltet, so dauert es lange, weil die Initialisierung 2 mal gemacht wird. Ist es aus geschaltet, dann dauert es noch länger weil der erste Versuch fehl schlägt (dauert ca. 3min wegen Bandbreitenprüfung) und dann folgt noch die richtige Initialisierung.
Es geht zwar - aber gut ist anders.

Somit ist das leider keine optimale Lösung. Schade. :wink:

Ich habe noch mals das Datenblatt des SIM900 gelesen und dort Pin66 gefunden. Pin66 gibt mit LOW/ HIGH den Status des SIM900 aus.
Ich habe am Iconsat keinen Kontakt gefunden, den ich hätte nutzen können. Also kurzerhand einen Draht an Pin66 gelötet und mit DI des Arduino verbunden.

Es funktioniert -Problem gelöst. :grinning:

Ich bringe den Code mal etwas in Ordnung und poste ihn zusammen mit einem Bild, aber nicht mehr heute.

Skalar:
Ich habe noch mals das Datenblatt des SIM900 gelesen und dort Pin66 gefunden. Pin66 gibt mit LOW/ HIGH den Status des SIM900 aus.
Ich habe am Iconsat keinen Kontakt gefunden, den ich hätte nutzen können. Also kurzerhand einen Draht an Pin66 gelötet und mit DI des Arduino verbunden.

Es funktioniert -Problem gelöst. :grinning:

Ich bringe den Code mal etwas in Ordnung und poste ihn zusammen mit einem Bild, aber nicht mehr heute.

Prima, man muss sich nur zu helfen wissen. :wink: