Aujourd’hui, je vais passer en test les capteurs AgroSense LoRaWAN de Makerfabs conçus pour l’agriculture de haute précision. Cette fois, j’ai reçu quatre ensembles de capteurs conçus pour mesurer des données environnementales et une passerelle Seeed Studio SenseCAP M2 LoRaWAN. Vous trouverez ci-dessous la liste des éléments que j’ai reçus.
- Capteur de pression barométrique AgroSense LoRaWAN – Mesure la pression barométrique dans une plage de 300 à 1100 hPa avec une précision de ±0,12 hPa et une résolution de 0,01 hPa.
- Capteur d’intensité lumineuse AgroSense LoRaWAN – Mesure l’intensité lumineuse dans une plage de 1 à 65 535 lx avec une précision de ± 1 lx et une résolution de ± 20 %.
- Capteur de température et d’humidité AgroSense LoRaWAN – Mesure la température et l’humidité dans l’atmosphère dans les plages de -40 °C à 85 °C et de 0 à 100 % HR avec une précision de ± 0,2 °C et ± 0,2 % HR respectivement.
- Capteur de température industriel AgroSense LoRaWAN – Mesure la température dans les environnements industriels à haute température dans la plage de -60 °C à 200 °C avec une précision de ± 0,1 °C et une résolution de ± 0,4 %.
- Passerelle intérieure LoRaWAN multiplateforme SenseCAP M2 – Une passerelle LoRaWAN qui prend en charge les bandes de fréquences LoRaWAN mondiales de 865 MHz à 923 MHz.
Outre les caractéristiques ci-dessus, le fabricant indique également que les capteurs partagent plusieurs caractéristiques communes. Par exemple, ils peuvent couvrir une portée de transmission de 2 km en zone urbaine et de 5 km en visibilité directe. Les capteurs sont conçus pour être utilisés dans des environnements difficiles où la température de fonctionnement peut être aussi basse que -40 °C ou aussi élevée que 85 °C. Ils sont adaptés à une utilisation en extérieur avec un boîtier classé IP68. Alimentés par deux piles AAA, ils offrent une durée de vie opérationnelle minimale d’au moins 2 ans. De plus, ils sont livrés avec les clés DEV EUI, APP EUI et APP, ce qui les rend prêts à l’emploi et simplifie le processus d’installation.

Déballage des capteurs Agrosense LoRAWAN et de la passerelle SenseCap M2
Actuellement, la série AgroSense prend en charge deux plans de fréquences : EU868 et US915, tandis que la passerelle en prend en charge quatre : EU868, US915, AS923 et AU915. Pour cette évaluation, Makerfabs m’a envoyé la version US915. Le fabricant a expédié les échantillons depuis la Chine, et il leur a fallu environ une semaine pour arriver à mon bureau en Thaïlande. Les capteurs sont arrivés dans une boîte en carton ondulé marron standard, tandis que la passerelle est arrivée dans une boîte en carton ondulé blanc plus grande. Toutes ces boîtes en carton étaient solides et robustes, comme prévu.

Dans le cas des capteurs AgroSense, chaque boîte ne contenait qu’un seul capteur AgroSense, à l’exception du capteur de pression barométrique AgroSense LoRaWAN et du capteur de température et d’humidité AgroSense LoRaWAN, qui comprenaient une antenne avec un connecteur SMA.





La passerelle intérieure SenseCAP M2 LoRaWAN a été livrée avec un adaptateur 12 V DC/2 000 mAh et une antenne SenseCAP LoRa fonctionnant à 860 à 930 MHz avec un gain de 3 dBi, comme indiqué sur les photos suivantes.




Préparation des capteurs AgroSense LoRaWAN
J’ai préparé les capteurs AgroSense en suivant les instructions fournies sur le site Web de Makerfabs. Avec seulement deux antennes disponibles, j’ai décidé de tester le capteur de pression barométrique AgroSense LoRaWAN et le capteur de température et d’humidité AgroSense LoRaWAN. La configuration était simple. J’ai commencé par fixer solidement l’antenne au boîtier, puis j’ai ouvert le couvercle supérieur pour accéder aux composants du module. J’ai inséré deux nouvelles piles AAA 1,5 V dans le support de piles. Selon les instructions, appuyer sur le bouton RST de la carte mère devrait faire clignoter la LED. J’ai confirmé cela en appuyant sur le bouton et en observant que la LED clignotait, indiquant que l’appareil fonctionnait correctement.

