Comment changer Dusunde la passerelle IoT dans un client LwM2M ?

Dusun Les passerelles intelligentes sont basées sur Linux et programmables. Alors DusunLa passerelle de peut utiliser n'importe quel protocole standard pour transférer des données dans le Cloud.

Les passerelles communiquent avec des capteurs/dispositifs via différents types de connectivité, puis pré-traitent et filtrent les données générées par les capteurs/dispositifs pour réduire la transmission.

Enfin, les données traitées sont traduites dans un protocole standard tel que MQTT/COAP pour être envoyées dans le cloud via des connexions Internet.

Ainsi, Dusun Les passerelles intelligentes sont basées sur Linux et programmables. Alors DusunLa passerelle de peut utiliser n'importe quel protocole standard pour transférer des données dans le Cloud. Ensuite, nous vous montrerons comment transférer des données à l'aide d'un protocole standard lwm2m basé sur le projet open source Wakayama. Cela signifie que les passerelles peuvent être transformées en un client lwm2m qui transfère les données reçues des capteurs par le protocole lwm2m vers un serveur lwm2m.

Pour plus de simplicité, nous utiliserons le serveur The lwm2m à https://leshan.eclipseprojects.io/ qui est un bac à sable basé sur leshan.

La vidéo : Changer Dusunde la passerelle IoT dans un client LwM2M

1. Qu'est-ce que LwM2M ?

OMA Lightweight M2M est un protocole de l'Open Mobile Alliance pour la gestion des appareils M2M ou IoT.

  • En plus de CoAP
  • Prise en charge de la couche de transport UDP et SMS
  • Modèle de ressource basé sur un objet simple
  • Fonctionnalités M2M de base : serveur LWM2M, contrôle d'accès, périphérique,
  • Connectivité, mise à jour du micrologiciel, emplacement, statistiques de connectivité
  • Sécurité basée sur DTLS

Le LWM2M gère les données via Objet/Instance/Ressource. La figure 1 montre qu'un appareil ampoule peut avoir 1 objets correspondant à 3 identifiants d'instance (0/1/2). Chaque instance a 2 ID de ressource.

20220630163508 DM
Figure 1. Objet lmw2m

2. Créez le client Wakaama LwM2M

Le client de démonstration Wakaama est utilisé pour démontrer le mode d'observation. Normalement, nous pouvons créer un programme pour la passerelle sur un PC et compiler le programme qui sera copié sur la passerelle pour s'exécuter. Les étapes suivantes montrent la procédure :

  1. ouvrez un terminal sur un PC Linux sur lequel git et cmake sont installés.
  2. Clonez la source Wakaama dans un dossier local. Exemple : /home/software Git clone https://github.com/eclipse/wakaama
  3. Téléchargez la compilation croisée OpenWrt-Toolchain à partir du site Web suivant (figure 2) :

http://archive.openwrt.org/barrier_breaker

20220630163508 DM
Figure 2. la chaîne d'outils OpenWrt pour la compilation croisée

4. Décompressez la chaîne d'outils OpenWrt téléchargée dans un dossier local (par exemple : home/software/) et ajoutez le chemin de la chaîne d'outils au chemin système :

Ouvrez /etc/bash.bashrc et ajoutez ce qui suit à la fin du fichier :

Export

PATH=home/software/OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin:$PATH

Exécution source /etc/bash.bashrc dans une borne.

5. Exécutez les commandes suivantes pour créer le lwm2mclient :

cd /home/logiciel/wakaama/exemples/client

build mkdir

construction de cd

cmake-gui .. (configurer le compilateur croisé selon la figure 3)

a prendre une

20220630163508 DM
Figure 3. la configuration du compilateur croisé dans cmake-gui

Le lwm2mclient compilé comporte neuf objets LWM2M :

  • Objet de sécurité (id : 0)
  • Objet serveur (id : 1)
  • Objet de contrôle d'accès (id : 2) en tant que squelette
  • Objet périphérique (id : 3) contenant des valeurs codées en dur à partir de l'exemple de client LWM2M de l'annexe E de la spécification technique LWM2M.
  • Objet de surveillance de la connectivité (id : 4) en tant que squelette
  • Objet de mise à jour du micrologiciel (id : 5) en tant que squelette.
  • Objet de localisation (id : 6) en tant que squelette.
  • Connectivity Statistics Object (id : 7) en tant que squelette.
  • Objet de test (id : 31024) avec la description suivante :

Multiple

Objet | identifiant | Instances | Obligatoire |

Tester | 31024 | Oui | Non |

Ressources:

Prise en charge multiple

Nom | identifiant | Opérations | Instances | Obligatoire | Taper | Gamme |

essai | 1 | L/E | Non | Oui | Entier | 0-255 |

exec | 2 | E | Non | Oui | | |

déc | 3 | L/E | Non | Oui | Flotteur | |

3. Testez le client LwM2M

Connexion du Dusun passerelle et exécutez les commandes dans la console ouverte :

./lwm2mclient -4 –h leshan.eclipseprojects.io (-4 signifie ipv4 ; -h signifie serveur)

La procédure de connexion est illustrée ci-dessous :

20220630163508 DM
Figure 4. Procédure de connexion du client lwm2m

Si la connexion réussit, le programme affichera l'état : STATE_READY. L'identifiant de connexion ci-dessus est KMCstnKU3g. Relier https://leshan.eclipseprojects.io, nous pouvons trouver nos clients par identifiant d'enregistrement (figure 5):

20220630163508 DM
Figure 5. les clients connectés sur le bac à sable test leshan

Cliquez sur nos clients, et nous pouvons trouver les 9 objets énumérés ci-dessus. La figure 6 montre l'objet device(/3). La figure 7 montre l'objet test(/31024) :

20220630163508 DM
Figure 6. l'objet périphérique
20220630163508 DM
Figure 7. l'objet à tester
Maintenant, nous pouvons faire la communication de données par le protocole lwm2m. Cliquez sur le bouton de lecture à droite du niveau de batterie dont la ressource est /3/0/9. Ensuite, la valeur [100] est lue à partir du client et filtrée sur le Web, comme indiqué ci-dessous :
20220630163508 DM
Si nous tapons : "modifier /3/0/9 88" dans la console client et activons le bouton d'observation pour la ressource /3/0/9, la valeur sera immédiatement modifiée en 88, comme indiqué ci-dessous.
20220630163508 DM
20220630163508 DM
En cliquant sur le bouton de lecture à droite de l'instance d'objet de test 10, nous pouvons obtenir toutes les valeurs de l'instance. La figure ci-dessous montre la situation.
20220630163508 DM
En exécutant "change /31024/10/1 99" et "change /31024/10/3 5.5", nous pouvons voir que les valeurs dans le serveur web sont passées à 99 et 5.5 comme illustré dans les figures ci-dessous :
20220630163508 DM
20220630163508 DM

4. Développer votre client LwM2M sur Dusunde la passerelle

1) Le développement de votre client LWM2M (pour le Light Device et le Sensor device) se fait en modifiant le code source de l'exemple client dans le dossier ../wakaama-master/examples/client sur votre PC Linux.

2) Créez un nouveau fichier C pour chaque nouvel objet dans votre client LWM2M. Par exemple, pour le client LWM2M dans le Light Device, vous devez créer un nouveau fichier object_light_profile.c pour l'objet Light Profile en modifiant le fichier object_device.c dans le dossier ../wakaamamaster/examples/client. Réglez les fonctions d'écriture et de lecture pour l'objet Light Profile dans object_light_profile.c. Ajustez également les fonctions get_object et free_object dans object_light_profile.c.

3) Ajustez les fichiers lwm2mclient.c et lwm2mclient.h dans le dossier ../wakaamamaster/examples/client en conséquence. Dans lwm2mclient.c, vous devez initialiser l'objet Light Profile au début de la fonction principale et libérer l'allocation de mémoire de l'objet à la fin de la fonction principale. Dans lwm2mclient.c, vous devez également définir le bon nombre d'objets dans votre client LWM2M.

4) Ajustez le fichier ../wakaama-master/core/liblwm2m.h en ajoutant l'ID du nouvel objet sous la ligne 167.

5) Ajustez le fichier ../wakaama-master/examples/client/CMakeLists.txt pour inclure le nouveau fichier objet et toutes les nouvelles bibliothèques utilisées dans le code modifié.

6) Compilez le nouveau client et exécutez le nouveau lwm2mclient sur le Dusun passerelle.

Vous pouvez obtenir plus d'informations sur le site Web suivant :
DUSUN site internet du cabinet :
DUSUN lien passerelle:
lien wakaama & leshan :
Télécharger ce document
Comment changer Dusunde la passerelle IoT dans un client LWM2M ?

CONTACTEZ-NOUS

    Ce site est protégé par reCAPTCHA et Google Politique de Confidentialité que le béton ey Conditions d’utilisation s'appliquent.

    Bienvenue chez DusunIoT

    Salut 👋 Y a-t-il quelque chose que nous pouvons vous aider aujourd'hui ? Veuillez remplir le formulaire ci-dessous pour que l'équipe fasse un suivi si vous devenez déconnecté.

      DusunIoT Programme de distribution

        Ce site est protégé par reCAPTCHA et Google Politique de Confidentialité que le béton ey Conditions d’utilisation s'appliquent.

          Ce site est protégé par reCAPTCHA et Google Politique de Confidentialité que le béton ey Conditions d’utilisation s'appliquent.