Modifications

Sauter à la navigation Sauter à la recherche
13 512 octets ajoutés ,  23 novembre 2015 à 16:23
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{ADAFRUIT-FONA-NAV}}
 
{{ADAFRUIT-FONA-NAV}}
   −
After soldering headers to the FONA module, plug it into a breadboard. We'll use an UNO, other Arduinos may be  different
+
== Préambule ==
 +
{{bloc-etroit|text=
   −
* Vio connects to 5V (or, with a 3V logic Arduino, 3V)
+
{{ambox-stop|text=La bibliotèque Fona est toujours en développement! cette page pourrait donc changer prochainement.}}
* GND connects to GND
  −
* Key connects to GND (always on)
  −
* RX connects to digital 2
  −
* TX connects to digital 3 (9 on Leo/Micro, 10 on Mega)
  −
* RST connects to digital 4
     −
We'll be using software serial to talk to the module. The Mega ('2560 based) can't use Digital 3 for FONA TX, so use digital 10 instead. The Leonardo and Micro ('32u4 based) can't use digital 3 for FONA TX, so use digital 9 instead. See this page for other pins you can use for FONA TX (SoftwareSerial Receive) on the Mega, Leonardo, and Micro.
+
}}
 +
== Télécharger Adafruit_FONA ==
 +
Avant de pouvoir lire les données depuis le module Fona, vous aurez besoin de [https://github.com/adafruit/Adafruit_FONA_Library télécharger la bibliothèque Adafruit_FONA depuis le dépôt github]. Vous pouvez réaliser cette tâche en visitant le dépôt github et procéder à un téléchargement manuel ou, plus facile, cliquer sur le bouton de téléchargement de l'archive zip
   −
At this time we don't have support for Hardware Serial to talk to the FONA
+
{{download-box|Téléchargez la bibliothèque Adafruit_FONA|https://github.com/adafruit/Adafruit_FONA_Library/archive/master.zip}}
   −
{{ADFImage|ADAFRUIT-FONA-Arduino-Test.jpg|800px}}
+
Renommez et décompressez l'archive dans un répertoire nommé '''Adafruit_FONA''' et vérifiez que le répertoire Adafruit_FONA contient bien les fichiers '''Adafruit_FONA.cpp''' et '''Adafruit_FONA.h'''
 +
 
 +
Placez la bibliothèque Adafruit_FONA dans votre répertoire répertoire_des_croquis_arduino/libraries/ .
 +
 
 +
Vous pourriez avoir besoin de créer un sous-répertoire {{fname|libraries}} s'il s'agit de votre nouvelle bibliothèque. Redémarrez votre IDE Arduino.
 +
 
 +
Nous disposons d'un [[Installation_d%27un_librairie_Arduino|tutoriel pour l'installation de bibliothèque]] si vous avez besoin d'un petit coup de main.
 +
 
 +
== Charger la démo ==
 +
Ouvrez le croquis '''Fichier->Exemples->Adafruit_FONA->FONAtest''' et téléversez/téléchargez le sur votre Arduino branché au module Fona.
 +
 
 +
Pour un Arduino Mega, Leonardo ou Micro, vous devez changer la définition de FONA_TX vers la broche utilisée (voyez les broches supportées comme FONA_TX sur ces plateformes, voyez ce tuto)!
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-10.png|640px}}
 +
 
 +
Assurez-vous d'avoir chargé votre Accu LiPoly 3.7/4.2V  (ou accu LiIon) et d'avoir branché l'accu et l'antenne sur le Fona
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-11.jpg|640px}}
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Asm-20.jpg|640px}}
 +
 
 +
Une fois téléchargé/téléversé sur votre Arduino, ouvrez la console série et fixez le '''débit sur 115200 bauds''' pour commencer à tester le programme.
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-13.jpg}}
 +
 
 +
Assurez-vous également que '''vous avez bien utilisé "NL & CR" comme option d'envoi de commande. Cela signifie que lorsque vous envoyez des données vers votre Arduino avec la console, les données envoyées seront terminée par un NL + un CR'''.
 +
 
 +
NL & CR signifie "newline/return" que l'on traduira pas "Nouvelle Ligne/Retour Clavier" correspondant au caractère chr(10) / chr(13) dans les programmes.
 +
 
 +
== Utiliser ce Croquis ==
 +
Le croquis de test dispose d'une interface menu permettant de tester tout ce qu'il est possible de réaliser avec un Fona.
 +
 
 +
Ce menu pourrait être complété avec de nouvelles fonctionnalités lorsque qu'Adafruit fera des mise-à-jour de sa bibliothèque!
 +
 
 +
=== Tension de l'accu ===
 +
Commençons par lire la tension de l'accu (nous parlons de l'accu Lipoly branché sur le Fona).  C'est pratique si nous avons besoin de savoir si le niveau de l'accu est bas!
 +
 
 +
Tapez '''b''' dans la fenêtre de commande et pressez le bouton '''Send''' (''envoi'')
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-30.jpg}}
 +
 
 +
