Tracker GPS avec LoRa

Bonjour à tous :),

Je suis nouveau sur arduino et sur le forum. J'essaye de faire un tracker GPS pour la voiture en utilisant LoRa.

Etant nouveau, j'ai acheté un peu de matériel et surtout beaucoup lu, peu en français mais malheureusement surtout peu utile (pour ce projet du moins), voir même certaines qui se contredisent et qui embrouillent finalement plus qu'autre chose... D'où mon inscription pour parler directement aux experts :slight_smile: j'espère pouvoir également apporté plus tard mon aide dans ce domaine quand j'en aurais appris suffisamment :slight_smile:

Pour suivre les règles du topic que j'ai lu :

Projet : Tracker GPS avec transmission des coordonnées via LoRa. J'ai déjà un tracker GPS de marque INVOXIA qui utilise Lora Sigfox pour envoyer les informations GPS Tracker Classic - Pour les véhicules et les objets de valeur. Longue durée de vie de la batterie | Invoxia

Mais je voudrais en faire un via arduino afin de transmettre les informations sur jeedom

Ce qui est déjà fait : Beaucoup de lecture, ici sur le forum, et ailleurs, j'ai regardé des vidéos youtube, etc... Pour le code, j'ai testé les différents modules en ma possession via les exemples des librairies...

Liste du matériel :

Modules ethernet, bluetooth, etc... mais pas utile je pense dans ce cas-ci

LoRa VS LoRaWAN
LoRa est le nom donné à la technologie de modulation des ondes radios sur laquelle sont basés les réseaux LoRaWAN. Cet acronyme barbare signifie réseau étendu à longue portée (long range radio wide area network). "LoRaWAN est un protocole tandis que LoRa fait référence à la couche physique du réseau", explique Rémi Lorrain, directeur du réseau LoRaWAN chez Semtech. LoRaWAN fait partie de la catégorie des réseaux LPWAN (low power wide area network, ou réseau faible consommation longue portée en français).

Vu sur LoRa : comment fonctionne le réseau IoT ?

Du coup LoRaWAN est un protocole de LoRa, mais il y en a d'autres ? Ou quand on parle de Lora/LoRaWAN on sait forcément que l'un = l'autre ?

Est-ce que le LoRa/LoRaWan est le bon choix ?
Est-ce que le module choisi est le un bon choix pour ce projet ?
Quel board me conseillez-vous ?
Le module GPS NEO-6M choisit est le un bon choix pour ce projet ?

Ensuite que pouvez-vous me conseiller pour l'alimentation ? J'ai l'impression que le gros problème peut se situer à se niveau, afin d'éviter de remplacer la batterie 3x par jour... :confused:

Merci d'avance de m'avoir lu :slight_smile:

Bonjour

Du coup LoRaWAN est un protocole de LoRa, mais il y en a d'autres ? Ou quand on parle de Lora/LoRaWAN on sait forcément que l'un = l'autre ?

Est-ce que le LoRa/LoRaWan est le bon choix ?
Est-ce que le module choisi est le un bon choix pour ce projet ?

LoRa n'est qu'une modulation radio particulière
On peut faire communiquer en LoRa deux objets en 'point à point', sans notion de réseau

LoRaWAN est un protocole réseau installé sur une radio LoRa
Si on enlève à LoRaWAN les couches réseaux supérieures réseau , il reste ne reste que la couche physique = LoRa, dit autrement 'LoRa c'est LoRaWAN sans réseau '

A ma connaissance les seuls réseaux publics étendus (WAN) auxquels on peut s'abonner en France utilisent tous LoRaWAN ( Bouygues, Orange et The Thing Networks). Mais ni Orange ni Bouygues ne s'intéressent aux particuliers.....ne reste pour le particulier le réseau collaboratif The Thing Networks dont la couverture est très limitée en France.

LoRaWAN est une bonne idée sur le papier pour un projet de tracker GPS.. à condition de pouvoir s'abonner à un réseau couvrant correctement l'intégralité de la zone !! C'est là qu'est l'os....
Pour un particulier pas d'abonnement possible à un réseau WAN de couverture nationale contrairement à Sigfox.... c'est ballot.

