Un appareil ABP (activation by personalisation) ne rejoint pas le réseau. Son adresse (DevAddr) et ses deux clés de session sont configurées dans l’appareil, et il émet avec elles dès sa première trame. N’utilisez ABP que lorsque l’appareil ne peut pas faire de OTAA : OTAA est plus sûr et plus facile à récupérer. Cette page explique comment enregistrer un appareil ABP et comment gérer ses compteurs de trames.
ABP est pris en charge pour LoRaWAN 1.0.x (1.0.2, 1.0.3, 1.0.4). Vous devez disposer de l’autorisation d’ajouter, de modifier et de supprimer des appareils LoRaWAN.
Ce dont vous avez besoin
| Valeur | Format |
|---|---|
| DevEUI | 16 chiffres hexadécimaux |
| JoinEUI | 16 chiffres hexadécimaux (non utilisé pour rejoindre le réseau ; 0000000000000000 convient) |
| DevAddr | 8 chiffres hexadécimaux, tels que configurés dans l’appareil |
| NwkSKey (clé de session réseau) | 32 chiffres hexadécimaux |
| AppSKey (clé de session applicative) | 32 chiffres hexadécimaux |
Le DevAddr doit appartenir à ce réseau
Chaque réseau LoRaWAN possède un NetID, et les premiers bits d’un DevAddr désignent le réseau. Les passerelles de Hermetry reçoivent le NetID du réseau et rejettent les trames dont le DevAddr appartient à un autre réseau ; Hermetry refuse donc une telle adresse dès le départ.
Si l’adresse ne convient pas, Hermetry répond Ce DevAddr n’appartient pas à ce réseau. Utilisez une adresse avec le préfixe NetID du réseau. (devaddr_not_in_netid) et les détails de l’erreur indiquent le NetID du réseau. Avec le NetID 000000, le DevAddr doit être compris entre 00000000 et 01FFFFFF. Si votre appareil est livré avec une adresse hors de cette plage, configurez un nouveau DevAddr dans l’appareil.
Un DevAddr ne peut être utilisé que par un seul appareil actif dans votre organisation. Un second appareil avec la même adresse est refusé : Un autre appareil de ce locataire utilise déjà ce DevAddr. (devaddr_taken).
Ajouter l’appareil
- Ouvrez Appareils et sélectionnez Nouvel appareil.
- Choisissez Appareil LoRaWAN.
- Réglez Activation sur ABP (adresse et clés de session configurées dans l’appareil). Le formulaire affiche une note sur les compteurs de trames et les champs ABP.
- Renseignez Nom, DevEUI, JoinEUI (AppEUI), DevAddr, NwkSKey (clé de session réseau) et AppSKey (clé de session applicative), puis Version LoRaWAN et Classe.
- Sélectionnez Ajouter l’appareil.
Le panneau indique L’appareil a été ajouté. Ses liaisons montantes sont reçues dès sa première trame.
Avertissement
Les clés de session sont stockées chiffrées et ne sont plus jamais affichées. Conservez-les en lieu sûr.
Compteurs de trames
Chaque liaison montante porte un compteur de trames. Le serveur réseau n’accepte qu’un compteur qui progresse (d’au plus 16 384 à la fois). Une répétition n’est acceptée que comme retransmission de la dernière liaison montante confirmée. Cela bloque les trames rejouées.
Pour un appareil ABP, cela a des conséquences :
- Les compteurs démarrent à 0 lorsque vous ajoutez l’appareil.
- De nombreux appareils ABP remettent leur compteur à 0 lorsqu’ils redémarrent ou lorsque leur batterie est remplacée. Leurs trames suivantes ressemblent alors à d’anciennes trames et sont écartées ; le journal des trames affiche Trame rejouée ou Saut du compteur de trames.
- Hermetry ne resynchronise jamais un compteur par lui-même. C’est à vous de décider.
Réinitialiser les compteurs après un redémarrage de l’appareil
- Assurez-vous que l’appareil a bien réinitialisé ses compteurs (par exemple, il a été reflashé ou sa batterie a été remplacée).
- Ouvrez l’onglet LoRaWAN de l’appareil et sélectionnez Réinitialiser les compteurs.
- Confirmez Réinitialiser les compteurs de trames : « Ne l’utilisez qu’après que l’appareil a réinitialisé ses compteurs. Tant que l’appareil n’a pas réémis, une ancienne trame enregistrée de sa part pourrait être acceptée une fois. La réinitialisation est consignée dans le journal d’audit. »
Le compteur de la prochaine liaison montante est accepté à partir de 0 et le compteur de la liaison descendante démarre à 0. L’onglet affiche Compteurs réinitialisés pour la dernière fois. L’entrée d’audit iot_lorawan.device.counters_reset enregistre les compteurs remplacés.
Un appareil ABP ne dispose pas du bouton Réinitialiser la session : il ne peut pas rejoindre le réseau, donc terminer sa session le couperait du réseau. Hermetry le refuse avec Un appareil ABP ne rejoint pas le réseau : sa session ne peut pas être réinitialisée. Réinitialisez ses compteurs, ou donnez-lui de nouvelles clés de session.
Paramètres radio d’un appareil ABP
Comme un appareil ABP ne rejoint jamais le réseau, personne ne lui a communiqué les paramètres du profil. Il démarre avec les valeurs par défaut LoRaWAN 1.0.x de EU868 : délai RX1 de 1 seconde, décalage de débit RX1 de 0, RX2 à 869,525 MHz et DR0, et seulement les trois canaux par défaut. Le serveur réseau planifie les liaisons descendantes selon ces valeurs et demande à l’appareil, par des commandes MAC, de passer au délai RX1 du profil (5 secondes par défaut). Tant que l’appareil ne confirme pas, les liaisons descendantes utilisent ce que l’appareil possède réellement.
Une réinitialisation des compteurs rétablit également ces valeurs radio par défaut.
Remplacer les clés de session
Dans l’onglet LoRaWAN, sous Clés, saisissez le DevAddr (prérempli avec l’actuel), la Nouvelle NwkSKey et la Nouvelle AppSKey, puis sélectionnez Remplacer les clés. Confirmez : « Une nouvelle session démarre avec des compteurs à 0. Configurez la même adresse et les mêmes clés dans l’appareil, sans quoi il ne sera plus reçu. » Les trois valeurs vont ensemble ; Hermetry refuse une modification partielle avec Une nouvelle session ABP nécessite le DevAddr, la NwkSKey et l’AppSKey ensemble.
Via l’API
POST /tenant/<tenantId>/api/iot/lorawan/devices
Content-Type: application/json
{
"activation": "ABP",
"name": "Meter 12",
"devEui": "1122334455667712",
"devAddr": "0100A3F1",
"nwkSKey": "<32 hex digits>",
"appSKey": "<32 hex digits>",
"macVersion": "1.0.3",
"class": "A"
}
Un corps ABP contenant un appKey, ou un corps OTAA contenant des clés de session, est refusé. Réinitialisez les compteurs avec DELETE /tenant/<tenantId>/api/iot/lorawan/devices/<deviceId>/counters.