Vous verrez alors apparaître la tension de l'accu en mV (millivolts). Dans notre cas, il s'agit de 3.726 Volts
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-31.jpg}}
 +
 
 +
=== Vérifier le CCID de la carte SIM ===
 +
Vous pouvez vérifier que la carte SIM est insérée et fonctionne correctement en lisant le CCID, qui est l'identifiant unique de la carte.
 +
 
 +
Saisissez '''C''' dans la zone de commande.
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-40.jpg}}
 +
 
 +
=== Vérifier le RSSI (force du signal) ===
 +
Vous pouvez interroger le FONA sur la force du signal avec la commande '''i'''. La réponse est un nombre que vous pouvez convertir en dBm. Essayez d'avoir une force de signal supérieur à 5 pour faire des appels, envoyer des SMS, etc.
 +
 
 +
Dans notre cas, nous avons obtenu 10
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-50.jpg}}
 +
 
 +
=== Vérifier l'enregistrement réseau ===
 +
Si votre FONA dispose d'un bon signal, il va automatiquement essayer de localiser la tour d'émission de la cellule réseau et s'y enregistrer.
 +
 
 +
Vous pouvez vérifier le statut du réseau avec la commande '''n'''
 +
 
 +
Une fois enregistré sur le réseau cellulaire, votre Fona aura encore besoin de 5-10 secondes suppélementaire pour essayer d'accéder/envoyer des SMS ou faire des appels téléphoniques.
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-51.jpg}}
 +
 
 +
=== Volume audio ===
 +
Vous pouvez fixer le volume audio à l'aide de la commande '''v'''. Vous pouvez obtenir le volume actuel avec la commande '''V''' - il s'agit d'un pourcentage de volume (entre 0 et 100%).
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-52.jpg}}
 +
 
 +
== Casque Audio et Audio externe ==
 +
Le FONA est équipé de deux voies audio. Une via la prise casque(le connecteur audio jack de 3.5mm) et l'autre via une sortie externe (dite "external" en anglais).
 +
 
 +
Pour utiliser la sortie externe, vous avez besoin d'utiliser les deux broches "haut-parleur/speaker" et broches "microphone/mic". La radio FM, appel vocaux, tonalités, etc peuvent être routés vers l'une ou l'autre des sorties audio.
 +
* Utilisez la commande '''H''', pour renvoyer l'audio le sortie casque
 +
* Utilisez la commande '''e''', pour renvoyer l'audio vers la sortie audio
 +
 
 +
{{ambox|text=Notez que le FONA 808 ne dispose que d'une sortie casque (Headset). Dans ce cas de figure, sélectionner la sortie extérieur ne changera rien.}}
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-53.jpg}}
 +
 
 +
== Jouer des sons (tonalités) ==
 +
Vous pouvez tester la sortie audio en produisant des sons à l'aide de du "toolkit tones" produisant des tonalités. De nombreux téléphones cellulaires imitent la tonalité des anciennes lignes téléphoniques avec ce type de fonctionnalité. Vous pouvez vérifier la commande '''AT+STTONE''' avec la fiche technique des commandes AT. Aux état-unis, la tonalité Américaine correspond à #20.
 +
 
 +
Vous pouvez passer en mode casque (headset), jouer une tonaliter, puis essayer de passer en mode audio externe. Il est très facile d'essayer les deux voies audio pour faire du débogage.
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-54.jpg}}
 +
 
 +
== PWM/Buzzer ==
 +
Le FONA dispose d'une seul broche PWM (sortie PWM) que vous pouvez utiliser pour controler un Piezo ou un moteur vibrant. La fiche technique manque un peu de clareté concernant l'utilisation de ce mode 'PWM' sur lequel vous disposez du plein contrôle de fréquence et cycle utile.
 +
 
 +
Dans le mode utilisé par la bibliothèque, vous pouvez fixer la fréquence entre 1 et 2000 Hz et disposer d'un cycle utile de 50% (duty cycle). La broche '''PWM''' est une sortie "directe" du module SIM800, à 2.8Vpp!. Le broche '''Buzzer''' est pilotée par PWM via un transistor PNP, ce qui vous permet d'utiliser '''Buzzer''' pour piloter un '''buzzer motorisé''' alimenté par l'accu lipoly.
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-55.jpg}}
 +
 
 +
== Faire un appel ==
 +
Super... maintenant, nous allons pouvoir commencer les choses vraiment intéressante. Vous pouvez faire des appel à l'aide de FONA vraiment facilement. Assurez vous d'avoir activé la bonne sortie audio (externe ou casque) avant d'aller plus loin
 +
 
 +
Faite un appel avec '''c''' - l'appel se fait en tâche de fond (''background task'' en anglais). Quand vous avez terminé votre appel/conversation, vous pouvez raccorder avec '''h'''.
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-56.jpg}}
 +
 
 +
=== Hang Up - le pragmatisme à l anglaise ===
 +
 
 +
"h" correspond à "Hang Up" que l'on traduit littéralement par ''pendre en haut''. Bizarre pour raccrocher un appel. De nos vous, l'on ferme un clapet... ou l'on dépose le cornet sur le téléphone (pour ceux qui connaissent en encore ce modèle de téléphone. Haut début de l'histoire du téléphone, ces derniers étaient fixés aux murs de sorte à pouvoir parler dans ce qui semblait être le microphone et maintenir une sorte de "casque" sur l'oreille. Pour terminer l'appel, il fallait re-prendre le ''casque sur son berceau'''. Ce berceau étant au dessus du microphone (et microphone devant votre bouche), il fallait lever le bras.
 +
 
 +
