Utiliser un module radio cellulaire global pour connecter rapidement et en toute sécurité des dispositifs IoT au cloud

Par Jens Wallmann

Avec la contribution de Rédacteurs européens de DigiKey

Pour connecter des périphériques réseau portables ou distants à l'Internet des objets (IoT) ou pour contrôler des machines à distance via la communication machine-à-machine (M2M), une connexion radio mobile pour l'échange de données via le cloud est une bonne option. Cependant, cette option présente des obstacles pour le développeur, notamment pour déterminer quels réseaux sans fil peuvent prendre en charge le débit de données requis dans le monde entier et quels protocoles le modem sans fil doit être capable de gérer. L'évolutivité du système, la sécurité des données, le coût, le délai de mise sur le marché ainsi que les coûts d'acquisition et d'exploitation supportés par l'utilisateur doivent également être pris en compte.

Cet article explique brièvement ce que LTE Cat 1 apporte aux développeurs d'applications IoT et M2M. Il présente ensuite les modules radio LARA-R6 de u-blox qui offrent une connectivité universelle et des performances fiables. L'article conclut en montrant comment les développeurs peuvent utiliser une carte d'évaluation (EVB) pour configurer et contrôler facilement les modules via des commandes AT et générer des chaînes de commandes AT via des fonctions de bibliothèque.

LTE Cat 1 comparé à LTE Cat 1bis, LTE Cat M et LTE Cat NB

Alors que la radio cellulaire LTE atteint désormais des débits de transmission de l'ordre du gigabit, les protocoles LPWA (Low Power Wide Area) tels que LTE Cat 1, LTE Cat 1bis, LTE Cat M et LTE Cat NB sont conçus pour être particulièrement efficaces en termes de consommation d'énergie, de ressources réseau et de coûts. Cela est d'une importance cruciale pour les dispositifs IoT.

Offrant jusqu'à 20 mégahertz (MHz) de bande passante de canal en duplex intégral, LTE Cat 1 atteint des débits de données de téléchargement descendant jusqu'à 10 mégabits par seconde (Mbps) et des débits de données de téléchargement montant jusqu'à 5 Mbps. Deux antennes permettent la diversité de réception (Rx) pour de meilleures performances (Tableau 1). LTE Cat 1bis utilise une seule antenne.

LTE Cat1/Cat 1bis LTE Cat M1 LTE Cat NB1
Version 3GPP Version 8 Version 13 Version 13
Débit de crête en liaison descendante 10 Mbps 1 Mbps 26 kbps
Débit de crête en liaison montante 5 Mbps 1 Mbps 66 kbps (multi-tonalité)
16,9 kbps (une tonalité)
Latence 50 ms à 100 ms 10 ms à 15 ms 1,6 s à 10 s
Nombre d'antennes 2 (LTE Cat 1)
1 (LTE Cat 1bis)
1 1
Mode duplex Duplex intégral Duplex intégral ou semi-duplex Semi-duplex
Largeur de bande de réception du dispositif 1,4 MHz à 20 MHz 1,4 180 kHz