La première fois que j’ai utilisé les appareils, je n’ai pas appuyé sur le bouton ni prêté suffisamment attention à la LED, je n’étais donc pas sûr que les appareils avaient bien démarré car il n’y a pas d’interrupteur marche/arrêt. Cependant, après avoir retiré et réinstallé les piles, j’ai remarqué que la LED clignotait très brièvement une fois les piles complètement installées.
Configuration de la passerelle LoRaWAN SenseCap M2
Les instructions de configuration de la passerelle intérieure SenseCAP M2 LoRaWAN, disponibles sur le site Web de Makerfabs, indiquent que le processus de configuration global est simple et peut être effectué à l’aide de l’application SenseCAP Mate et du portail SenseCAP. Cependant, certains liens sont rompus et j’ai trouvé des instructions détaillées adaptées aux débutants comme moi sur le site Web de SeeedStudio pointant également vers le portail SenseCAP. Une documentation supplémentaire est également disponible sous forme de fichiers PDF. J’ai principalement suivi les instructions décrites dans le fichier PDF du guide de démarrage rapide pour la passerelle et les capteurs SenseCAP pour cette évaluation.
Ma première étape a été de fixer solidement l’antenne à la passerelle, puis de connecter l’adaptateur secteur. Lors de la mise sous tension, la LED sur le couvercle supérieur de l’appareil a commencé à clignoter lentement en vert, indiquant que l’appareil démarrait. Après un moment, la LED est devenue rouge, signalant que la connexion Internet n’était pas encore établie. Il existe deux méthodes pour accéder à la page de configuration de la passerelle. La première méthode consiste à connecter l’ordinateur directement à la passerelle à l’aide d’un câble Ethernet. La deuxième méthode est sans fil : en appuyant sur le bouton à l’arrière de la passerelle pendant 5 secondes, vous pouvez activer le mode AP. Le SSID par défaut est nommé « SenseCAP_xxxxxx », où « xxxxxx » représente les 6 derniers chiffres de l’adresse MAC imprimée sur l’étiquette au bas de la passerelle. J’ai testé les deux méthodes à l’aide d’un ordinateur portable et d’un smartphone et j’ai pu accéder à la passerelle avec succès. Une fois connecté, j’ai ouvert un navigateur Web et me suis connecté à l’appareil à l’aide du nom d’utilisateur et du mot de passe, qui sont également imprimés sur l’étiquette au bas de l’appareil.
Les figures suivantes montrent des captures d’écran de la page de configuration principale après ma connexion initiale. À ce stade, la connexion Internet n’avait pas encore été configurée et aucun paquet LoRa n’était reçu ou transmis. Cette page affiche également des informations supplémentaires sur le matériel, notamment la mémoire disponible et les interfaces réseau.


Ensuite, j’ai connecté la passerelle à Internet en accédant au menu « Réseau » et en sélectionnant « Sans fil » pour rechercher les SSID disponibles. J’ai choisi le SSID de mon point d’accès mobile dans la liste, j’ai cliqué sur le bouton « Rejoindre le réseau » et j’ai saisi les informations requises. Après avoir soumis les détails, j’ai cliqué sur le bouton « Enregistrer et appliquer » pour appliquer les configurations. Après un court instant, l’écran s’est actualisé, indiquant que la passerelle s’était connectée avec succès à mon point d’accès. Le voyant situé au-dessus de la passerelle est devenu vert fixe, indiquant que la passerelle était désormais en ligne.



Ensuite, j’ai sélectionné le menu « Paramètres réseau LoRaWAN » pour configurer le réseau LoRaWAN cible. Cette passerelle dispose de quatre modes : SenseCAP, Packet Forwarder, Basic Station et Local Network Server. Pour l’instant, j’ai conservé le paramètre par défaut, qui est SenseCAP, comme indiqué dans la figure suivante.