[[Fichier:ADAFRUIT-FONA-Arduino-Test-56a.jpg|320px]]<small><br />source: [https://upload.wikimedia.org/wikipedia/commons/5/5e/OldPhone.jpg Wikimedia common]</small>
 +
 
 +
Voila pourquoi "raccrocher" se dit "prendre en en haut" (Hang Up) chez les anglophones.
 +
 
 +
En fin de compte, l'anglais ce n'est pas compliqué mais pragmatique (mais si cela date d'un autre temps).
 +
 
 +
== Envoyer et recevoir des SMS ==
 +
Une autre chose facile à réaliser est l'envoi d'un message SMS (texto). Commençons par envoyez un SMS. Nous utiliserons ici le code court 40404 de twitter, qui effectue une réponse automatique... pratique pour vérifier l'envoi et la réception de SMS.
 +
 
 +
<small>''{{underline|Note:}} Chez mchobby nous l'avons testé la fonctionnalité avec un numéro de téléphone standard au format international +32xxxxxxx.''</small>
 +
 
 +
Vous pouvez envoyer des SMS multi-lignes avec l'API de la bibliothèque mais dans cet exemple, il est plus facile de faire un parsing des données si elles sont contenues dans une seule ligne!
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-57.jpg}}
 +
 
 +
Vous pouvez ensuite demander à la carte SIM combien de SMS elle contient avec '''N''' et vous pouvez tous les lires avec '''R'''
 +
 
 +
{{underline|Note:}} les SMS sont stockés dans des "slots" mais le nombre n'inclus pas les slots vides. Nous allons présenter cela des les détails dans un petit moment
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-58.jpg}}
 +
 
 +
Vous pouvez lire un SMS individuel avec '''r'''
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-59.jpg}}
 +
 
 +
Et effacer le SMS contenu dans un numéro de slot avec '''d'''
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-60.jpg}}
 +
 
 +
Notez qu'une fois les SMS #2 effacé, si vous essayez de le relire ensuite, le slot sera indiqué comme "vide" (''empty'' en anglais).
 +
 
 +
{{underline|Egalement très important:}} ce n'est pas parce que le SMS à été effacé dans le slot #2 que le SMS dans le slot #3 est déplacé dans le slot #2. Après avoir effacé le SMS dans le slot #2, le slot #2 reste vide et le SMS dans le slot #3 reste dans le slot #3!
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-61.jpg}}
 +
 
 +
== Radio FM (FONA 800 uniquement) ==
 +
Si votre FONA dispose d'un récepteur FM, il utilise le casque comme 'antenne' et fonctionne plutôt bien! Le son de la radio est reproduit sur la voie audio sélectionnée (casque ou haut-parleur).
 +
 
 +
Vous pouvez fixer la fréquence FM sélectionnée par multiple de 100KHz. Par conséquent, si vous désirez obtenir la fréquence de 88.1MHz, saisissez la valeur de 881. Pour la fréquence de 102.3 Mhz, saisissez la valeur 1023.
 +
 
 +