Tableau 1 : Comparaison des performances des protocoles LPWA. LTE CAT 1 utilise deux antennes pour la diversité Rx ; LTE Cat 1bis utilise une seule antenne. (Source de l'image : Wikipédia, Jens Wallmann)

Radio mobile LTE Cat 1 pour disponibilité mondiale

La série LARA-R6 de u-blox est constituée de modules radio cellulaires robustes, conçus pour les normes de technologie d'accès radio (RAT) LTE Cat 1 FDD (duplex à répartition en fréquence) et TDD (duplex à répartition dans le temps). Ils prennent en charge la 3G UMTS/HSPA et la 2G GSM/GPRS/EGPRS comme solution de repli. Ces modules constituent une excellente solution pour une couverture mondiale/multirégionale et sont disponibles dans un facteur de forme LGA compact de 26 millimètres (mm) x 24 mm.

Équipés d'interfaces polyvalentes, d'une grande variété de fonctionnalités et de capacités multibandes et multimodes, les modules LARA-R6 conviennent aux applications exigeant un débit de données moyen, une connectivité transparente, une excellente couverture et une faible latence. Ces applications incluent le suivi des actifs, la télématique, la surveillance à distance, les centres d'alarme, la vidéosurveillance, la santé connectée et les terminaux de point de vente.

Tous les modules prennent en charge la diversité Rx pour des performances fiables dans des conditions de couverture difficiles ou lorsque la voix sur LTE (VoLTE) est requise. Les programmeurs peuvent tirer parti des protocoles IoT embarqués (LwM2M, MQTT) et des fonctionnalités de sécurité (TLS/DTLS, mise à jour sécurisée et démarrage sécurisé) pour mettre en œuvre diverses fonctions, notamment la gestion des dispositifs, le contrôle des dispositifs à distance et les mises à jour FOTA (Firmware Over-The-Air) sécurisées.

La série LARA-R6 prend en charge LTE Cat 1 conformément à 3GPP version 10 et atteint une couverture mondiale avec trois variantes régionales :

  • Les modules LARA-R6001-00B (données et voix) et LARA-R6001D-00B (données uniquement) prennent en charge 18 bandes de fréquences LTE FDD/TDD plus un repli 3G/2G pour la connectivité mondiale.
  • Les modules LARA-R6401-00B (données et voix) et LARA-R6401D-00B (données uniquement) fournissent une solution LTE Cat 1 idéale pour l'Amérique du Nord, prenant en charge les bandes LTE d'AT&T, FirstNet, Verizon et T-Mobile.
  • Les modules LARA-R6801-00B (données et voix) et LARA-R6801D-01B (données uniquement) sont conçus pour les déploiements dans les régions suivantes : Europe et Moyen-Orient (EMEA), Asie-Pacifique (APAC), Japon (JP) et Amérique latine (LATAM) (Figure 1).

Carte des variantes régionales des modules LARA-R6Figure 1 : Trois variantes régionales des modules LARA-R6 couvrent l'ensemble du globe. (Source de l'image : DigiKey, modifiée par l'auteur)

Aperçu des caractéristiques spéciales des modules LARA-R6

Les modules LARA-R6 intègrent un processeur de bande de base cellulaire avec des interfaces externes, un émetteur-récepteur RF avec amplificateurs et filtres, une mémoire et une unité de gestion de l'alimentation (Figure 2).

Schéma de la structure interne d'un module LARA-R6 de u-blox (cliquez pour agrandir)Figure 2 : Structure interne d'un module LARA-R6. (Source de l'image : u-blox)

L'émetteur-récepteur RF fonctionne dans les bandes de fréquences suivantes : 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz et 2,6 GHz. Tous les protocoles de transfert de données du processeur de bande de base cellulaire peuvent être contrôlés et configurés via des commandes AT à l'aide des interfaces UART et USB externes.

Protocoles

  • IPv4 et IPv6 double pile
  • TCP/IP, UDP/IP, FTP et HTTP embarqués
  • MQTT et MQTT-SN embarqués
  • LwM2M embarqué
  • eSIM et BIP (Bearer Independent Protocol)

Les modules LARA-R6 nécessitent une tension d'alimentation de 3,1 volts (V) à 4,5 V et ont une consommation de courant de repos d'environ 1,1 milliampère (mA). En fonctionnement 2G, les intervalles TDMA individuels peuvent atteindre des puissances de transmission de crête de plus de 33 décibels référencés à 1 milliwatt (mW) (dBm) (> 2,0 watts (W)), et toutes les autres technologies RAT atteignent des niveaux de plus de 24 dBm (> 0,25 W).

Une excellente sensibilité d'antenne inférieure à -100 dBm, correspondant à des puissances de signal inférieures à 0,1 picowatt (pW), permet des connexions radio stables en périphérie du réseau mobile.

Évaluation et programmation

Le moyen le plus rapide de commencer à évaluer et à programmer un module LARA-R6 consiste à utiliser une carte d'évaluation R6 (EVK-R6) et une carte d'adaptateur LARA-R6 (ADP-R6) enfichable pour la région correspondante. Par exemple, l'EVK-R6001-00B pour les applications mondiales inclut la carte d'adaptateur enfichable ADP-R6001-00B (voix + données) et une carte d'adaptateur GNSS (Figure 3).

Image de la carte d'évaluation LARA-R6 (EVK-R6) de u-blox avec une carte d'adaptateur LARA-R6 reliée (cliquez pour agrandir)Figure 3 : Carte d'évaluation LARA-R6 (EVK-R6) avec carte d'adaptateur LARA-R6 reliée (en bas) et carte GNSS (en haut à gauche). (Source de l'image : u-blox)

La variante EVK-R6401-00B pour l'Amérique du Nord inclut l'adaptateur ADP-R6401-00B, tandis que l'EVK-R6801-00B pour EMEA/APAC/JP/LATAM inclut l'adaptateur ADP-R6801-00B. Les trois cartes d'adaptateur déjà mentionnées pour la transmission de voix et de données sont également disponibles séparément, ainsi que les versions destinées uniquement à la transmission de données, y compris l'ADP-R6401D-00B (Amérique du Nord) et l'ADP-R6001D-00B (monde).

La carte d'adaptateur R6 étend le module LARA-R6 avec deux antennes et deux connecteurs MiniUSB. La carte d'évaluation R6 ajoute un module GNSS, un emplacement pour carte SIM, des connexions enfichables supplémentaires, des cavaliers, des commutateurs et une alimentation pour les périphériques du module (Figure 4).

Schéma fonctionnel de la carte d'évaluation R6 de u-blox avec adaptateurs GNSS et LARA-R6 connectés (cliquez pour agrandir)Figure 4 : Schéma fonctionnel de la carte d'évaluation R6 avec les adaptateurs GNSS et LARA-R6 connectés. (Source de l'image : u-blox)

Chaque kit contient une carte d'évaluation avec une carte d'adaptateur LTE Cat 1 LARA-R6 connectée et un module GNSS de u-blox, un câble USB, deux antennes radio mobiles LTE, une antenne GPS/GLONASS et un bloc d'alimentation.

Mise en service EVK

Le kit EVK-R6 convivial et puissant de u-blox simplifie l'évaluation des modules cellulaires multimodes LTE Cat 1/3G/2G. Un PC Windows avec le pilote USB LARA-R6 installé contrôle le modem LARA-R6 via le connecteur USB et simplifie la configuration de la connexion via les paramètres du système. Pour commencer, le développeur doit effectuer les tâches suivantes :

  1. Insérer la carte SIM et connecter les deux antennes cellulaires et l'antenne GNSS.
  2. Configurer soigneusement les cavaliers et les commutateurs de l'EVK.
  3. Appliquer la tension d'alimentation et activer le commutateur principal SW400 sur la carte d'évaluation.
    1. Pour fonctionner comme modem à bas débit via l'interface « Main UART », connecter le PC au jack MiniUSB J501 ou au jack RS232 J500 sur l'EVK.
    2. Pour fonctionner comme modem à bas débit via « Two UARTs », connecter le PC à l'interface J201 de jack USB cellulaire sur l'ADP.
    3. Pour fonctionner comme modem à haut débit via « Native Cellular USB », connecter le PC au jack MiniUSB J105 sur l'ADP.
  4. Appuyer sur le bouton de mise sous tension cellulaire SW302 sur l'EVB.
  5. Exécuter un logiciel d'application de terminal (tel que m-center), accéder au menu de configuration du port COM, choisir le port AT correspondant à 4a, 4b ou 4c et définir ces valeurs : débit de données : 115 200 bps ; bits de données : 8 ; parité : N ; bits d'arrêt : 1.

Pour plus de détails, reportez-vous au EVK-R6_UserGuide_UBX-21035387. L'outil m-center permet d'évaluer, de configurer et de tester les produits cellulaires u-blox et il inclut un terminal de commandes AT.

Connexion Internet simple avec un PC Windows

En connectant un PC Windows à l'EVK, l'utilisateur peut établir une connexion Internet sans fil de deux manières :

1. Une connexion de données de paquets bas débit : elle utilise la pile TCP/IP du PC Windows via l'interface UART du module LARA-R6. Le PC et l'EVK sont connectés selon la méthode 4a. Le développeur doit sélectionner Téléphone et modem > Modems > Ajouter dans le Panneau de configuration Windows. L'étape suivante consiste à cocher la case « Ne pas détecter mon modem », à sélectionner « Modem 33,6 kbps standard » et à allouer un port COM. Si nécessaire, le développeur peut ajouter Propriétés > Avancé > Commandes d'initialisation supplémentaires.

2. Une connexion de données de paquets haut débit : elle accède à Internet en utilisant la pile TCP/IP du PC Windows via l'interface USB cellulaire native du module LARA-R6. Le PC et l'EVK sont connectés selon la méthode 4c. Le développeur doit sélectionner Centre Réseau et partage > Configurer une nouvelle connexion ou un nouveau réseau via le Panneau de configuration Windows et cliquer sur « Connexion à Internet ». L'étape suivante consiste à sélectionner « Accès à distance » et l'un des ports USB AT. La dernière étape consiste à saisir les paramètres d'accès à distance (numéro d'appel, nom du fournisseur, identifiant utilisateur et mot de passe).

Enregistrement de la carte SIM auprès de l'opérateur mobile

Une fois la carte SIM et le paramètre MNO configurés, le module cellulaire s'enregistre automatiquement sur le réseau cellulaire après la mise sous tension. En cas de problème, l'enregistrement peut être vérifié manuellement à l'aide des commandes AT indiquées dans le Tableau 2.

Commande envoyée par DTE (utilisateur) Réponse DCE (module) Description
AT+CREG? +CREG: 0,1 OK Vérifier l'enregistrement réseau.
AT+COPS=0 OK Enregistrer le module sur le réseau uniquement si l'enregistrement automatique a échoué (AT+CREG? renvoie 0,0).
AT+COPS? +COPS: 0,0,"I TIM",7 OK Lire le nom de l'opérateur et la technologie d'accès radio (RAT).

Tableau 2 : Commandes d'enregistrement AT. (Source du tableau : u-blox, modifié par l'auteur)

Communication vers le serveur HTTP distant via une commande AT

Le référentiel GitHub Firechip_u-blox_LARA-R6_Arduino_Library contient une bibliothèque étendue de commandes AT pour les modules LARA-R6, écrites en C++ pour les contrôleurs Arduino. Seize exemples d'applications, y compris tests ping, enregistrement, commutation de paquets, SMS, GNSS et cloud IoT, fournissent des suggestions de structures de code personnalisées.

Les commandes AT peuvent également envoyer des requêtes à un serveur HTTP distant lors d'une connexion active, recevoir la réponse du serveur et stocker cette réponse de manière transparente dans le système de fichiers local. Les méthodes prises en charge sont HEAD, GET, DELETE, PUT, POST file et POST data.

Le Lara_R6_Example9 envoie des températures aléatoires au serveur RemoteHTTP ThingSpeak.com en utilisant HTTP POST ou GET. ThingSpeak est un service de plateforme d'analyse IoT de MathWorks qui permet d'agréger, de visualiser et d'analyser les flux de données en direct dans le cloud. Le Tableau 3 montre la syntaxe de la commande HTTP « POST data ».

Type Syntaxe Réponse Exemple
Set AT+UHTTPC=<profile_id>,5,
<path>,<filename>,<data>,
<HTTP_content_type>
[,<user_defined_content_type>]
OK AT+UHTTPC=0,5,"/path/file.html", "responseFilename","data",0 OK

Tableau 3 : « POST data » est la commande HTTP numéro 5 et est formatée comme illustré. (Source du tableau : u-blox, modifié par l'auteur)

Cet exemple peut être programmé sur un contrôleur hôte Arduino, qui contrôle le module LARA-R6 sur une carte EVK via des commandes AT. De plus, une carte SIM configurée est requise.

Le programmeur doit créer un compte utilisateur ThingSpeak et définir le champ 1 pour la valeur de mesure de température aléatoire via l'élément de menu Channels > My Channels > New Channel. La clé « Write API Key » correspondante est entrée dans le programme principal, « LARA-R6_Example9_ThingSpeak.ino » dans la variable myWriteAPIKey.

Le programme principal C++ génère une valeur de température aléatoire, forme la chaîne de données spécifique au cloud et appelle la fonction de bibliothèque sendHTTPPOSTdata toutes les 20 secondes (Liste 1).

Copier
...
1  String myWriteAPIKey = "PFIOEXW1VF21T7O6"; // Change this to your API key
2  String serverName = "api.thingspeak.com"; // Domain Name for HTTP POST/GET
3  [...]

4  void loop() 5  { 6    // Create a random temperature between 20 and 30  7    float temperature = ((float)random(2000,3000)) / 100.0; 8 9 10   // Send data using HTTP POST 11   String httpRequestData = "api_key=" + myWriteAPIKey + "&field1=" +
                                
String(temperature); 12 13   Serial.print(F("POSTing a temperature of ")); 14   Serial.print(String(temperature)); 15   Serial.println(F(" to ThingSpeak")); 16        17   // Send HTTP POST request to /update. The reponse will be written to
        post_response.txt in the LARA's file system
18   myLARA.sendHTTPPOSTdata(0, "/update", "post_response.txt", httpRequestData,
                             LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);
19 20 21   // Send data using HTTP GET 22      ==> see original code on Github 23 24   for (int i = 0; i < 20000; i++) // Wait for 20 seconds    25   { 26     myLARA.poll(); // Keep processing data from the LARA so we can catch
                            the HTTP command result
27     delay(1); 28   } 29  } ...

Liste 1 : Ce programme principal génère une valeur de température aléatoire et appelle la fonction de bibliothèque sendHTTPPOSTdata toutes les 20 secondes. (Source du code : Firechip sur Github)

Générer la chaîne de commandes AT appelant les fonctions de bibliothèque

L'en-tête de bibliothèque « Firechip_u-blox_LARA-R6_Arduino_Library.h » transmet l'appel de fonction sendHTTPPOSTdata à la procédure de bibliothèque « Firechip_u-blox_LARA-R6_Arduino_Library.cpp », où la chaîne de commandes AT entièrement formatée est générée et envoyée (Liste 2).

Copier
...
1  LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path, 
                              String responseFilename, String data, 
                              LARA_R6_http_content_types_t httpContentType)
2  { 3    LARA_R6_error_t err; 4    char *command; 5 6    if (profile >= LARA_R6_NUM_HTTP_PROFILES) 7     return LARA_R6_ERROR_ERROR; 8 9    command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +
                                  path.
length() + responseFilename.length()
                                  + data.
length()); 10   if (command == nullptr) 11     return LARA_R6_ERROR_OUT_OF_MEMORY; 12   sprintf(command, "%s=%d,%d,\"%s\",\"%s\",\"%s\",%d",
             LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,
             path.
c_str(), responseFilename.c_str(), data.c_str(),
             httpContentType);
13 14   err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,
                                 
nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT); 15 16   free(command); 17   return err; 18 } ...

Liste 2 : Cette procédure de bibliothèque C++ génère et envoie la chaîne de commandes AT entièrement formatée (ligne 12). (Source du code : Firechip sur Github)

La procédure de bibliothèque LARA_R6::sendHTTPPOSTdata (Liste 2) utilise les paramètres transmis de l'appel de fonction myLARA.sendHTTPPOSTdata() (Liste 1) et les variables déclarées supplémentaires de l'en-tête de bibliothèque pour générer la chaîne de commandes HTTP complète conformément au Tableau 3. Enfin, le modem LARA-R6 envoie la chaîne de commandes AT résultante au serveur ThingSpeak RemoteHTTP :

AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0

Conclusion

Pour la mise en réseau mondiale des applications IoT et M2M basse consommation, les modules radio multimodes LTE Cat 1 de la série LARA-R6 sont efficaces et rentables. Comme illustré, les développeurs ont un accès disponible à toutes les interfaces utilisant l'EVK et ils peuvent facilement configurer et contrôler les protocoles et les fonctions du module via les commandes AT. Cela offre des options simples pour fonctionner comme un modem PC, envoyer des données vers le cloud et générer des chaînes de commandes AT via les fonctions de bibliothèque.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Jens Wallmann

Jens Wallmann

Jens Wallmann is a freelancing editor and contributes to electronics publications, both print and online. As an electrical engineer (communications engineering) and a trained industrial electronic engineer he has more than 25 years in electronics development with a focus on measuring technology, automotive electronics, process industry and Radio Frequency.

À propos de l'éditeur

Rédacteurs européens de DigiKey