Test de connexion avec l’application SenseCAP et le portail SenseCAP
Étant donné que le site Web et le manuel d’instructions recommandent de connecter et de configurer la passerelle à l’aide de l’application SenseCAP Mate, j’ai téléchargé l’application SenseCAP Mate sur mon smartphone Android. Ma première tentative d’enregistrement sur le smartphone a réussi, mais j’ai rencontré des problèmes de connexion (je n’ai pas identifié la cause et j’ai oublié de faire des captures d’écran). J’ai ensuite essayé de m’enregistrer à nouveau en utilisant mon ordinateur portable pour accéder directement au portail SenseCAP. Cette inscription a réussi et j’ai pu me connecter au site Web du portail SenseCAP sans aucun problème.

J’ai essayé de me connecter à nouveau au portail à l’aide de mon smartphone et, cette fois, l’accès à l’application SenseCAP Mate a réussi. Après cela, j’ai utilisé mon smartphone pour ajouter une nouvelle passerelle au système, comme le montrent les figures suivantes. Ces processus se sont déroulés sans problème.

Enfin, j’ai accédé au site Web du portail SenseCAP pour confirmer la visibilité de la passerelle nouvellement ajoutée sur l’interface Web. J’ai constaté que la passerelle avait été signalée avec succès en ligne sur le portail SenseCAP, comme indiqué dans les captures d’écran suivantes.



Connexion de la passerelle au réseau The Things
Pour tester la passerelle et les capteurs avec The Things Network, j’ai créé une nouvelle application au sein de la plateforme The Things Network. Pour cette évaluation, j’ai nommé l’application « Mon application de test » et lui ai attribué l’ID d’application « kp-test-app-2024 ». Après avoir saisi les informations requises, j’ai créé avec succès la nouvelle application, comme illustré dans la figure suivante.

Ensuite, je suis retourné à la passerelle pour régler les « Paramètres du réseau LoRaWAN ». Pour configurer la passerelle pour l’intégration avec The Things Network, j’ai modifié le paramètre « Mode » sur « Packet Forwarder » et saisi l’ID d’application et d’autres paramètres obtenus à partir de The Things Network. Le résultat de l’application de ces paramètres est illustré dans la figure suivante.

L’étape suivante consistait à enregistrer la passerelle auprès de The Things Network. J’ai rempli plusieurs paramètres, notamment l’EUI de la passerelle et le nom de la passerelle. J’ai sélectionné l’option de plan de fréquence « États-Unis 902-928 MHz, FSB 2 (utilisé par TTN) », puis j’ai appuyé sur le bouton « Enregistrer la passerelle » pour terminer le processus d’enregistrement.

L’étape suivante consiste à ajouter les capteurs à la plateforme. Les instructions pour ajouter les capteurs AgroSense LoRaWAN à The Things Network sont disponibles sur le site Web de Makerfabs. En général, tous les capteurs utilisent les mêmes paramètres pour le « Plan de fréquence », la « Version LoRaWAN » et la « Version des paramètres régionaux », comme indiqué ci-dessous.
- Plan de fréquences : États-Unis 902-928 MHz, FSB 2 (utilisé par TTN)
- Version LoRaWAN : Spécification LoRaWAN 1.0.2
- Version des paramètres régionaux : RP001 Paramètres régionaux 1.0.2
Les données nécessaires pour remplir la section « Informations de provisionnement » de chaque capteur sont imprimées sur un autocollant apposé sur le boîtier du capteur. La correspondance entre les champs AgroSense LoRaWAN et les champs The Things Network est la suivante :
- APP EUI <–> JoinEUI
- DEV EUI <–> DevEUI
- CLÉ D’APPLICATION <–> AppKey
La figure suivante montre un aperçu du capteur dans The Things Network. Étant donné que le capteur n’est pas équipé d’un récepteur GNSS, je règle manuellement les coordonnées cartographiques sur un emplacement proche de mon bureau.


