[Tuto] Mise en marche de l’Ultimate GPS FeatherWing via le HUZZAH ESP8266 Wifi

Comment lire les coordonnées lue par le GPS à travers le HUZZAH ESP8266 Wifi?

1.Montage

Le but de ce montage est de tester le featherwing GPS via le Feather HUZZAH ESP8266 Wifi. Les cartes ne sont pas directement compatibles en mode shield, il est donc nécessaire de simuler un nouveau couple de ports RX/TX.


Effectuer les connexions suivantes :

  • le pin 3V du GPS au pin 3V de l’ESP
  • le pin GND du GPS au pin GND de l’ESP
  • Pin 12 de l’ESP au pin TX du GPS
  • Pin 14 de l’ESP au pin RX du GPS
  • Brancher l’ESP à un pc avec un câble USB

2. Programme

Le Programme permet de lire les données envoyées par le GPS, sur le serial monitor de l’IDE Arduino.

Avant de mettre le programme sous Arduino IDE, vous devez ajouter des types de cartes supplémentaires.

  1. Pour cela, aller dans Fichier/Préférence puis coller le lien suivant : http://arduino.esp8266.com/stable/package_esp8266com_index.json
  2. Coller le dans le champ texte “URL de gestionnaire des cartes supplémentaires”.
  3. Valider l’entrée en appuyant sur “OK”.
  4. Ensuite,aller dans Outils/Type de carte et choisir Generic ESP8266 module.
  5. Choisir nodemcu dans Outils/Reset Method
  6. Copier/Coller le programme suivant :

Code :

 
#include <Adafruit_GPS.h>// https://github.com/adafruit/Adafruit_GPS.git
#include <SoftwareSerial.h>// déjà intégré à Arduino
#define BAUD_RATE 115200 // vitesse de communication de l’USB
#define BAUD_RATE_GPS 9600 // vitesse de communication entre le GPS et ESP8266 généralement 9600 baud

SoftwareSerial swSer(12, 14, false, 256); // Crée une sortie (RX, TX) dans la variable swSer
void setup()  // Programme d’initialisation
{
 Serial.begin(BAUD_RATE); // Initiation de la sortie UART de HUZZAH
 swSer.begin(BAUD_RATE_GPS); // Initiation de la sortie UART du gps
 pinMode(0, OUTPUT); // Initialise le PIN 0 en sortie
 Serial.print("\nEntering Setup"); // Affiche sur le moniteur “Entering Setup”
 Serial.println("\nSoftware serial test started"); // Affiche sur le moniteur “Software serial test started"

 for (char ch = ' '; ch <= 'z'; ch++) { //test pour afficher tous les caractères à la suite
   swSer.write(ch);
   Serial.write(ch);
   swSer.println("");
   }
 Serial.println("\nSoftware serial test done");// Affiche sur le moniteur “Software serial test done"
}

void clignot() {  // sous-programme qui fait clignoter la led rouge
 for (int i =0; i<= 10; i++) {
   digitalWrite(0, HIGH);  // Allume la LED
   delay(500);  // Attend 500ms
   digitalWrite(0, LOW);  // Eteint la LED
   delay(500);
   }
}

void loop() {
//  clignot(); //test si HUZZAH répond
//affiche ce que le GPS envoie
 if (swSer.available()) {    // regarde si la sortie est “libre”
char c = swSer.read(); // mets ce que envoie le GPS dans la variable caractère c
   Serial.write(c); // Affiche ce que contient la variable c
 }    
}

Le programme ci dessus affiche dans le Moniteur série:


$GPGGA,001336.799,,,,,0,00,,,M,,M,,*78
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,001336.799,V,,,,,0.00,0.00,060180,,,N*42
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

GPRMC et GPGGA sont les lignes qui contiennent les coordonnées qui nous intéressent. Le GPRMC est une trame d’information (souvent utilisée dans la navigation maritime). Le GPGGA est une trame d’information couramment utilisée pour connaître la position courante du récepteur GPS.

EX:$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E

  • 064036.289: Heure exprimée en hhmmss.ms (06H40min36s et 289ms).
  • 4836.5375,N,00740.9373,E : Coordonnées liées à la position.
    1. Latitude 48 degré et  36,5375 minutes Nord (N = Nord / S =Sud).
    2. Longitude -74 degré  et 40,9373 minutes Ouest (W = Ouest / E = Est).
  • 1: Type de positionnement ( 1 = positionnement GPS).
  • 04: Nombre de satellites utilisés pour calculer les coordonnées.
  • 3.2: Précision Horizontale.
  • 200.2,M: Altitude en mètres.
  • ,,,,0000 : D’autres données peuvent être inscrite.
  • *0E : Contrôle de parité de la trame au format hexadécimal.

Pour une meilleure réception des données  du GPS, il est conseillé de l’utiliser en extérieur.

Source:

https://fr.wikipedia.org/wiki/NMEA_0183

https://www.uni-weimar.de/projekte/costumes-and-environment/2017/05/19/tutorial-connecting

[TUTO] – Fabriquer un compteur de likes Facebook, Twitter et Instagram

Aujourd’hui, nous réalisons un compteur de likes Facebook, Instagram et Twitter connecté en wifi. Il vous permettra d’afficher votre nombre de likes depuis votre page facebook, ainsi que votre nombre de followers instagram et twitter.

1. Matériel utilisé

Afin de réaliser votre compteur de likes, il vous faudra :

2. Montage

Connectez les 5 fils de la manière suivante : 

Matrice LEDLinkNode D1
5v5v
GNDGND
CS1D2
WRD3
DATAD4

Si vous disposez d’une imprimante 3D, vous pouvez télécharger le fichier d’impression 3D afin de fabriquer le boîtier. Visser l’écran ainsi que le LinkNode D1 de la manière suivante :

3. Le code

  1. Téléchargez la dernière version de l’IDE Arduino.
  2. Si vous utilisez le LinkNode D1, vous allez devoir ajouter la carte dans la liste des cartes prises en charge par l’IDE Arduino. Ouvrez l’IDE, « Fichier » → « Préférences » et dans « URL de gestionnaire de cartes supplémentaires » ajouter le lien suivant :


    http://arduino.esp8266.com/stable/package_esp8266com_index.json

  3. Vous pouvez télécharger le code du compteur de likes sur github.
  4. Déplacer les librairies téléchargées avec le compteur de likes dans votre répertoire Arduino /librairies
  5. Votre répertoire Arduino devrait ressembler à cela
  6. Raccordez votre compteur de likes grâce à un câble USB/microUSB  vers votre ordinateur.
  7. Ouvrez votre IDE Arduino et modifiez les lignes 23-24 par le nom de votre réseau wifi ainsi que le mot de passe.

3.a Facebook

  1. Pour lier votre compte Facebook, vous devez vous rendre sur l’API Facebook et vous identifier. (Afin de pouvoir afficher le nombre de likes sur votre page vous devez en être administrateur).
  2. Sélectionnez « Mes applications » → « Ajouter une application », nommez votre application et faites « Créer un ID d’app ».
  3. Sélectionnez « Outils » → « Explorateur de l’API Graph », puis récupérez le token d’accès (Ctrl+C).
  4. Toujours dans “Outils”, sélectionnez “Outils de débug de tokens d’accès”, coller (Ctrl+v) le dans la barre associée, puis cliquez sur “Débuguer“. Des informations sur le token d’accès devrait s’afficher dont sa durée d’expiration. Par défaut il expire au bout d’une heure, pour éviter cela cliquez sur “étendre le token d’accès”. Un nouveau token d’accès vous est donné, copiez le.
  5. Afin de récupérer l’ID de votre page, copiez l’url de votre page sur ce site puis cliquez sur “Find numeric ID”.
  6. Ajoutez le token d’accès et votre ID de page dans le fichier like_counter.ino à la ligne 25-26.

3.b Instagram

  1. Afin de lier votre compte Instagram, commencez par vous identifier sur la plateforme dédiée ici.
  2. Cliquez sur « Manage Clients ».
  3. Puis remplissez les champs de la manière suivante.
  4. Dans l’onglet « Security », décochez « Disable implicit OAuth ». Puis cliquez sur « Register ».
  5. Une fois enregistré, vous devriez pouvoir voir votre application comme ceci, et trouver votre Client ID.
  6. Copier / coller l’URL suivante en remplaçant “[CLIENT_ID]” par le votre dans un navigateur web :

    https://instagram.com/oauth/authorize/?client_id=[CLIENT_ID]&redirect_uri=http://localhost&response_type=token

  7. vous devriez récupérer une URL de ce type : http://localhost/#access_token=********** , avec votre access token à la fin.
  8. Il ne vous restera plus qu’à l’ajouter dans le code, ligne 29.

3.c Twitter

  1. Pour lier votre compte Twitter, rien de plus simple. Récupérez votre nom de page dans l’url. (ex: https://twitter.com/letmeknowfr?lang=fr → le nom de notre Twitter est « letmeknowfr »)
  2. Puis ajoutez le dans le programme du compteur ligne 27.

3.d Téléverser le code

  1. Afin de téléverser le code sur votre carte, commencez par sélectionner votre carte. Dans “Outils” → “Type de carte”, sélectionner “WeMos D1 (Retired)” si vous utilisez le LinkNode D1. Puis paramétrer le de la manière suivante :
  2. Sélectionnez le port COM sur lequel votre carte est connectée.
  3. Et enfin, cliquez sur Téléverser.