Arduino VoiceCall Status abrufen

OP #4784560
Lesenswert?
• ▲
▼
Hallo,
ich möchte gerne mit dem Arduino und dem GSM Shield einen Sprachanruf 
starten. Das klappt auch soweit ohne Probleme.
Jedoch würde ich gerne wenn eine Nummer angerufen wird und nach 5 
Sekunden nicht abgenommen wurde, den Anruf beenden. Dazu muss ich ja 
irgendwie den Status abfragen.
So habe ich es versucht:
1
 unsigned long previousMillis = 0;
2
 unsigned long interval = 5000; 
3
 previousMillis = millis();   
4
 vcs.voiceCall(Telefonnummer);
5
      
6
 while(vcs.getvoiceCallStatus() == CALLING)
7
 {          
8
     Serial.println((millis() - previousMillis));
9
     if((millis() - previousMillis) > interval)
10
       {
11
           vcs.hangCall();
12
       }
13
 }

Jedoch funktioniert es nicht, denn nach Aufruf des Befehls
1
vcs.voiceCall(charbuffer)

wird erst der nächste Befehl ausgeführt, wenn der Anruf angenommen 
wurde.


Hat jemand eine Idee, wie ich das Problem lösen kann?
Vielen Dank im Voraus
Ludwig
OP #4784591
Lesenswert?
• ▲
▼
Danke für die Antwort.
Der Code in der Dokumentation war die Basis meines bisherigen Projektes.
Ist also auch der selbe Modus, wie ich ihn verwende, also nicht 
asynchron.
In der Dokumentation werden zwar die unterschiedlichen Rückgabewerte im 
jeweiligen Modus erwähnt, jedoch nicht wie man den asynchronen Modus 
verwendet.

Wie verwendet man den asynchronen Modus?

Gruß Ludwig
OP #4785579
Lesenswert?
• ▲
▼
Ich habe jetzt (laut der Dokumentation) den asynchronen Modus aktiviert, 
und zwar mit folgender Zeile.
1
gsmAccess.begin(PINNUMBER,true,false);
https://www.arduino.cc/en/Reference/GSMBegin

Wenn ich mir jetzt die vergangenden Millisekunden seit starten des 
Anrufes ausgeben lasse, so wird mir ziemlich genau 30 Sekunden nichts 
angezeigt. Scheinbar ist der Befehl voiceCall() erst nach 30 Sekunden 
beendet.

Hat jemand eine Idee was ich falsch mache?
Bin für jede Hilfe dankbar! Ludwig

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren