En fonction de ce type de connexion, à commutation de circuits (CS) ou commutation de paquets (PS), la surveillance sera un peu différent. Pour détecter une déconnexion, vous pouvez activer le code UR (résultat non sollicité) code AT+CPSB=1
pour surveiller l'activité de contexte PDP (aka connexions à commutation de paquets). Pour les appels à commutation de circuits, vous pouvez surveiller avec le code UR +CIEV:
activé avec AT+CMER=3,0,0,2
.
Pour rétablir la connexion, vous devez rétablir la connexion. Pour CS, vous devrez soit connaître le numéro de téléphone composé, ou vous pouvez utiliser le formulaire spécial de ATD, ATDL
[1] qui composera le dernier numéro composé. Vous pouvez également utiliser ATDL pour PS si l'appel a été démarré avec ATD (c'est-à-dire "ATD * 99 * ....") ce qui est assez courant, mais je ne pense pas qu'il soit possible de démarrer avec AT + CGDATA par exemple . Cependant, aucun de ces éléments ne concerne les problèmes ATD, car ce n'est pas ce que vous voulez. Pour CS, vous pouvez configurer un appel à partir de votre script Python, mais alors quoi? Après avoir reçu CONNECT
tout le trafic de données viendrait sur la connexion série que votre script python utilise. Et pour PS, la connexion ne se terminera même pas avec succès à moins que le téléphone reçoive du trafic PPP du PC dans le cadre de l'établissement de la connexion. Avez-vous l'intention que votre script python fournisse cela? Ce que vous voulez vraiment, c'est que votre ordinateur tente de se reconnecter, qu'il s'agisse d'un réseau d'accès au système d'exploitation standard ou d'une application spéciale qui le lance. Surveillez donc le modem avec un script python et ensuite prenez les mesures appropriées du côté PC pour rétablir la connexion. Note latérale à ATDL: notez que si vous voulez répéter le dernier appel vocal, vous devez toujours terminer par un point-virgule, c'est-à-dire ATDL;
, sinon vous commencerez un appel de données.
utilisez-vous des modules Telit avec python 1.5.2+? – INS