Utilisez la commande '''f''' pour ouvrir et fixer la fréquence, et '''F''' pour la clôturer.
 +
 
 +
{{ambox|text=La fonction Radio FM est uniquement disponible sur le FONA 800, le FONA 808 ne contient pas de tuner radio.}}
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-62.jpg}}
 +
 
 +
== Sous module GPS (FONA 808 uniquement) ==
 +
The FONA 808 inclus un module GPS que vous pouvez utiliser pour localiser votre position! Vous aurez besoin de brancher une antenne GPS sur le connecteur µFL et faire en sorte que l'antenne GPS soit positionnée à l'extérieur (et pointant vers le ciel).
 +
 
 +
Vous commencez en activant le module GPS avec la commande '''O''' (lettre 'o' en capital) et vous pouvez interroger le le statut de la synchronisation satellite (dit 'fix') avec la commande '''x'''.
 +
 
 +
Une minute ou deux seront nécessaire pour obtenir cette synchronisation (''fix'').
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-63.jpg}}
 +
 
 +
Une fois que vous avez obtenu le ''fix'', vous pouvez interroger le module pour obtenir votre position (mais aussi l'heure) à l'aide de la commande '''L'''
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-64.jpg}}
 +
 
 +
Les données sont produites sous le format '''comma-seperated''' (valeurs séparées par une virgule):
 +
<nowiki>0,4043.576433,7400.316980,58.647405,20150601201258.000,64,12,0.548363,100.442406</nowiki>
 +
 
 +
Cette ligne de donnée peut être traitée pour obtenir les informations suivantes:
 +
* '''0''' - ceci est le mode (qui sera 0)
 +
* '''4043.576433''' - pour la longitude
 +
* '''7400.316980''' - pour la latitude
 +
 
 +
{{ambox|text=Il arrive régulièrement que les utilisateurs soient prit de confusion parce que malgré le bon fonctionnement du GPS, la position semble incorrecte de quelques kilomètres - cela est causé par une mauvaise interpretation/calcul des données lat/long. Contrairement aux apparences, la géolocalisation N'EST PAS EXPRIME avec une valeur décimale (pour les degrés). La valeur est exprimée en degrés et minutes en utilisant le format suivant: Latitude: DDMM.MMMM (Les deux premiers caractères sont les degrés.) Longitude: DDDMM.MMMM (les trois premiers caractères sont des degrés.) }}
 +
 
 +
* '''58.647405''' - est l'altitude en mètre
 +
* '''20150601201258.000''' - Le temps untiversel (UTC) au format yyymmddHHMMSS.ms format. Ex: c'est l'année 2015, mois 06, date 01, 20 heures, 12 minutes, 58 secondes. Il vous vaudra calculer (ajuster) cette heure si vous n'êtes pas dans la zone de temps UTC afin de pouvoir déterminer l'heure locale.
 +
* '''64''' - est le temps pour obtenir le premier fix (en seconde)
 +
* '''12''' - Le nombre de satellites visibles.
 +
* '''0.548363''' - est la vitesse (exprimé en unité "knots")
 +
* '''100.442406''' - Estimation ''at the best'' de la direction de déplacement actuel. La valeur 0 étant le 'nord' et 180 étant le 'sud' (par déduction)
 +
 
 +
Si vous désirez obtenir les données 'NMEA brutes', vous pouvez utiliser la commande '''E''' - vous pouvez envoyer un nomre entre 0 et 255 indiquant quel information (NMEA sentence) vous désirez omettre.
 +
 
 +
* 0 désactiver la sortie (le flux NMEA.
 +
* +2 pour $GPGGA
 +
* +4 pour $GPGLL
 +
* +8 pour $GPGSA
 +
* +16 pour $GPGSV
 +
* +32 pour $GPRMC
 +
* +64 pour $GPVTG
 +
* +128 pour GPZDA
 +
 
 +
Ex: si vous désirez voir les informations GPRMC et GPGGA, faites l'addition de +32 et +2 = 34 et saisissez cette valeur. Vous allez ensuite voir le flux de donnée produit avec une fréquence de 1Hz
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-70.jpg}}
 +
 
 +
Lorsque vous avez terminé vos traitement, vous pouvez interrompre le flux en saisissant '''E''' et '''0''' (zéro)
 +
 
 +
{{ADFImage|ADAFRUIT-FONA-Arduino-Test-71.jpg}}
    
{{ADAFRUIT-FONA-TRAILER}}
 
{{ADAFRUIT-FONA-TRAILER}}
29 836

modifications

Menu de navigation