SMS et comptage ne font pas bon ménage

Bonjour.

Je compte des fronts sur une entrée digitale.

  • Quand le premier front apparait, je dois envoyer un SMS.
  • Toutes les heures je dois envoyer le nombre total de fronts par SMS.
  • Quand il n'y a plus de fronts depuis quelques temps, je dois envoyer cette information par SMS.

Je n'ai aucun problème pour le faire sur le moniteur série.

Par contre dès que la fonction SMS entre en jeu, le comptage ne se fait plus.
J'ai mis un espion de durée et cette fonction prend environ 10 secondes.

Comment continuer à compter, pendant que la fonction SMS s'execute ?

Une idée ?

Merci

C'est épuisant....

Sans code... pas d'idée

Sans info... pas d'idée

Bref, faut fournir de l'info si vous (vous au sens large et communautaire....) voulez être aidé

3mmanu3l:
Désolé, le projet, donc le code, est confidentiel.

La fonction utilisée est :

sms.SendSMS("XXXXXXXXX", "Message");

Je ne sais pas pourquoi elle semble durer longtemps. Il doit y avoir un protocole derrière.

Le problème du blocage du microcontrolleur est bien décrit ici : Arduino Francais - Programmer les Arduinos en asynchrone browse

Par contre je ne vois pas comment lancer une fonction et faire retourner le microcontrolleur à sa scrutation, pendant que la fonction se déroule.

Merci

bonjour,
sans infos supplémentaires, on ne pourra répondre.
vu que c'est confidentiel, je vais garder mes codes sms aussi :slight_smile:

3mmanu3l:
Désolé, le projet, donc le code, est confidentiel.

bonsoir
repondre ça , ça sent le pipeau :sunglasses:
quelque soit l'appli envisagée , tu ne divulgue rien en postant un code lisible et fonctionnel

3mmanu3l:
sms.SendSMS("XXXXXXXXX", "Message");

Je ne sais pas pourquoi elle semble durer longtemps. Il doit y avoir un protocole derrière.

Sans blague tu crois.
Bien sûr qu'il y a un protocole derrière. Comment tu crois qu'il voyage le SMS.
il faut établir une communication avec un serveur, négocier un accès, ... Tu crois quand même pas que cela se fait en 10ms.

Si la fonction est bloquante il faudra réécrire cette partie de la librairie. Et ça doit pas être simple, je pense.

On est pas obligé de compter des impulsions par logiciel ce qui est très contre-productif.
Il faut utiliser un timer avec tes impulsions comme horloge externe. Ce qui laisse plein de temps au logiciel pour faire autre chose.
ATTENTION au timer utilisé car fatalement cela va priver ton arduino de certaines fonctionnalités.

3mmanu3l:
Désolé, le projet, donc le code, est confidentiel.

Dans ce cas tu es hors la loi : Arduino est distribué sous licence GPL

Autrement tu fais un montage avec deux arduino.
Le premier fait le comptage.
le second interroge le premier le remet à 0 et envoi son sms.

Quelles est la période des fronts à compter?

Jean-François:
C'est épuisant....

Surtout quand la question est cross-postée ailleurs.
Du coup tu t'épuises à répondre pour rien.

Artouste:
bonsoir
repondre ça , ça sent le pipeau :sunglasses:
quelque soit l'appli envisagée , tu ne divulgue rien en postant un code lisible et fonctionnel

+1
J'ai comme l'impression que ca sent le projet commercial mais chut faut pas le dire.

Dans le partie perfide albion anglaise il y a un sous forum spécialisé pour ce genre de projet,

@3mmanu3l

Pourquoi me signaler le dernier message ?

Rien d'offensant, à la limite on peu considérer la redirection vers un autre sous forum comme une information...

Et si le "projet, donc le code sont confidentiel" quel en est la raison si ce n'est un projet commercial.... de la philanthropie déguisée ? :grin:

vu que tu donnes plus d'infos sur le forum anglais, et qu'apparemment tu nous prends pour des clowns, continue là bas.
juste pour info, tu as des jumpers sur le shield pour sélectionner les pins serial. Hardware ou software
rx/tx===>>>>0-1 ===>>>hardware
rx1/tx1=>>>>>2-3===>>>software

  • La carte GSM utilise les pin 2 et 3 du UNO (a priori logiciel et non pas hardware)

  • Donc il faut modifier GSM.cpp pour passer la communication de la carte sur deux autres broches. J'ai essayé mais je n'ai pas réussi à compiler mon code par la suite. Faut-il re-compiler GSM.cpp ? Si oui, comment ? (j'ai édité avec wordpad).

sauf utiliser celles de la carte, tu ne pourras pas changer vers d'autres pins (9-10 par exemple) sauf si tu mets en volant la carte.

recompiler le cpp? tu as vu ca où?
une fois modifié le cpp ou autre ficher de la lib, il faut fermer l'ide et le ré ouvrir pour prendre en compte les modifs.