Table des matières:

Botletics LTE CAT-M/NB-IoT + Bouclier GPS pour Arduino : 10 étapes (avec photos)
Botletics LTE CAT-M/NB-IoT + Bouclier GPS pour Arduino : 10 étapes (avec photos)

Vidéo: Botletics LTE CAT-M/NB-IoT + Bouclier GPS pour Arduino : 10 étapes (avec photos)

Vidéo: Botletics LTE CAT-M/NB-IoT + Bouclier GPS pour Arduino : 10 étapes (avec photos)
Vidéo: #9 SIM7000 Демонстрация LTE CAT-M/NB-IoT Shield 2024, Juillet
Anonim
Image
Image
Botletics LTE CAT-M/NB-IoT + Bouclier GPS pour Arduino
Botletics LTE CAT-M/NB-IoT + Bouclier GPS pour Arduino

Aperçu

Le bouclier Botletics SIM7000 LTE CAT-M/NB-IoT utilise la nouvelle technologie LTE CAT-M et NB-IoT et intègre également le GNSS (GPS, GLONASS et BeiDou/Compass, Galileo, normes QZSS) pour le suivi de localisation. Il existe plusieurs modules de la série SIM7000 qui s'adressent à différentes régions du monde et, heureusement, SIMCOM les a rendus très faciles à identifier: SIM7000A (américain), SIM7000E (européen), SIM7000C (chinois) et SIM7000G (mondial). Actuellement, NB-IoT est pris en charge dans de nombreux pays à travers le monde mais malheureusement pas aux États-Unis, bien qu'il soit prévu qu'il soit disponible dans le commerce dans un avenir proche (2019) et quoi qu'il en soit, nous pouvons toujours utiliser les fonctionnalités LTE CAT-M !

Pour utiliser le shield, branchez simplement le shield dans un Arduino, insérez une carte SIM compatible, fixez l'antenne LTE/GPS, et le tour est joué !

introduction

Avec l'émergence d'appareils IoT à faible consommation avec connectivité cellulaire et l'élimination progressive de la 2G (avec seulement T-mobile prenant en charge la 2G/GSM jusqu'en 2020), tout évolue vers le LTE, ce qui a poussé de nombreuses personnes à se démener pour trouver de meilleures solutions. Cependant, cela a également laissé de nombreux amateurs face à la technologie 2G héritée comme les modules de la série SIM800 de SIMCOM. Bien que ces modules 2G et 3G soient un excellent point de départ, il est temps d'aller de l'avant et SIMCOM a récemment annoncé son nouveau module SIM7000A LTE CAT-M lors d'une conférence de développeurs. Comme c'est excitant !:)

La partie étonnante de tout cela est que SIMCOM a rendu extrêmement facile la migration de ses modules 2G et 3G vers ce nouveau module ! La série SIM7000 utilise bon nombre des mêmes commandes AT, ce qui minimise le développement logiciel de plusieurs kilomètres ! De plus, Adafruit possède déjà une merveilleuse bibliothèque FONA sur Github qui peut être utilisée pour introduire ce nouveau SIM7000 dans la fête !

Qu'est-ce que le LTE CAT-M ?