Après avoir attendu patiemment pendant un bref instant, j’ai observé que la trame de données en direct avait été mise à jour avec succès avec les dernières données du capteur, confirmant que la communication entre le capteur, la passerelle et The Things Network fonctionnait correctement, comme le montre la figure suivante.

Test de demande de données à The Things Network
J’étais nouveau sur The Things Network et, pour cette évaluation, je voulais stocker temporairement les données du capteur pour une utilisation ultérieure dans d’autres applications. Après une brève recherche sur Internet, j’ai découvert que j’avais besoin d’une clé API et que je devais activer l’option Intégration du stockage. J’ai donc ouvert le menu « Applications », suivi de « Clés API », puis cliqué sur « + Ajouter une clé API ». Après avoir rempli les champs obligatoires, j’ai obtenu la clé API.
Pour activer l’intégration du stockage, j’ai dû sélectionner « Applications », puis « Intégrations », puis « Intégration du stockage ». Après avoir activé l’option Intégration du stockage, le système a affiché les points de terminaison pour l’extraction de données via l’API d’intégration du stockage, comme illustré dans la figure suivante. Dans mon cas, la version actuelle de l’API était la v3. Vous trouverez plus d’informations sur l’API sur les pages Web de l’API d’intégration du stockage. J’ai constaté que les capteurs AgroSense LoRaWAN mettent à jour leurs mesures toutes les heures. J’ai donc laissé les appareils finaux et la passerelle envoyer des données à The Things Network pendant 8 à 10 heures avant de tester les demandes de données avec l’API d’intégration du stockage.

Dans cette test, j’ai utilisé Python 3.8 pour effectuer la requête, en utilisant les packages Requests, JSON et base64. J’ai également dû ajouter la clé API à la section Bearer Authorization et inclure quelques paramètres supplémentaires dans l’en-tête de la requête HTTP. Les données renvoyées par The Things Network étaient au format JSON. Cependant, il y avait un problème mineur : chaque section de données de mesure était séparée par un espace au lieu d’utiliser une virgule. Après avoir résolu ce problème, j’ai pu extraire les données de mesure avec succès.
Les données sont intégrées dans la section « frm_payload » et sont une chaîne codée en base64. Le résultat du décodage sera un tableau d’octets, qui peut différer pour chaque capteur. Des informations sur la manière d’interpréter ces tableaux d’octets peuvent être trouvées dans le manuel d’instructions Makerfabs que nous avons déjà utilisé lors de l’assemblage des capteurs. La structure de données du capteur de pression barométrique AgroSense LoRaWAN est décrite dans le tableau ci-dessous. Pour extraire la tension de la batterie, divisez le 2e octet par 10. La valeur de la pression atmosphérique est dérivée des octets 3 à 6, qui sont combinés pour former un entier de 24 bits. Cet entier est ensuite divisé par 100 pour obtenir la pression atmosphérique en hPa.

Pour le capteur de température et d’humidité AgroSense LoRaWAN, la valeur d’humidité se trouve dans les octets 3 et 4, tandis que la valeur de température se trouve dans les 2 octets suivants. Pour obtenir les valeurs de sortie, utilisez une approche similaire à celle décrite précédemment, mais divisez par 10 au lieu de 100.

La figure ci-dessous visualise les données du capteur de pression barométrique AgroSense LoRaWAN et du capteur de température et d’humidité AgroSense LoRaWAN pendant la période de test.

Voici un extrait de code Python simple que j’ai utilisé pour demander des données à The Things Network via l’API d’intégration de stockage.
importer des requêtes importer json importer base64 def decode_ttn_payload(x): y = base64.b64decode(x) retourner y def extract_temp_hum_value(b): seq = int.from_bytes(b[0:2]byteorder= »big », signé=False) bat = int.from_bytes(b[2:3]byteorder= »big », signé=False)/10.0 rh = int.from_bytes(b[3:5]byteorder= »big », signé=False)/10.0 tem = int.from_bytes(b[5:7]byteorder= »big », signed=False)/10.0 renvoie seq, bat, rh, tem def extract_baro_pres_value(b): seq = int.from_bytes(b[0:2]byteorder= »big », signé=False) bat = int.from_bytes(b[2:3]byteorder= »big », signé=False)/10.0 atm = int.from_bytes(b[3:7], byteorder= »big », signed=False)/100.0 return seq, bat, atm def main(): n_data_limit = 800 target_date = « 2024-06-17 » start_time = « {:}T00:00:00Z ».format(target_date) end_time = « {:}T23:59:59Z ».format(target_date) params = { « start »: start_time, « end »: end_time, } params = {} app_id = « 123456 » api_key = « ABCDEF » #target_device_id = « agrosense-baro-pres-sensor » target_device_id = « agrosense-temp-hum-sensor » url = « https://kptest.nam1.cloud.thethings.industries/api/v3/as/applications/{:}/devices/{:}/packages/storage/uplink_message?limit={:}&order=received_at ».format(app_id, target_device_id, n_data_limit) headers = {« Authorization »: « Bearer {:} ».format(api_key),} response = requests.get(url, headers=headers, params=params) if response.status_code == 200: try: data_str = response.text data_array = data_str.split(« \n ») n_data = len(data_array) f_out = open(« output_{:}.txt ».format(target_device_id), « w ») for i in range(0, n_data, 1): if(len(data_array[i]) < 10): continuer data_json = json.loads(data_array[i]) résultat = data_json["result"] end_device_ids = résultat["end_device_ids"] device_id = identifiants_device_end["device_id"] reçu_à = résultat["received_at"] uplink_message = résultat["uplink_message"] frm_payload = message de liaison montante["frm_payload"] decoded_payload = decode_ttn_payload(frm_payload) received_datetime = received_at.split("T") if(device_id == "agrosense-baro-pres-sensor"): seq = extract_baro_pres_value(decoded_payload) ... elif(device_id == "agrosense-temp-hum-sensor"): seq = extract_temp_hum_value(decoded_payload) f_out.write("{:},{:},{:},{:},{:},{:},{:},{:}\n".format( received_datetime[0]date_heure_reçue[1][0:10]identifiant_de_l'appareil, charge_payée_frm, seq[0]séquence[1]séquence[2]séquence[3],)) print("{:} | {:} | {:<28s} | {:} | {:}".format( date_heure_reçue[0]date_heure_reçue[1]device_id, frm_payload, seq)) ... f_out.close() sauf Exception comme erreur : print("impossible de convertir en json") print(error) else : ... if __name__ == "__main__": main()
|
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
demandes d’importation importer json importer base64 def decode_ttn_payload(x) : y = base64.b64decode(x) retourner y def extract_temp_hum_value(b) : seq = int.from_bytes(b[0:2]byteorder=’big’, signé=Faux) bat = int.from_bytes(b[2:3]byteorder=’big’, signé=False)/10.0 rh = int.from_bytes(b[3:5]byteorder=’big’, signé=False)/10.0 tem = int.from_bytes(b[5:7]byteorder=’big’, signé=False)/10.0 retour seq, bat, rh, tem def extract_baro_pres_value(b): seq = int.from_bytes(b[0:2]byteorder=’big’, signé=Faux) bat = int.from_bytes(b[2:3]byteorder=’big’, signé=False)/10.0 atm = int.from_bytes(b[3:7]byteorder=’big’, signé=Faux)/100.0 retour seq, bat, atm définition principale() : n_data_limit = 800 date_cible = « 2024-06-17 » heure_début = « {:}T00:00:00Z ».format(date_cible) end_time = « {:}T23:59:59Z ».format(date_cible) paramètres = { « début »: heure_début, « fin » : heure_de_fin, } paramètres = {} app_id = « 123456 » api_key = « ABCDEF » #target_device_id = « capteur de pression barométrique agrosense » target_device_id = « agrosense-temp-hum-sensor » url = « https://kptest.nam1.cloud.thethings.industries/api/v3/as/applications/{:}/devices/{:}/packages/storage/uplink_message?limit={:}&order=received_at ».format( identifiant_application, ID_de_l’appareil_cible, n_data_limit) headers = {« Autorisation »: « Porteur {:} ».format(api_key),} réponse = requêtes.get(url, headers=en-têtes, params=params) si response.status_code == 200 : essayer: data_str = réponse.texte tableau_de_données = chaîne_de_données.split(« \n ») n_data = len(tableau_données) f_out = open(« sortie_{:}.txt ».format(identifiant_du_périphérique_cible), « w ») pour i dans la plage (0, n_data, 1) : si(len(tableau_de_données[i]) < 10): continuer data_json = json.loads(tableau_de_données[i]) résultat = data_json[« result »] end_device_ids = résultat[« end_device_ids »] device_id = identifiants_device_end[« device_id »] reçu_à = résultat[« received_at »] uplink_message = résultat[« uplink_message »] frm_payload = message de liaison montante[« frm_payload »] charge_payante_décodée = charge_payante_décodeuse(charge_payante_frm) date_reçue = reçue_à.split(« T ») si (device_id == « agrosense-baro-pres-sensor ») : seq = extract_baro_pres_value(charge utile décodée) … elif(device_id == « agrosense-temp-hum-sensor »): seq = extract_temp_hum_value(charge utile décodée) f_out.write(« {:},{:},{:},{:},{:},{:},{:},{:},{:}\n ».format( date_heure_reçue[0], date_heure_reçue[1][0:10], Reference de l’appareil, frm_charge utile, séquence[0], séquence[1], séquence[2], séquence[3],)) imprimer(« {:} | {:} | {:<28s} | {:} | {:}".format( date_heure_reçue[0], date_heure_reçue[1], Reference de l’appareil, frm_charge utile, séq)) … f_out.close() sauf Exception comme erreur : print(« impossible de convertir en json ») imprimer(erreur) autre: … si __name__ == « __main__ »: principal() |
Un regard plus approfondi sur les capteurs
Les capteurs que j’ai reçus pour cette évaluation sont logés dans un boîtier en plastique robuste. Un joint en caoutchouc de silicone de 2 mm d’épaisseur est placé entre les parties supérieure et inférieure du boîtier. La partie supérieure comporte des informations sérigraphiées, notamment le fabricant, le nom du produit et des valeurs et symboles supplémentaires. Sur un côté du boîtier, un autocollant affiche les EUI et les clés, tandis qu’un autre autocollant sur le côté opposé fournit des détails supplémentaires sur le produit. Le couvercle supérieur est fixé à l’aide de quatre vis, qui n’étaient pas trop serrées et qui ont été facilement retirées. Une fois ouvert, le caoutchouc de silicone reste attaché au couvercle supérieur et tous les composants internes sont logés dans la partie inférieure.




Le circuit imprimé principal est doté d’un masque de soudure rouge et d’une sérigraphie blanche. Sur le dessus du circuit imprimé, il y a un support de batterie conçu pour accueillir deux piles AAA de 1,5 V. De plus, la carte comprend une LED et deux interrupteurs poussoirs étiquetés RST et USER. Il existe également deux connecteurs pour la fixation des capteurs, étiquetés J1 et J3. Le boîtier est équipé d’un presse-étoupe pour protéger l’électronique interne de l’humidité et de l’eau. Un connecteur IPEX sur le circuit imprimé se connecte à un connecteur SMA externe pour la fixation de l’antenne.


Pour inspecter l’autre côté du PCB, j’ai retiré les trois vis, le capteur et l’antenne. Sur la face inférieure du PCB, j’ai découvert que la plus grande puce est l’ASR6601CB, qui est un SoC de communication sans fil LPWAN général avec un émetteur-récepteur RF intégré. De plus, il y a un connecteur à 7 broches étiqueté P1, avec des broches marquées comme VCC, GND, TXD, RXD, BOOT, RST et RX. Cependant, je n’ai pas pu trouver d’informations sur la façon d’utiliser ces broches.
Tester la portée de communication
J’ai effectué ces tests dans mon bureau, en plaçant la passerelle dans la cour polyvalente devant la Faculté d’informatique et de technologie de l’information de l’Université Rambhai Barni Rajabhat. J’ai appuyé sur le bouton USER du capteur pour observer les valeurs RSSI et SNR signalées sur The Things Network. Lors de la première tentative, avec la passerelle et le capteur à environ 1 mètre l’un de l’autre, les valeurs RSSI et SNR étaient respectivement d’environ -23 dB et 13,5. J’ai ensuite déplacé le capteur à cinq endroits différents, comme illustré dans la figure suivante.


En conséquence, j’ai reçu avec succès le signal du capteur aux emplacements A et B sans aucun problème. La distance la plus éloignée de la passerelle pendant ce test était à l’emplacement C, à environ 290 mètres. Aux emplacements D et E, cependant, la passerelle n’a pas pu recevoir de données du capteur, car la trame de données en direct sur The Things Network n’a pas été mise à jour à ces emplacements. Ce test a été réalisé à l’aide des antennes fournies et des paramètres par défaut de la passerelle, sans aucune optimisation. De plus, il pleuvait pendant le test. Bien que le ciel soit très nuageux aux emplacements A et B, il pleuvait fortement au moment où j’ai atteint les emplacements D et E. J’ai donc décidé de mettre fin au test.
Consommation électrique des capteurs AgroSense
Dans cette évaluation, j’ai utilisé des piles alcalines Panasonic AAA LR03 1,5 V, produites en février 2024, que j’ai achetées dans un magasin de proximité. J’ai activé le capteur de température et d’humidité AgroSense LoRaWAN le 18 juin 2024 à 8 h 45. À ce moment-là, The Things Network a signalé une tension de 3,1 V, tandis qu’une mesure manuelle avec un multimètre indiquait 3,25 V. Le capteur a fonctionné en continu jusqu’au 5 juillet 2024 à 20 h 26, soit environ 17 jours. Pendant cette période, The Things Network a signalé une tension de 2,3 V, et une mesure manuelle a indiqué 2,44 V. La figure suivante illustre la chute de tension au cours des 17 jours de test du capteur de température et d’humidité AgroSense LoRaWAN. En revanche, le capteur de pression barométrique AgroSense LoRaWAN, testé simultanément, a montré des niveaux de batterie presque identiques le premier et le dernier jour, avec des tensions de 3,0 V (3,22 V lors d’une mesure manuelle avec un multimètre). Cependant, je n’ai pas pu confirmer la durée de vie de la batterie sur une période prolongée en raison de contraintes de temps, je n’ai donc pas pu vérifier si les batteries dureraient jusqu’à un an comme indiqué par le fabricant.

Conclusions
En conclusion, les capteurs AgroSense LoRaWAN et la passerelle SenseCAP M2 sont faciles à utiliser et fonctionnent comme prévu. Comme mentionné précédemment, c’était ma première expérience avec les appareils LoRaWAN, et j’étais initialement préoccupé par les termes techniques inconnus et la complexité du processus de configuration. Heureusement, il m’a fallu moins d’une heure pour comprendre le flux de travail et terminer la configuration sans problème majeur.
Un comportement de la passerelle que je dois mentionner est que, même si j’ai changé le mode des « Paramètres du réseau LoRaWAN » sur « Packet Forwarder » pour envoyer des données à The Things Network, j’ai constaté que l’appareil continue d’envoyer son état (avec certains paramètres inconnus) au portail SenseCAP environ toutes les 5 minutes.
J’ai également reçu un e-mail du fabricant indiquant qu’avec le firmware actuel (en date de juillet 2024), les données rapportées par les capteurs AgroSense reflètent des mesures prises 60 minutes avant l’heure réelle de transmission des données. Par exemple, les données transmises à 11 heures sont mesurées à 10 heures. Le fabricant m’a informé qu’il travaillait sur ce problème pour améliorer l’adéquation des appareils aux applications en temps réel.
Je tiens à remercier Makerfabs d’avoir fourni ces appareils LoRaWAN pour cette évaluation. Vous pouvez acheter des capteurs AgroSense LoRaWAN sur le site Web de Makerfabs. Le capteur de pression barométrique, le capteur d’intensité lumineuse, le capteur de température et d’humidité et le capteur de température industrielle sont tous au prix de 24,90 $ chacun. La passerelle SenseCAP M2 est disponible pour 99,00 $ et peut être achetée sur les sites Web de Makerfabs et de Seeed Studio.
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