A défaut le bon vieux réseau 2G GPRS qui s'accroche (carte SIM800L + carte SIM Free à 2€)

le module 'MakerHawk' se vend sous d'autres noms (TTGO, Heltec) à la moité de ce prix sur Aliexpress
je me sers de ce genre de modules pour
-soit faire des liaisons point à point en LoRa
-soit envoyer qq données vers le réseau LoRaWAN collaboratif "The Thing Networks" ... sous condition d'être à qq km d'une passerelle

Merci beaucoup al1fch. La situation peu ou pas se compliquer, étant à Bruxelles. Les déplacements se font principalement dans et autour de Bruxelles parfois dans le Nord de la France pour voir la famille.

En regardant la map disponible sur le site de TTN, je devrais "facilement" avoir accès à 6 passerelles (du moins depuis la maison) située à 2/3km, j'ai lu que des passerelles pouvaient également transmettre le signal sans pour autant être indiquée sur le site, il y en a donc peut-être plus... ?

Si tout cela fonctionne, je rajouterais une passerelle pour participer également :slight_smile:

J'ai pensé à Sigfox, mais je pense utiliser LoRa également pour faire remonter les informations de la serre (si le tracker gps fonctionne), du coup je préfère conserver le même protocole pour les 2... :slight_smile:

Pour le GPRS, je suis pas convaincu, c'est ce qui me plait le moins, et consommera je pense (peut-être à tord), plus que les 2 autres...

Pour le prix oui je passe par aliexpress/banggood etc pour l'achat de plusieurs modules, packs etc... mais là pour un module... et j'avais envie de m'y mettre :slight_smile:

J'ai fait un petit tutoriel sur les devices 'et 'passerelles maison' TTN
https://forum.arduino.cc/index.php?topic=612818.0

Attention : TTN est en train de changer un peu le protocole courant 2021 il va falloir prendre les tanciens tutos avec des pincettes. par ailleurs nombre de 'devices' et 'passerelles maison' en limite de compatibilité avec le protocole LoRaWAN et tout juste tolérés jusque là ne le seront plus.

Un module SIM800. consomme plus qu'un module LoRa ou un module SigFox , c'est clair, mais on peut réduire l'écart en mettant le SIM800L en veille entre les émissions , voire couper son alimentation.

Si tout cela fonctionne, je rajouterais une passerelle pour participer également

C'est grâce à ces intiatives que TTN existe !! Je m'aprète à franchir le pas après avoir testé TTN plus d'un an avec une petite 'mini paserelle TTN' maison tournant sur une carte TTGO LoRa Oled.

pour la Belgique Mc Hobby décrivait en 2018 une situation tout aussi défavorable aux makers :

al1fch:
J'ai fait un petit tutoriel sur les devices 'et 'passerelles maison' TTN
The Things Network V2 / LoRaWAN : OBSOLETE - Tutoriels et cours - Arduino Forum

Attention : TTN est en train de changer un peu le protocole courant 2021 il va falloir prendre les tanciens tutos avec des pincettes. par ailleurs nombre de 'devices' et 'passerelles maison' en limite de compatibilité avec le protocole LoRaWAN et tout juste tolérés jusque là ne le seront plus.

Un module SIM800. consomme plus qu'un module LoRa ou un module SigFox , c'est clair, mais on peut réduire l'écart en mettant le SIM800L en veille entre les émissions , voire couper son alimentation.

C'est grâce à ces intiatives que TTN existe !! Je m'aprète à franchir le pas après avoir testé TTN plus d'un an avec une petite 'mini paserelle TTN' maison tournant sur une carte TTGO LoRa Oled.

pour la Belgique Mc Hobby décrivait en 2018 une situation tout aussi défavorable aux makers :
LoRa: Technologie en perte de vitesse en Belgique - Position Dominante et Discriminatoire - MCHobby - Le Blog

Bonjour Al1
Tu apparais sur la carte TTN ?
Je me posais la question de configurer une station TTN dans ma campagne et/ou Paris
J'ai du mal à voir ce qu'il faut comme materiel minimal , j'avais déja survolé le site sans vraiment m'arreter (je suis inscrit)

Bonjour Al1
Tu apparais sur la carte TTN ?

salut !

Non, pas tant que je n'ai qu'une 'mini passerelle' construite sur une TTGO LoRa OLED.

Elle n'écoute que les trames circulant sur une des 8 fréquences et ne relaie pas vers les 'device' les trames descendantes. Jusqu'à présent les trames (les mienes et quelques autres qu'elle capte remontent bien vers le serveur TTN mais cela va s'interrompre courant 2021 avec la mise en service de la version 3 du protocole (LoRaWAN strict)

premier prix : passerelle indoor de TTN un peu moins de 100€ TVA et port compris

Une vraie passerelle comporte un concentrateur , gére toutes les fréquence, et est bidirectionnelle (trames descendantes vers les devices dont maintenant des trames de régulation du réseau)

Sur le point d'acquérir une telle passerelle l cxahngement de version du protocole m'amène à temporiser.
J'attend de voir ses conséquences sur mes divers 'devices', leur inévitable reprogrammation....

Oui j'avais vu ton message en rouge il y a quelques jours, sur ce sujet ou un autre je ne sais plus. J'ai regardé mais pas vu plus d'infos :confused:

J'ai vu le message de Mc Hobby tout à l'heure justement en cherchant la carte des passerelles LoRaWAN pour la Belgique. Mais ça concerne la partie LoRa, pas LoraWAN, ça prouve encore que ceux qui sont responsable, ne connaissent pas le dossier dont ils sont responsables...

Qui rend une technologie populaire ? Les Makers et l'éducation bien entendu!

Tout aussi vrai aujourd'hui que ça l'était en 2018...

La batterie 18650 te parait une bonne idée ?

Je suppose que le nano est trop petit pour gérer le module LoRaWan et le GPS, je dois visé le nano au moins ?

C'est possible de tester ça sur un logiciel ? fritzing ? J'ai vu ça, mais pas encore testé, déconseillé car ils proposent des piles 9v pour des moteurs ? Ou seulement la partie pile est à proscrire dessus mais le reste est bon ? Ou conseillez-vous autre chose ? :slight_smile:

Connecting TTIG to The Things Network V3

J'ai fais mon compte TTN hier soir, je vais regarder ton tuto pour m'avancer.

al1fch:
Sur le point d'acquérir une telle passerelle l cxahngement de version du protocole m'amène à temporiser.
J'attend de voir ses conséquences sur mes divers 'devices', leur inévitable reprogrammation....

OK
Je vais te laisser le soin d'essuyer les plâtres ! :grin:

La batterie 18650 te parait une bonne idée ?

18650 ne désigne que les dimensions d'un cylindre de longeur 65mm et diamètre 18mm
Dans ce format on trouve surtout des accus Li-ion ... mais pas que .... des accus LiFePo4 sont également commercialisés sous ce format.
Chosir l'accu en fonction de la tension et de la capacité (mAh) nécessaire pour atteindre l'autonomie voulue.
Tant que le montage n'est pas fait, que sa consommation n'est pas connue, il est trop tôt pour sélectionner un accu.

C'est possible de tester ça sur un logiciel ?

j'en doute. Je ne conais pas de logiciel capable de simuler intégralement tout cela. Il faut directement réaliser.

fritzing ?

Fritzing est apprécié par certains pour faire des plans de câblage colorés facilitant le 'clonage' de montages.
Il semble qu'on puisse également faire plus ou moins des schémas de principe (composants représentés par des symboles)
Mais sur ce forum certains aidants sont des électroniciens de métier qui ont l'habitude de travailler sur des schémas faits avec un logiciel de CAO, schémas clairs et propres permettant d'exprimer au mieux le fonctionnement d'un montage, (voire des schémas bien dessinés à main levée avec une règle)

Je suppose que le nano est trop petit pour gérer le module LoRaWan et le GPS, je dois visé le nano au moins ?

Pas très logique ! Pourquoi viser ....ce qui ne convient probablement pas.....

IL est un peu tôt pour déterminer si une carte Arduino basique avec un ATMega328 ou un ATMega32u4 pourra faire tourner une librairie compatible avec la nouvelle version du protocole TTN (v3).
Il est par contre assuré que la librairie légère TinyLora d'Adafruit ("TinyLoRaWAN TTN" dans les faits !!) ne pourra plus convenir, incompatible avec la v3. Il faudre se rabattre sur des librairie plus lourdes genre LMIC.
(2021 est une année de transition , ce n'est pas lidéal pour se lancer sur TTN)

Pourquoi laisser de côté la carte à ESP32 + puce LoRa mentionnée initialement ?
Elle aura , elle, les ressources nécessaires pour un TTN V3 et la gestion du GPS

J'ai vu aussi tinkercad mais peut-être moins complet... :confused:

al1fch:
Pas très logique ! Pourquoi viser ....ce qui ne convient probablement pas.....

IL est un peu tôt pour déterminer si une carte Arduino basique avec un ATMega328 ou un ATMega32u4 pourra faire tourner une librairie compatible avec la nouvelle version du protocole TTN (v3).
Il est par contre assuré que la librairie légère TinyLora d'Adafruit ("TinyLoRaWAN TTN" dans les faits !!) ne pourra plus convenir, incompatible avec la v3. Il faudre se rabattre sur des librairie plus lourdes genre LMIC.
(2021 est une année de transition , ce n'est pas lidéal pour se lancer sur TTN)

Pourquoi laisser de côté la carte à ESP32 + puce LoRa mentionnée initialement ?
Elle aura , elle, les ressources nécessaires pour un TTN V3 et la gestion du GPS

Oui je voulais dire la Uno, désolé :slight_smile:

Oh pour le moment je ne laisse rien de côté, je pose juste des questions pour savoir vers quoi me diriger :slight_smile:
Ce n'est peut-être pas l'année idéale, mais ça les voleurs ça ne les dérangera pas... :confused:

Bonjour :slight_smile:

Est-ce qu'il y a moyen de "scanner" autour de la zone avec le module LoRa pour voir si il y a un passerelle réellement à proximité ? J'imagine que non, mais poser la question ne coûte rien :slight_smile:

J'essaye de faire communiquer le module avec le site de TTN, mais pas moyen d'avoir une liaison.

Je ne sais pas si je me dirige du bon côté ou pas, j'obtiens :

18:50:17.415 -> ESP32 MCU init...

18:50:18.538 -> ESP32 MCU inited OK!

18:50:19.193 ->

18:50:19.193 -> LoRaWAN EU868 Class A start!

18:50:19.193 ->

18:50:19.614 -> joining...

18:58:33.338 -> join failed, rejoin at 30000 ms later

En utilisant l'OTAA_OLED de la librairie ESP32_LoRaWAN.

:confused: C'est le "meilleur" résultat jusqu'à présent....

Tout est resté infructueux et la console TTN reste désespérément vide, je dois rater quelque chose

Bonsoir

A ma connaissance pas de scan des passerelles.... DE toutes façon elles passent l'essentiel de leur temps à 'écouter' et émettent peu sur la bande 868 MHz

Tu a fait le travail préliminaire de configuration 'application' et 'device' sur le site TTN ?

Pour ma part vu l'absence de 'vraie ' passerelle quelques km à la ronde et vues les limitations de ma nini passerellele je n'ai pas pu tester OTAA et me suis rabattu sur ABP (procédure détaillée décrite dans mon tuto). L'OTAA nécessite une liaison descendante, pas ABP (à ce jour)

Librairie ESP32_LoRaWAN ? connais pas.
Je n'ai utilisé que LMIC et TinyLora(WAN) d'Adaftuit pour des devices qui fonctionnent encore (jusqu'à quand ? c'est l'inconnue)

al1fch:
Je n'ai utilisé que LMIC et TinyLora(WAN) d'Adaftuit

Testée aussi, mais pareil :confused:

Sauf erreur, oui l'application/device est configuré sur le site TTN

J'ai testé en OTAA hier parce que c'était ce qui était proposé par défaut, puis j'ai switché sur ABP, mais toujours pareil :confused:

Voici le code pour OTAA_OLED de la librairie ESP32_LoRaWAN

/*
 * HelTec Automation(TM) LoRaWAN 1.0.2 OTAA example use OTAA, CLASS A
 *
 * Function summary:
 *
 * - use internal RTC(150KHz);
 *
 * - Include stop mode and deep sleep mode;
 *
 * - 15S data send cycle;
 *
 * - Informations output via serial(115200);
 *
 * - Only ESP32 + LoRa series boards can use this library, need a license
 *   to make the code run(check you license here: http://www.heltec.cn/search );
 *
 * You can change some definition in "Commissioning.h" and "LoRaMac-definitions.h"
 *
 * HelTec AutoMation, Chengdu, China.
 * 成都惠利特自动化科技有限公司
 * https://heltec.org
 * support@heltec.cn
 *
 *this project also release in GitHub:
 *https://github.com/HelTecAutomation/ESP32_LoRaWAN
*/

#include <ESP32_LoRaWAN.h>
#include "Arduino.h"

/*license for Heltec ESP32 LoRaWan, quary your ChipID relevant license: http://resource.heltec.cn/search */
uint32_t  license[4] = { 0xB4ED7118,...,0xA110268A };
/* OTAA para*/
uint8_t DevEui[] = { 0x22, ..., 0x02 };
uint8_t AppEui[] = { 0x70, ..., 0x8A };
uint8_t AppKey[] = { 0x88, ..., 0x01 };

/* ABP para*/
uint8_t NwkSKey[] = { 0x22, ..., 0x02 };
uint8_t AppSKey[] = { 0x70, ..., 0x8A };
uint32_t DevAddr =  ( uint32_t )0x00000000;

/*LoraWan channelsmask, default channels 0-7*/ 
uint16_t userChannelsMask[6]={ 0x00FF,0x0000,0x0000,0x0000,0x0000,0x0000 };

/*LoraWan Class, Class A and Class C are supported*/
DeviceClass_t  loraWanClass = CLASS_A;

/*the application data transmission duty cycle.  value in [ms].*/
uint32_t appTxDutyCycle = 15000;

/*OTAA or ABP*/
bool overTheAirActivation = true;

/*ADR enable*/
bool loraWanAdr = true;

/* Indicates if the node is sending confirmed or unconfirmed messages */
bool isTxConfirmed = true;

/* Application port */
uint8_t appPort = 2;

/*!
* Number of trials to transmit the frame, if the LoRaMAC layer did not
* receive an acknowledgment. The MAC performs a datarate adaptation,
* according to the LoRaWAN Specification V1.0.2, chapter 18.4, according
* to the following table:
*
* Transmission nb | Data Rate
* ----------------|-----------
* 1 (first)       | DR
* 2               | DR
* 3               | max(DR-1,0)
* 4               | max(DR-1,0)
* 5               | max(DR-2,0)
* 6               | max(DR-2,0)
* 7               | max(DR-3,0)
* 8               | max(DR-3,0)
*
* Note, that if NbTrials is set to 1 or 2, the MAC will not decrease
* the datarate, in case the LoRaMAC layer did not receive an acknowledgment
*/
uint8_t confirmedNbTrials = 8;

/*LoraWan debug level, select in arduino IDE tools.
* None : print basic info.
* Freq : print Tx and Rx freq, DR info.
* Freq && DIO : print Tx and Rx freq, DR, DIO0 interrupt and DIO1 interrupt info.
* Freq && DIO && PW: print Tx and Rx freq, DR, DIO0 interrupt, DIO1 interrupt, MCU sleep and MCU wake info.
*/
uint8_t debugLevel = LoRaWAN_DEBUG_LEVEL;

/*LoraWan region, select in arduino IDE tools*/
LoRaMacRegion_t loraWanRegion = ACTIVE_REGION;


static void prepareTxFrame( uint8_t port )
{
    appDataSize = 4;//AppDataSize max value is 64
    appData[0] = 0x00;
    appData[1] = 0x01;
    appData[2] = 0x02;
    appData[3] = 0x03;
}

// Add your initialization code here
void setup()
{
  if(mcuStarted==0)
  {
    LoRaWAN.displayMcuInit();
  }
  Serial.begin(115200);
  while (!Serial);
  SPI.begin(SCK,MISO,MOSI,SS);
  Mcu.init(SS,RST_LoRa,DIO0,DIO1,license);
  deviceState = DEVICE_STATE_INIT;
}

// The loop function is called in an endless loop
void loop()
{
  switch( deviceState )
  {
    case DEVICE_STATE_INIT:
    {
      LoRaWAN.init(loraWanClass,loraWanRegion);
      break;
    }
    case DEVICE_STATE_JOIN:
    {
      LoRaWAN.displayJoining();
      LoRaWAN.join();
      break;
    }
    case DEVICE_STATE_SEND:
    {
      LoRaWAN.displaySending();
      prepareTxFrame( appPort );
      LoRaWAN.send(loraWanClass);
      deviceState = DEVICE_STATE_CYCLE;
      break;
    }
    case DEVICE_STATE_CYCLE:
    {
      // Schedule next packet transmission
      txDutyCycleTime = appTxDutyCycle + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
      LoRaWAN.cycle(txDutyCycleTime);
      deviceState = DEVICE_STATE_SLEEP;
      break;
    }
    case DEVICE_STATE_SLEEP:
    {
      LoRaWAN.displayAck();
      LoRaWAN.sleep(loraWanClass,debugLevel);
      break;
    }
    default:
    {
      deviceState = DEVICE_STATE_INIT;
      break;
    }
  }
}

Bonsoir

Dans ce code on ne voit pas où se fait la définition des fréquences dans le cas de l'Europe
Il y a peut être des données à éditer dans certains fichiers de la librairie utilisée
Heltec a peut être laissé dans la configuration par défaut des données valables pour l'Asie
EDIT : je viens de voir que la sélection de la région (bouquet de fréquences) se fait , pour cette carte Heltec, dans une ligne de menu de l'IDE Arduino.

Tu as sans doute déjà consulté cette page : Heltec LoRa 32 LoRaWAN Node on The Things Network – Robot Zero One

Quand la configuration sera bien faite à 100% il restera le doute sur la proximité d'une passerelle !!

Quand on n'a pas sa passerelle (=aucune visibilité sur l'intermédiaire entre le 'device' et les serveur TTN) la mise au point est plus laborieuse. L'accès à la passerelle permet au moins de voir passer des paquets LoRaWAN compatibles TTN (TTN est un cas particulier de réseau LoRaWAN)
Sans cela il faut se contenter des infos arrivant dans la console Arduino

Bonjour :slight_smile:

Ah non je n'ai pas encore vu cette page, merci pour le lien, je regarde ça :slight_smile:

16:56:48.950 -> Serial initial done

16:56:49.138 -> you can see OLED printed OLED initial done!

16:56:49.233 -> LoRa Initial success!

16:56:55.112 -> ESP32ChipID=1xxxxxxxxxx0

ça avance

il semble que la valeur de ChipID soit à transettre à Heltec pour avoir en retour une license pour leur librairie , license à intégrere dans le code LoRaWAN utilisant leur librairie

Coucou, oui c'est exactement ça, la valeur est à rentrer sur ce site pour récupérer la license https://resource.heltec.cn/search/

C'est déjà fait, c'est indiqué dans le code, de même que les clés fournies par TTN dans la console.

J'ai laissé tourné plusieurs heures, mais ça n'a rien changé :confused:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.