Le LTE CAT-M1 est considéré comme la technologie LTE de deuxième génération et est moins gourmande en énergie et plus adaptée aux appareils IoT. La technologie NarrowBand IoT (NB-IoT) ou "CAT-M2" est une technologie de réseau étendu à faible consommation (LPWAN) spécialement conçue pour les appareils IoT à faible consommation. Il s'agit d'une technologie relativement nouvelle qui n'est malheureusement pas encore disponible aux États-Unis, bien que les entreprises travaillent à tester et à construire l'infrastructure. Pour les appareils IoT utilisant la technologie radio (RF), il y a plusieurs choses à garder à l'esprit: Consommation d'énergieBandwidthRangeTaille du paquet (envoyer beaucoup de donnéesCoûtChacun d'entre eux a des compromis (et je ne vais pas vraiment les expliquer); par exemple, une large bande passante permet aux appareils de envoyer beaucoup de données (comme votre téléphone, qui peut diffuser YouTube !), mais cela signifie également qu'il est très gourmand en énergie. Augmenter la portée (la "zone" du réseau) augmente également la consommation d'énergie. Dans le cas du NB-IoT, réduire la bande passante signifie que vous ne pourrez pas envoyer beaucoup de données, mais pour les appareils IoT qui envoient des morceaux de données dans le cloud, c'est parfait ! de données mais toujours à longue portée (zone étendue) !

Le Bouclier Botletics SIM7000 pour Arduino

Le bouclier que j'ai conçu utilise la série SIM7000 pour permettre aux utilisateurs d'avoir la technologie LTE CAT-M et le GPS à très faible consommation à portée de main ! Le bouclier arbore également un capteur de température MCP9808 I2C, idéal pour au moins mesurer quelque chose et l'envoyer via une connexion cellulaire.

  • Le bouclier est open source ! Yay!
  • Toute la documentation (fichiers EAGLE PCB, code Arduino et wiki détaillé) se trouve ici sur Github.
  • Pour voir quelle version de SIM7000 vous convient le mieux, veuillez consulter cette page wiki.
  • Le kit de protection Botletics SIM7000 peut être acheté ici sur Amazon.com

Étape 1: Rassemblez les pièces

Rassembler des pièces
Rassembler des pièces
Rassembler des pièces
Rassembler des pièces
Rassembler des pièces
Rassembler des pièces
Rassembler des pièces
Rassembler des pièces

Voici une liste de toutes les pièces dont vous aurez besoin:

  • Carte Arduino ou compatible Arduino - L'Arduino Uno est le choix le plus courant pour cela ! Si vous souhaitez utiliser le blindage LTE comme un véritable "blindage", vous devez utiliser une carte Arduino avec le facteur de forme Arduino. En énonçant l'évidence, vous aurez également besoin d'un câble de programmation pour télécharger des croquis Arduino sur la carte ! Si vous n'utilisez pas de carte à facteur de forme Arduino, c'est bien aussi ! Il y a des informations sur les connexions à établir dans cette page wiki et différents microcontrôleurs ont été testés, notamment ESP8266, ESP32, ATmega32u4, ATmega2560 et ATSAMD21.
  • Kit de blindage Botletics SIM7000 - Le blindage est livré avec une double antenne uFL LTE/GPS et des embases femelles empilables ! La carte est disponible en trois versions différentes (SIM7000A/C/E/G) et selon le pays dans lequel vous vivez, vous devrez sélectionner la bonne version. J'ai créé cette page sur le wiki Github qui vous montre comment trouver la version qui vous convient le mieux !
  • Carte SIM LTE CAT-M ou NB-IoT - Bien que le kit n'inclue plus de carte SIM gratuite, vous pouvez vous procurer une carte SIM Hologram qui vous donne 1 Mo par mois gratuitement et fonctionne pratiquement partout dans le monde car Hologram s'est associé avec plus de 500 transporteurs ! Ils proposent également des forfaits payants et mensuels et disposent d'un excellent forum communautaire pour l'assistance technique sur l'activation de la carte SIM, les API d'hologramme, et plus encore ! Cela fonctionne très bien avec ce bouclier à l'échelle nationale aux États-Unis pour les réseaux LTE CAT-M1 d'AT&T et de Verizon, mais notez que dans d'autres pays, vous devrez peut-être obtenir votre propre carte SIM auprès d'un fournisseur local car Hologram s'associe à des opérateurs et à CAT-M. et NB-IoT est relativement nouveau.
  • Batterie LiPo 3,7 V (1000 mAH +): lors de la recherche de réseaux ou de la transmission de données, le blindage peut consommer des quantités importantes de courant et vous ne pouvez pas compter sur l'alimentation directe du rail Arduino 5 V. Branchez une batterie LiPo 3,7 V dans le connecteur JST de la carte et assurez-vous que la batterie est câblée avec le fil positif sur la gauche (comme ceux trouvés chez Sparkfun ou Adafruit). De plus, il est important de s'assurer que la batterie doit avoir une capacité d'au moins 500 mAh (au strict minimum) pour pouvoir fournir suffisamment de courant et empêcher le module de redémarrer pendant les pics de courant. 1000mAH ou plus est recommandé pour la stabilité. La raison de cette capacité minimale est due au fait que le circuit de charge de la batterie LiPo est réglé sur 500mA, vous devez donc vous assurer que la batterie a une capacité d'au moins 500mAH pour éviter d'endommager la batterie.

Étape 2: Assembler le bouclier

Assembler le bouclier
Assembler le bouclier
Assembler le bouclier
Assembler le bouclier
Assembler le bouclier
Assembler le bouclier

Afin d'utiliser le blindage, vous devrez y souder des en-têtes, à moins que vous ne prévoyiez d'utiliser cette carte comme "blindage" et plutôt comme module autonome, ce qui est également parfaitement correct ! Un exemple de cela consiste à utiliser un Arduino Micro comme contrôleur et à le câbler séparément au blindage.

Le choix le plus courant pour utiliser la carte comme bouclier Arduino consiste à empiler les en-têtes femelles, qui sont inclus avec le bouclier. Après avoir soudé les en-têtes, allez-y et placez le blindage sur la carte Arduino (à moins que vous ne l'utilisiez comme carte autonome) et vous êtes prêt pour la prochaine étape !

Remarque: pour obtenir des conseils sur la façon de souder les broches, vous pouvez visiter cette page du wiki Github.

Étape 3: Brochage du blindage

Brochage du bouclier
Brochage du bouclier
Brochage du bouclier
Brochage du bouclier
Brochage du bouclier
Brochage du bouclier

Le blindage utilise simplement le brochage de l'Arduino mais connecte certaines broches à des fins spécifiques. Ces broches peuvent être résumées ci-dessous:

Broches d'alimentation

  • GND - Terre commune pour toute la logique et l'alimentation
  • 3.3V - 3.3V du régulateur de l'Arduino. Utilisez-le comme vous le feriez sur l'Arduino !
  • 5V / LOGIC - Ce rail 5V de l'Arduino charge la batterie LiPo qui alimente le SIM7000 et définit également la tension logique pour l'I2C et le décalage de niveau. Si vous utilisez un microcontrôleur 3,3 V, connectez 3,3 V à la broche "5 V" du blindage (veuillez consulter la section ci-dessous).
  • VBAT - Cela donne accès à la tension de la batterie LiPo et n'est normalement connecté à rien sur l'Arduino, vous êtes donc libre de l'utiliser comme vous le souhaitez ! C'est aussi la même que la tension d'entrée du module SIM7000. Si vous envisagez de mesurer et de surveiller cette tension, consultez la commande "b" dans le didacticiel de démonstration qui mesure la tension et affiche le pourcentage de batterie ! N'oubliez pas, la batterie LiPo est requise !
  • VIN - Cette broche est simplement connectée à la broche VIN de l'Arduino. Vous pouvez alimenter l'Arduino comme vous le feriez normalement avec 7-12V sur cette broche.

D'autres épingles

  • D6 - Connecté à la broche PWRKEY du SIM7000
  • D7 - Broche de réinitialisation du SIM7000 (à n'utiliser qu'en cas de réinitialisation d'urgence !)
  • D8 - Broche UART Data Terminal Ready (DTR). Cela peut être utilisé pour sortir le module du sommeil lors de l'utilisation de la commande "AT+CSCLK"
  • D9 - Broche d'indicateur d'anneau (RI)
  • D10 - Broche de transmission UART (TX) du SIM7000 (cela signifie que vous devez connecter le TX de l'Arduino à cela !)
  • D11 - Broche de réception UART (RX) du SIM7000 (connectez-vous à la broche TX d'Arduino)
  • D12 - Bon 'ole D12 sur l'Arduino, MAIS vous pouvez le connecter à la broche d'interruption ALERT du capteur de température en soudant un cavalier
  • SDA/SCL - Le capteur de température est connecté au blindage via I2C

Si vous utilisez la carte en tant que module autonome et non en tant que "blindage", ou si vous utilisez une logique 3,3 V au lieu de 5 V, vous devrez effectuer les connexions nécessaires comme détaillé dans la section "Câblage de la carte hôte externe" de cette page wiki Github.

Cependant, si tout ce dont vous avez besoin est de tester les commandes AT, il vous suffit de connecter la batterie LiPo et le câble micro USB, puis de suivre ces procédures pour tester les commandes AT via USB. Notez que vous pouvez également tester les commandes AT via l'IDE Arduino, mais cela nécessiterait de connecter les broches D10/D11 pour UART.

Pour des informations détaillées sur les broches de blindage et ce que fait chaque broche, visitez cette page wiki Github.

Étape 4: alimentation du bouclier

Alimenter le bouclier
Alimenter le bouclier

Pour alimenter le shield, branchez simplement l'Arduino et branchez une batterie LiPo 3,7V (capacité 1000mAH ou plus) comme celles vendues chez Adafruit ou Sparkfun. Sans la batterie, vous verrez probablement le module démarrer puis se bloquer peu de temps après. Vous pouvez toujours alimenter l'Arduino comme vous le feriez normalement via le câble USB ou en externe par une source d'alimentation 7-12V sur la broche VIN et le rail 5V sur l'Arduino chargera la batterie LiPo. Notez que si vous utilisez une carte Arduino standard, vous pouvez l'alimenter en toute sécurité via une source d'alimentation externe tout en gardant le câble de programmation branché car il possède un circuit de sélection de tension.

Indicateur LED

Au début, vous vous demandez peut-être si la carte est encore vivante, car il n'y a peut-être pas de LED allumées. C'est parce que la LED "PWR" est un indicateur d'alimentation pour le module SIM7000 lui-même, et bien que vous fournissiez l'alimentation, vous n'avez pas encore allumé le module ! Cela se fait en pulsant le PWRKEY bas pendant au moins 72 ms, ce que j'expliquerai plus tard. De plus, si vous avez une batterie connectée et qu'elle n'est pas complètement chargée, la LED verte "DONE" ne s'allumera pas, mais si vous n'avez pas de batterie connectée, cette LED devrait s'allumer (et peut clignoter de temps en temps lorsqu'elle est piégée dans pensant que la batterie inexistante n'est pas complètement chargée en raison de légères chutes de tension).

Maintenant que vous savez comment tout alimenter, passons au cellulaire !

Étape 5: Carte SIM et antenne

Carte SIM et Antenne
Carte SIM et Antenne
Carte SIM et Antenne
Carte SIM et Antenne
Carte SIM et Antenne
Carte SIM et Antenne
Carte SIM et Antenne
Carte SIM et Antenne

Choisir une carte SIM

Encore une fois, votre carte SIM doit être capable de prendre en charge le LTE CAT-M (pas seulement le LTE traditionnel comme ce qui est probablement dans votre téléphone) ou le NB-IoT, et il doit s'agir d'une taille "micro" SIM. La meilleure option que j'ai trouvée pour ce bouclier est la carte SIM Hologram Developer qui fournit 1 Mo/mois gratuitement et l'accès aux API et ressources Hologram pour la première carte SIM ! Connectez-vous simplement à votre tableau de bord Hologram.io et entrez le numéro CCID de la SIM pour l'activer, puis définissez les paramètres APN dans le code (déjà défini par défaut). Il est sans tracas et fonctionne partout dans le monde car Hologram prend en charge plus de 200 opérateurs dans le monde !

A noter que les versions SIM7000C/E/G prennent également en charge le repli 2G, donc si vous voulez vraiment tester et que vous n'avez pas de carte SIM LTE CAT-M ou NB-IoT, vous pouvez toujours tester le module en 2G.

Insertion de la carte SIM

Tout d'abord, vous devez faire sortir la micro SIM du support de carte SIM de taille normale. Sur le blindage LTE, localisez le support de la carte SIM sur le côté gauche de la carte près du connecteur de la batterie. La carte SIM est insérée dans ce support avec les contacts métalliques de la SIM vers le bas et la petite encoche sur un bord face au support de la carte SIM.

Bonté de l'antenne

Le kit de blindage est livré avec une double antenne LTE/GPS très pratique ! Il est également flexible (bien que vous ne devriez pas essayer de le tordre et de le plier beaucoup car vous pourriez casser les fils d'antenne de l'antenne si vous ne faites pas attention) et a un adhésif détachable sur le bas. La connexion des fils est très simple: il suffit de prendre les fils et de les encliqueter sur les connecteurs uFL correspondants sur le bord droit du blindage. REMARQUE: assurez-vous de faire correspondre le fil LTE de l'antenne au connecteur LTE du blindage, et de même avec le fil GPS car ils sont entrecroisés !

Étape 6: configuration de l'IDE Arduino

Configuration de l'IDE Arduino
Configuration de l'IDE Arduino

Ce shield SIM7000 est basé sur les cartes Adafruit FONA et utilise la même bibliothèque mais amélioré avec un support modem supplémentaire. Vous pouvez lire les instructions complètes sur la façon d'installer ma bibliothèque FONA révisée ici sur ma page Github.

Vous pouvez également voir comment tester le capteur de température MCP9808 en suivant ces instructions, mais ici je me concentrerai principalement sur le cellulaire !

Étape 7: Exemple Arduino

Exemple Arduino
Exemple Arduino
Exemple Arduino
Exemple Arduino
Exemple Arduino
Exemple Arduino

Configuration du débit en bauds

Par défaut, le SIM7000 fonctionne à 115 200 bauds, mais c'est trop rapide pour que le logiciel en série fonctionne de manière fiable et les caractères peuvent apparaître de manière aléatoire sous forme de carrés ou d'autres symboles étranges (par exemple, un "A" peut s'afficher sous la forme "@"). C'est pourquoi, si vous regardez attentivement, l'Arduino configure le module à un débit en bauds plus lent de 9600 à chaque initialisation. Heureusement, la commutation est prise en charge automatiquement par le code, vous n'avez donc rien à faire de spécial pour le configurer !

Démo du bouclier LTE

Ensuite, suivez ces instructions pour ouvrir l'esquisse "LTE_Demo" (ou toute variante de cette esquisse, selon le microcontrôleur que vous utilisez). Si vous faites défiler jusqu'à la fin de la fonction "setup()", vous verrez une ligne "fona.setGPRSNetworkSettings(F("hologram"));" qui définit l'APN pour la carte SIM Hologram. Ceci est absolument nécessaire, et si vous utilisez une autre carte SIM, vous devez d'abord consulter la documentation de la carte sur ce qu'est l'APN. Notez que vous n'avez besoin de modifier cette ligne que si vous n'utilisez pas de carte SIM Hologram.

Lorsque le code s'exécute, l'Arduino tente de communiquer avec le SIM7000 via UART (TX/RX) à l'aide de SoftwareSerial. Pour ce faire, bien sûr, le SIM7000 doit être sous tension, alors pendant qu'il essaie d'établir une connexion, vérifiez la LED "PWR" pour vous assurer qu'il s'allume ! (Remarque: il devrait s'allumer environ 4 secondes après l'exécution du code). Une fois que l'Arduino a réussi à établir la communication avec le module, vous devriez voir un grand menu avec un tas d'actions que le module peut effectuer ! Cependant, notez que certaines d'entre elles sont destinées aux autres modules 2G ou 3G de SIMCom, donc toutes les commandes ne sont pas applicables au SIM7000, mais beaucoup le sont ! Tapez simplement la lettre correspondant à une action que vous souhaitez effectuer et cliquez sur "Envoyer" en haut à droite du moniteur série ou appuyez simplement sur la touche Entrée. Regardez avec étonnement le bouclier cracher une réponse !

Commandes de démonstration

Vous trouverez ci-dessous quelques commandes que vous devez exécuter pour vous assurer que votre module est configuré avant de continuer:

  • Tapez "n" et appuyez sur Entrée pour vérifier l'enregistrement du réseau. Vous devriez voir "Inscrit (domicile)". Sinon, vérifiez si votre antenne est attachée et vous devrez peut-être également exécuter la commande "G" (expliquée ci-dessous) d'abord !
  • Vérifiez la force du signal du réseau en entrant "i". Vous devriez obtenir une valeur RSSI; plus cette valeur est élevée, mieux c'est ! Le mien était 31, ce qui indique le meilleur support de puissance de signal !
  • Entrez la commande "1" pour vérifier des informations réseau vraiment intéressantes. Vous pouvez obtenir le mode de connexion actuel, le nom de l'opérateur, la bande, etc.
  • Si vous avez une batterie connectée, essayez la commande "b" pour lire la tension et le pourcentage de la batterie. Si vous n'utilisez pas de batterie, cette commande indiquera toujours environ 4200 mV et indiquera donc qu'elle est chargée à 100%.
  • Entrez maintenant "G" pour activer les données cellulaires. Cela définit l'APN et est crucial pour connecter votre appareil au Web ! Si vous voyez "ERREUR", essayez de désactiver les données en utilisant "g", puis réessayez.
  • Pour tester si vous pouvez réellement faire quelque chose avec votre module, entrez "w". Il vous demandera de saisir l'URL de la page Web que vous souhaitez lire, de copier/coller l'exemple d'URL "https://dweet.io/get/latest/dweet/for/sim7000test123" et d'appuyer sur Entrée. Peu de temps après, il devrait vous donner un message comme "{"this":"failed", "with":404, "because":"nous n'avons pas pu trouver ceci"}" (en supposant que personne n'ait publié de données pour "sim7000test123")
  • Testons maintenant l'envoi de données factices à dweet.io, une API cloud gratuite en entrant "2" dans le moniteur série. Vous devriez le voir exécuter certaines commandes AT.
  • Pour tester si les données ont vraiment été transmises, réessayez "w" et cette fois, entrez "https://dweet.io/get/latest/dweet/for/{deviceID}" sans les crochets, où l'ID de l'appareil est l'IMEI numéro de votre appareil qui doit être imprimé tout en haut du moniteur série à partir de l'initialisation du module. Vous devriez voir « réussi » et une réponse JSON contenant les données que vous venez d'envoyer ! (Notez que la batterie à 87% n'est qu'un nombre fictif qui est défini dans le code et peut ne pas être votre niveau de batterie réel)
  • Il est maintenant temps de tester le GPS ! Activer l'alimentation du GPS en utilisant "O"
  • Entrez "L" pour interroger les données de localisation. Notez que vous devrez peut-être attendre environ 7 à 10 secondes avant d'obtenir un correctif sur l'emplacement. Vous pouvez continuer à saisir "L" jusqu'à ce qu'il vous montre des données !
  • Une fois les données fournies, copiez-les et collez-les dans Microsoft Word ou dans un éditeur de texte pour qu'elles soient plus faciles à lire. Vous verrez que le troisième chiffre (les chiffres sont séparés par des virgules) est la date et l'heure, et les trois chiffres suivants sont la latitude, la longitude et l'altitude (en mètres) de votre emplacement ! Pour vérifier si c'était exact, accédez à cet outil en ligne et recherchez votre emplacement actuel. Il devrait vous donner la lat/long et l'altitude et comparer ces valeurs avec celle que votre GPS a donnée !
  • Si vous n'avez pas besoin du GPS, vous pouvez le désactiver en utilisant "o"
  • Amusez-vous avec les autres commandes et consultez l'exemple de croquis "IoT_Example" pour un exemple sympa sur la façon d'envoyer des données à une API cloud gratuite via LTE !

Envoyez et recevez des SMS

Pour voir comment envoyer des textes du bouclier directement à n'importe quel téléphone et envoyer des textes au bouclier via le tableau de bord ou l'API d'Hologram, veuillez lire cette page wiki Github.

Exemple IoT: suivi GPS

Une fois que vous avez vérifié que tout fonctionne comme prévu, ouvrez l'esquisse "IoT_Example". Cet exemple de code envoie la position GPS et les données de relèvement, la température et le niveau de la batterie au cloud ! Téléchargez le code et regardez avec étonnement le bouclier faire sa magie ! Pour vérifier si les données ont bien été envoyées dans le cloud, rendez-vous sur "https://dweet.io/get/latest/dweet/for/{IMEI}" dans n'importe quel navigateur (renseignez le numéro IMEI qui se trouve en haut du moniteur série après l'initialisation du module, ou imprimé sur votre module SIMCOM) et vous devriez voir les données que votre appareil a envoyées !

Avec cet exemple, vous pouvez également décommenter la ligne avec "#define samplingRate 30" pour envoyer des données à plusieurs reprises au lieu de ne les exécuter qu'une seule fois. Cela fait de votre appareil essentiellement un appareil de suivi GPS !

Pour plus de détails, veuillez visiter les tutoriels que j'ai réalisés pour le suivi GPS en temps réel:

  • Tutoriel de traqueur GPS partie 1
  • Tutoriel de traqueur GPS partie 2

Dépannage

Pour les questions courantes et les problèmes de dépannage, veuillez visiter la FAQ sur Github.

Étape 8: Tester avec les commandes AT

Tester avec les commandes AT
Tester avec les commandes AT

Test à partir de l'IDE Arduino

Si vous souhaitez envoyer des commandes AT au module via le moniteur série, utilisez la commande "S" du menu pour entrer en mode tube série. Cela fera en sorte que tout ce que vous tapez dans le moniteur série sera envoyé au module. Cela étant dit, assurez-vous d'activer "Both NL & CR" en bas du moniteur série, sinon vous ne verrez aucune réponse à vos commandes car le module ne saura pas que vous avez fini de taper !

Pour quitter ce mode, appuyez simplement sur le bouton de réinitialisation de votre Arduino. Notez que si vous utilisez des cartes basées sur ATmega32u4 ou ATSAMD21, vous devrez également redémarrer le moniteur série.

Pour plus d'informations sur l'envoi de commandes AT depuis l'IDE Arduino, veuillez consulter cette page wiki.

Tester directement via USB

Une méthode peut-être plus simple (pour les utilisateurs de Windows) consiste à installer les pilotes Windows détaillés dans ce didacticiel et à tester les commandes AT en utilisant plutôt le port micro USB du shield !

Si vous voulez toujours expérimenter avec les commandes AT mais que vous voulez les exécuter dans une séquence et que vous ne voulez pas vous embêter avec la modification de la bibliothèque FONA, vous pouvez le faire avec une simple petite bibliothèque que j'ai écrite appelée "AT Command Library" que vous peut trouver ici sur Github. Tout ce que vous avez à faire est de télécharger le ZIP du référentiel et de l'extraire dans votre dossier de bibliothèques Arduino et un exemple de croquis (appelé "AT_Command_Test.ino") pour le SIM7000 peut être trouvé ici dans le référentiel LTE shield Github. Cette bibliothèque vous permet d'envoyer des commandes AT via Software Serial avec des délais d'attente, vérifie une réponse spécifique du module, ni l'un ni l'autre, ou les deux !

Étape 9: Consommation actuelle

Pour les appareils IoT, vous voulez voir ces chiffres baisser considérablement, alors jetons un coup d'œil à certaines des spécifications techniques ! Pour un rapport détaillé des mesures de consommation actuelles, veuillez consulter cette page Github.

Voici un résumé rapide:

  • Module SIM7000 hors tension: l'ensemble du blindage consomme < 8 uA sur une batterie LiPo 3,7 V
  • Le mode veille consomme environ 1,5 mA (y compris la LED PWR verte, donc probablement ~ 1 mA sans) et reste connecté au réseau
  • Les paramètres e-DRX peuvent configurer le temps de cycle de la négociation du réseau et économiser de l'énergie, mais retarderont également des éléments tels que les messages texte entrants en fonction de la durée de cycle définie.
  • Connecté au réseau LTE CAT-M1, inactif: ~12 mA
  • Le GPS ajoute ~32mA
  • La connexion USB ajoute ~20mA
  • La transmission de données sur LTE CAT-M1 est de ~96mA pendant ~12s
  • L'envoi de SMS consomme ~96mA pendant ~10s
  • La réception de SMS consomme ~89mA pendant ~10s
  • PSM semble être une fonctionnalité merveilleuse mais n'a pas encore fonctionné

Et voici un peu plus d'explications:

  • Mode de mise hors tension: Vous pouvez utiliser la fonction "fona.powerDown()" pour éteindre complètement le SIM7000. Dans cet état, le module ne consomme qu'environ 7,5 uA et, peu de temps après avoir éteint le module, la LED "PWR" devrait également s'éteindre.
  • Mode d'économie d'énergie (PSM): ce mode est similaire au mode de mise hors tension, mais le modem reste enregistré sur le réseau tout en ne consommant que 9 uA tout en gardant le module alimenté. Dans ce mode, seule la puissance du RTC sera active. Pour les fans d'ESP8266, il s'agit essentiellement de "ESP.deepSleep()" et la minuterie RTC peut réveiller le module, mais vous pouvez faire des choses assez intéressantes comme réveiller le modem en lui envoyant un SMS. Cependant, malheureusement, je n'ai pas pu faire fonctionner cette fonctionnalité. Faites-le moi savoir si vous le faites !
  • Mode Vol: Dans ce mode, l'alimentation est toujours fournie au module mais RF est complètement désactivé mais la carte SIM est toujours active ainsi que l'interface UART et USB. Vous pouvez entrer dans ce mode en utilisant "AT+CFUN=4" mais je n'ai pas vu cela non plus prendre effet.
  • Mode Fonctionnalité Minimum: Ce mode est le même que le Mode Avion sauf que l'interface de la carte SIM est inaccessible. Vous pouvez entrer dans ce mode en utilisant "AT+CFUN=0" mais vous pouvez également entrer dans ce mode en utilisant "AT+CSCLK=1", après quoi le SIM7000 tirera la broche DTR lorsque le module est en mode veille. Dans ce mode veille, tirer DTR bas réveillera le module. Cela peut être pratique car le réveiller peut être beaucoup plus rapide que de le mettre sous tension à partir de zéro !
  • Mode réception/transmission discontinue (DRX/DTX): vous pouvez configurer le "taux d'échantillonnage" du module pour ainsi dire, de sorte que le module ne vérifie que les messages texte ou envoie des données à un rythme plus rapide ou plus lent, tout en restant connecté à le réseau. Cela réduit considérablement la consommation de courant !
  • Désactiver la LED "PWR": Pour économiser quelques centimes de plus, vous pouvez désactiver la LED d'alimentation du module en coupant le cavalier de soudure normalement fermé à côté. Si plus tard vous changez d'avis et que vous voulez le récupérer, soudez simplement le cavalier !
  • LED « NETLIGHT » allumée/éteinte: vous pouvez également utiliser « AT+CNETLIGHT=0 » pour éteindre complètement la LED bleue d'état du réseau si vous n'en avez pas besoin !
  • GNSS activé/désactivé: vous pouvez économiser 30 mA en désactivant le GPS à l'aide de la commande "fona.enableGPS()" avec true ou false comme paramètre d'entrée. Si vous ne l'utilisez pas, je vous suggère de l'éteindre ! De plus, j'ai constaté qu'il ne faut que 20 secondes environ pour obtenir une position à partir d'un démarrage à froid et seulement 2 secondes environ lorsque l'appareil est déjà allumé (comme si vous éteignez puis rallumez le GPS et interrogez à nouveau), ce qui est assez rapide ! Vous pouvez également expérimenter le démarrage à chaud/à chaud et le GPS assisté.

Étape 10: Conclusions

Dans l'ensemble, le SIM7000 est super rapide et utilise une technologie de pointe avec GPS intégré et est doté de fonctionnalités intéressantes ! Malheureusement pour ceux d'entre nous aux États-Unis, NB-IoT n'est pas entièrement déployé ici, nous devrons donc attendre un peu jusqu'à sa sortie, mais avec ce bouclier LTE, nous pouvons toujours utiliser LTE CAT-M1 sur les réseaux AT&T et Verizon. Ce bouclier est idéal pour expérimenter avec des appareils cellulaires à faible consommation comme les trackers GPS, les enregistreurs de données à distance et bien plus encore ! En incluant d'autres boucliers et modules pour des choses comme le stockage sur carte SD, les panneaux solaires, les capteurs et autres connectivités sans fil, les possibilités sont presque infinies !

  • Si vous avez aimé ce projet, n'hésitez pas à lui donner un cœur et à voter pour lui !
  • Si vous avez des commentaires, des suggestions ou des questions, n'hésitez pas à les poster ci-dessous !
  • Pour commander votre propre bouclier, veuillez visiter mon site Web pour plus d'informations ou le commander sur Amazon.com
  • Comme toujours, n'hésitez pas à partager ce projet !

Cela dit, bon bricolage et assurez-vous de partager vos projets et améliorations avec tout le monde !

~ Tim

Conseillé: