Mesure de niveau et transmission par GSM

pdevisme1

Senior Member
Bonjour à tous,

Je souhaiterais concevoir un système de mesure de niveau dans une colonne de tri de carton et transmettre par gsm ce niveau ( ou un niveau d'alerte... ) ainsi que le numéro de la colonne de tri correspondante ( ou les coordonnées gps de ladite colonne de tri... ) tout ça à voire avec mes élèves...

Je pense me limiter tout de même à transmettre le numéro de la colonne et un niveau d'alerte c'est à dire sans coordonnées gps et sans niveau pour me faciliter la tâche...

J'ai parcouru rapidement ce forum et on parle visiblement d'un module TC35 capable de communiquer avec un picaxe.

Ce module serait-il adéquat pour l'utilisation décrite ci-dessus ? En existe t-il d'autres mieux adaptés ?

Et enfin, quelqu'un connaîtrait-il des exemples ou des ouvrages concernant la programmation et l'échange de données entre le picaxe et le module gsm ?

Merci d'avance pour vos réponses.
 

PieM

Senior Member
Bonjour,

A priori tous les modules GSM communiquent via les commandes Hayes (AT..), donc sont interfaçables avec un Picaxe.
Si une évolution du projet est d'utiliser un GPS, on peut se poser la question d'utiliser un module comme le SIM868 (que je ne connais pas, mais utilisé par JLB).
Donc utiliser un SIM900, un TC35 + un module GPS comme le NEO6 par exemple. (on peut trouver l'ensemble pour moins de 20€)
Ou utiliser un module SIM868 qui intègre le GPS.

Ensuite, transmettre des données via SMS ne présente pas de difficultés particulières, quel que soit leur nombre.
A titre personnel, j'utiliserais plutôt des modules séparés (GSM + GPS) permettant peut être plus d'évolution dans le temps.

La première est de savoir si le module doit envoyer ses données sur interrogation, si oui depuis un ou plusieurs correspondants.
Y aura t-il également des commandes envoyées depuis le smartphone ?

Quel sera l'opérateur ? (SIM à 2€ ?)
Coté doc, je ne connais pas de bouquin vraiment dédié à cela. Une doc en ligne comme celle ci devrait suffire pour ces commandes.
Il y a quelques programmes sur le forum anglais.
Une fois le module défini, on pourra passer progressivement au programme...
C'est un beau projet, et les élèves devraient être enthousiastes !!
 

pdevisme1

Senior Member
Bonjour Piem, déjà merci pour ta réponse.

J'ai regardé un peu la différence entre le SIM900 et le TC35, visiblement, le SIM900 ( de type GPRS d'après de que j'ai compris ) est capable de gérer des services plus complexes comme des courriers électronique, messagerie multimédia, appels vidéo, etc... ce dont je n'ai pas besoin pour mon projet.

Je vais donc partir sur un TC35 que, de plus, tu sembles déjà connaître.

Je vais en profiter pour commander un NEO6 pour éventuellement faire évoluer mon projet vers l'envoi de coordonnées GPS par la suite.

A priori, je prévois que le module GSM envoie un sms lors de la détection d'un niveau maximum dans la colonne de tri donc pas d'interrogation.

Par contre, je ne sais pas s'il est possible d'envoyer ce sms vers plusieurs numéros pré-enregistrés.

A priori, pas de commandes envoyées depuis le smartphone.

Pour le picaxe, j'ai un 28X2 ou éventuellement un 28X1.

Pour l'opérateur, je pensais effectivement utiliser une carte SIM type Free à 2 euros.

Je commande ce matériel, je regarde la doc que tu m'as indiquée et je vois ce que je peux faire de tout ça.

Encore merci à bientôt.
 

PieM

Senior Member
Bonjour,
De toute façon, entre le TC35, le SIM900, ou le A6, les prix sont maintenant très abordables, et pour échange de SMS, il sont amplement suffisants.
Reste le problème éventuel de l'encombrement de la carte si besoin.
Concernant le NEO6m, il n'est plus fabriqué, remplacé par le NEO8 qui est encore cher. Mais le NEO6 ebay va trés bien!

Il est effectivement possible d'envoyer un SMS a plusieurs N° préenregistrés.
Il serait également possible de répondre uniquement à un correspondant qui fait la demande, le picaxe extrayant le numéro lors de la réception du SMS appelant. Ce sont des évolutions possibles.
Si tu disposes d'un 28X2, sous réserve qu'il soit suffisant pour le reste de ton appli, c'est un bon choix qui permet d'utiliser la réception de données en tache de fond.
Je pense malgré tout que tu n'auras pas, dans ton cas, de problème de timing, entre reception GPS et réception SMS.
Une question à 0.1€ : la programmation se fera avec quel outil ? Car si c'est du Blockly, pas certain qu'il soit possible de gérer le scrachpad par exemple !

PS: concernant les commandes AT ne pas se prendre la tête là dessus; seules quelques commandes seront utiles, et on les verra en explicitant le programme...
 

MGU

Senior Member
Bonjour,

On voit des A6 à environ 6 euros, mais avec un délai de plusieurs semaines (en plus, c'est le nouvel an).
Quel matériel aurait la préférence?

MM
 

PieM

Senior Member
Bonjour,
Le A6 est le plus récent , le SIM900 un peu moins, et le TC35 encore plus ancien.
Les deux premiers sont GSM/GPRS. J'aurais donc une préférence désormais pour le A6.
J'ai utilisé le SIM900, et le TC35. pour ce qui est d'une simple transmission de sms c'est sans problème.
 
Last edited:

MGU

Senior Member
Bonjour,

Ok, merci. Je commande un A6. Qui devrait arriver entre mars et avril...

MM
 

pdevisme1

Senior Member
Bonjour à tous, donc voilà ma commande passée chez ebay :

23523

Si tu disposes d'un 28X2, sous réserve qu'il soit suffisant pour le reste de ton appli, c'est un bon choix qui permet d'utiliser la réception de données en tache de fond.
Pour la réserve sur le 28X2, je pense que cela devrait aller, je pense "juste" brancher dessus un capteur à ultrason picaxe hc-sr05 ( ou 04 ) je ne sais plus ce que j'ai, il faut que je regarde ce que j'ai et surtout je les ai déjà utilisés ( ou un télémètre infrarouge... ).

Une question à 0.1€ : la programmation se fera avec quel outil ? Car si c'est du Blockly, pas certain qu'il soit possible de gérer le scrachpad par exemple !
Alors là, j'avoue que je bloque un peu sur la programmation... l'idéal aurait été Picaxe Programming Editor en blocs... si ce n'est pas possible, je ferai autrement.

PS: concernant les commandes AT ne pas se prendre la tête là dessus; seules quelques commandes seront utiles, et on les verra en explicitant le programme...
J'ai commandé un câble USB2.0/rs232 suite au visionnage de la vidéo ici. Même si ça ne sert à rien pour le projet, je bidouillerai quand même un peu sous Putty pour me faire la main...

Voilà, voilà.
 

PieM

Senior Member
Bonjour,
Le TC35 me semble bien cher pour un truc désormais obsolète ! En nouvel équipement le A6 est bien moins cher, et plus performant.
La programmation avec le NEO6 suppose que l'on gère une succession de données, pour en extraire certaines. Je vais regarder mais avec les blocs, je doute beaucoup si c'est à faire sans recours au basic!
Le câble ne sert effectivement à rien. La comm pouvait se faire via le terminal de PE6 et des sertxd/serrxd ...
Attention que connecté comme ça, il faut l'alimenter en 3.3V avec 2A de disponibles. Sinon 5V sur le jack.
Au début il faut appuyer effectivement sur le BP, mais cela peut se faire par programme via la broche IGT. ( heureusement sinon suite à une coupure d'alim, il faudrait quelqu'un à coté pour redémarrer).
 

pdevisme1

Senior Member
Bonjour, ok, je pars donc sur

- un A6 ( comme MGU plus haut d'ailleurs, ce qui facilitera aussi les explications pour tout le monde sur ce forum... ) et
- un NEO6

Je supprime donc le TC35 et le câble correspondant.

Voilà, voilà.

J'attends la réception de ce matériel avec impatience...

A bientôt merci bien pour ces premiers conseils éclairés et bon dimanche.
 

pdevisme1

Senior Member
Bonjour à toutes et à tous, voilà quelques nouvelles :

- carte SIM reçue, activée, code PIN désactivé,

- en attente du matériel commandé ci-dessus... ( livraison prévue à partir du 03 mars... )

A bientôt. Bon dimanche.
 

pdevisme1

Senior Member
Bonjour à toutes et à tous, toujours pas reçu le module gsm... mais je n'ai pas abandonné le projet ! A bientôt dès réception du matériel et bon dimanche après-midi.
 

MGU

Senior Member
Bonjour à toutes et à tous, toujours pas reçu le module gsm... mais je n'ai pas abandonné le projet ! A bientôt dès réception du matériel et bon dimanche après-midi.
Bonjour,
Si ça peut te rassurer, j'ai pas reçu le mien non plus (c'est peut être grippé quelque part...)

MM
 

PieM

Senior Member
Bonjour,
J'ai reçu mes modules A6 et même un A7, qui est GSM/GPRS + GPS.
Concernant le A6 je l'ai associé à un 28X2 en utilisant la réception dans le scratchpad. ça fonctionne très bien.
Je vais travailler avec le GPS en plus.
Je vous donnerai les infos pour changer le débit de base du module qui est de 115200 bauds. ça ne sert à rien de cavaler, ça marche plus sûrement à 4800!
Attention au piège toutefois: les modules A6 sont alimentés en interne en 3.3V. les entrées sorties sont donc avec cette tension; MAIS !!
les Hserin et hsersout sont sur le port C du picaxe, et ce port n'est pas en niveau TTL mais ST (trigger de schmitt) donc il lui faut plus de 4V pour le niveau haut si il est alimenté en 5V. Donc grosse galère, car parfois ça marche mais pas toujours, et on cherche... ! il faut alimenter le picaxe en 3.3V ou bien utiliser un convertisseur de niveau de tension. 5V <> 3.3V pour ces pins.
J'en ai qquns si ça peut vous dépanner. Me le dire en MP.
A suivre...
 

PieM

Senior Member
Celui ci est un adaptateur de niveaux de tension entre deux équipements alimentés sous des tensions différentes existantes. (ici, 5V et 3.3v).
Si tu n'as qu'une source de tension 5V, le mieux est d'utliser un step-down comme celui ci, pour alimenter ton picaxe.
Voir egalement celui là expédié depuis la France ...
 

pdevisme1

Senior Member
Celui ci est un adaptateur de niveaux de tension entre deux équipements alimentés sous des tensions différentes existantes. (ici, 5V et 3.3v).
C'est bien pour cela que j'ai posé la question... Comme je n'ai pas encore reçu le module A6, je me suis dit que peut-être que ce dernier était capable de fournir du 3,3V pour alimenter ce convertisseur de niveaux...

Je vais partir sur l'alimentation du picaxe en 3.3V.

OK merci Piem.
 

PieM

Senior Member
Comme je n'ai pas encore reçu le module A6, je me suis dit que peut-être que ce dernier était capable de fournir du 3,3V pour alimenter ce convertisseur de niveaux...
Le module A6 n'a pas de broche pour repiquer du 3V. Par contre il faudrait vérifier que les accessoires que tu comptes utiliser, seront compatibles avec ce niveau de tension du picaxe.
Mais, je viens de refaire la manip de l'alimentation picaxe en 5V. En fait le signal sortie du A6 est au niveau 4.03V !!
En 9600 bauds, ça semble passer parfaitement. Donc partir la dessus. Tout en 5V
 

pdevisme1

Senior Member
Bonjour, j'ai une petite question d'ordre technique :

Sur mon interface ( faite maison ) les broches de C.0 à C.7 de mon 28X2, donc aussi les broches hserin ( broche C.7 ) et hserout ( broche C.6 ), sont "configurées en entrées" comme ceci ( sans le bouton poussoir mais avec un bornier à vis bien sûr pour brancher ce que je veux hein... ) :

23689

Est-ce que cela pose problème pour le raccordement entre le module A6 et le 28X2 ?

Merci d'avance.
 

PieM

Senior Member
Bonjour,
Ne connaissant pas les caractéristiques des E/S du A6, je vais faire un essai et te le dis...

>>> test fait, pas de pb, tu peux laisser tes R...
 
Last edited:

pdevisme1

Senior Member
Bonsoir, ça y est enfin, j'ai reçu mon module A6... directement arrivé de Honk-Kong du coup maintenant je tousse un peu, comprends pas pourquoi...

Je blague bien sûr, tout va bien pour l'instant ! J'espère que pour vous tous également.

J'ai donc quelques questions quant-au raccordement de la bête :

- le + 5V sur le VCC_IN et le 0V sur le GND je suppose pour commencer, ensuite,

- les broches hserin ( broche C.7 ) et hserout ( broche C.6 ) du 28X2 on les croise ( je suppose encore... ) sur les TX et RX du module A6 mais lesquels :

- H_TXD et H_RXD ou
- U_TXD et U_RXD ou encore ( d'après ce que j'ai lu ça et là, je pencherais plus sur ces broches... )
- R232_TX et R232_RX ?

J'ai vu sur quelques sites qu'il fallait aussi relier le VCC_IN au PWR...

Merci d'avance pour vos réponses et bonne soirée à tout le monde.
 
Last edited:

PieM

Senior Member
J'ai donc quelques questions quant-au raccordement de la bête :
- le + 5V sur le VCC_IN et le 0V sur le GND je suppose pour commencer, ensuite, OUI
- les broches hserin ( broche C.7 ) et hserout ( broche C.6 ) du 28X2 on les croise OUI ( je suppose encore... ) sur les TX et RX du module A6 mais lesquels :
- H_TXD et H_RXD ou
- U_TXD et U_RXD ou encore ( d'après ce que j'ai lu ça et là, je pencherais plus sur ces broches... ) OUI
- R232_TX et R232_RX ?

J'ai vu sur quelques sites qu'il fallait aussi relier le VCC_IN au PWR... Oui, en principe on peut déconnecter après démarrage, mais je laisse la connexion en permanence.
 

PieM

Senior Member
Bon je vois que le forum est un peu en confinement ....
Pour démarrer avec le GSM A6, voici un premier petit programme qui permet de dialoguer avec lui.
Rich (BB code):
; *******************************
; Com  GSM A6
; test - modif debit 
; *******************************

#Picaxe 28X2
#Terminal 9600
#No_Data
#No_Table
#define Led_on high C.1
#define Led_off  low C.1
#define num_tel01 "+3368xxxxx21"
#define attente pause 2000
pause 6000
SerTxd(ppp_filename,cr,lf)
SerTxd(ppp_date_uk,cr,lf)

'Init ---------------------------------------------

HSerSetup B9600_8, %001
'HSerSetup B115200_8, %001
Led_on
pause 3000 'attente connection
led_off
hserptr = 0
      hserout 0, ("AT+CNMI=1,2,0,0,0",cr)
      gosub Decode_message
      hserout 0, ("AT+CMGF=1",cr)' mode texte.
      gosub Decode_message
      hserout 0, ("AT+IPR=9600",cr)
      gosub Decode_message
      hserout 0, ("AT+IPR?",cr): gosub Decode_message
      hserout 0, ("AT&W",cr): gosub Decode_message 'memo


'####################################################"
Main:
do
      if hserptr > 5 then
            gosub Decode_message
            gosub Reponse
      endif
loop
End
'####################################################"

Decode_message:
attente
      sertxd ("-------------decode", cr,lf)
      sertxd ( "pointeur :",#hSerPtr, cr)

      do while ptr < hSerPtr
            sertxd (@ptrinc)
      loop
      sertxd (cr,"fin message",cr)

attente ; important
hSerPtr = 0 :Ptr = 0
return

Reponse:
gosub Init_emission
      hserout 0, ("test OK",cr)
      hserout 0, (26)         'Ctrl Z
      attente  ; important
hSerPtr = 0 :Ptr = 0 
return

Init_emission:

      hserout 0, ("AT+CMGF=1",cr)' mode texte.
      attente
      hserout 0, ("AT+CMGS",61,34)' = "
      attente
      hserout 0, (num_tel01,34,cr)  'Num mobile
      attente 

return
Le module A6 est de base en 115200 bauds, et en principe est autoadaptatif. C'est à dire qu'il se conforme au debit reçu.
Toutefois, j'ai eu un peu de galère avec ça, donc je préfère le reprogrammer avec le débit de 9600.
Lors du premier telechargement, activer la ligne HSerSetup B115200_8, %001
la ligne AT+IPR=9600 va ordonner de changer la valeur en 9600, AT+IP? va le confirmer et AT&W va mémoriser cette valeur sur la puce GSM.
Ensuite désactiver HSerSetup B115200_8, %001 et activer HSerSetup B9600_8, %001
Le AT+CNMI=1,2,0,0,0 signifie au GSM d'envoyer les sms sur la sortie serie, et non de la stocker sur la carte SIM.
Le principe retenu étant de recevoir les sms en arriere plan dans le scratchpad (d'où le %001 de Hsersetup) via le hserin du picaxe.
Le s/p Decode_message va afficher tout ce qui a été reçu dans ce SPad depuis ptr=0 jusqu'à ptr = Hserptr qui est l'adresse du dernier caractere reçu.
Reponse va envoyer au num-tel défini la réponse test OK

Donc, lors du lancement du programme, dans la fénetre du terminal, vont s'afficher
- les ordres initiaux de l'initialisation
- puis si le module reçoit un SMS, il l'affichera au complet avec N° de l'appelant, date, heure et texte.
- et il renvoit un SMS avec test OK.
Ceci n'est que le début pour savoir si tout est OK au niveau com.
On verra après pour compléter tout ça en fonction des besoins...
Nota : la réactivité du module GSM est faible; ne pas descendre endessous des 2 secondes pour les attentes entre les ordres
 

MGU

Senior Member
Bonjour les confinés,
Je viens de recevoir mon A6. Pour l'instant, je suis occupé par une Qlocktwo à base de picaxe, mais je vais suivre...

MM
 
Top