Skip to main content

IoTRoutes on-premise 

        Vous pouvez installer facilement un environnement IoT Routes dans votre datacenter en téléchargent depuis github.com et en installant les fichiers binaires sur des serveurs web à votre choix. Une installation minimale consiste à  :

  1. Installer et configurer une Instance de de base de données MongoDB
  2. Installer et configurer le serveur AOS fourni par IoTRoutes.
  3. Installer et configurer le client web IoTRoutes.
 
IoTRoutes Infrastructure

 

1. Serveur de base de données

          IoTRoutes utilise des bases de données NoSQL pour la configuration de l'application et pour stocker les messages IoT ainsi que les fichiers media ou documents générer. MongoDB est optimisé pour l'application et aussi conseillé pour toutes installations on-premises.  Vous pouvez consulter la documentation depuis le site officiel MongoDB pour l'installation ou l'utilisation cloud.

En production ,Il est fortement recommandé de créer des bases séparées pour Data et d'autres pour les documents, rapports générés et fichiers media.

 
2. IotRoutes AOS

IoT Routes AOS est déployé sur un serveur web. Après avoir télécharger et décompresser les fichiers depuis la page de téléchargement sur https://github.com/IoTRoutes/iotroutes , Veuillez suivre les étapes suivantes pour installer et configurer votre serveur.

  Windows : 
  • Prérequis : 
    • Windows Server (2012 R2 or later recommended)
    • IIS installed (Web Server (IIS) role in Server Manager)
    • .NET Hosting Bundle installed (matches AOS version downloaded, see downlod comments).
  • Etapes:
    1. Installer et configurer IIS comme décrit dans la documentation officielle, voir ce lien .
    2. Install the .NET Core/.NET Hosting Bundle: Depuis le lien https://dotnet.microsoft.com/en-us/download/dotnet chercher "ASP.NET Core Runtime Hosting Bundle", télécharger et installer le programme puis redémarrer le serveur.
    3. Créer un dossier racine pour héberger le AOS sous votre IIS exemple C:\inetpub\wwwroot\IoTRoutes-AOS et copier les fichiers décompressés que vous les avez téléchargé précédemment.
    4. Ouvrir IIS Manger s'il est encore fermé et configurer l'application web comme suit :
      1. Ajouter le site web AOS : Cliquer avec le bouton droits sur "Sites" et "Ajouter Site Web". Entrer le nom de site "IoTRoutes-AOS" et le chemin "C:\inetpub\wwwroot\IoTRoutes-AOS" (selon le dossier créé à l'étape 3) .
      2. Ajuster les entrées du fichier de configuration appsettings.json. Ce fichier contient les paramètres permettant à l'AOS de fonctionner. Veuillez consulter la section plus bas qui décrit la structure du fichier de configuration.
      3. Mettre le Pool d'application à "No Managed Code" : Dans l' Application Pools chercher ou créer le Pool à utiliser. Cliquer avec le bouton droit sur le nom puis sur "Paramètres", Définir la version .NET CLR sur Aucun code managé. et Mettre "Mode pipeline géré" à " intégré".
      4. Vérifier les permissions et Firewall : Assurez-vous que le dossier dispose des autorisations de lecture/exécution pour IIS_IUSRS et IUSR. Le dossier du log doit avoir les autorisations de Ecriture/Modification.

        Autoriser le trafic entrant sur le port que vous avez configuré IIS pour écouter (par défaut : 80 ou 443 pour HTTPS)

      5. Redémarrer le pool et tester votre site : Via un navigateur web , accéder à http://<server-ip>/swagger/index.html
Ubuntu

Pour héberger IoTRoutes sur Ubuntu, on utilise Kestrel comme serveur web et Nginx comme reverse proxy. Voici les grandes étapes à suivre pour un déploiement sur Ubuntu (20.04 ou +) . Pour plus de détails sur les commandes Linux , veuillez consulter la documentation appropriée.

  1.  Installer le SDK ou Runtime .NET sur Ubuntu

    1. Ajouter Microsoft apt repository 
    2.  Installer le Runtime (.NET Core/ASP.NET) : 
    sudo apt install -y aspnetcore-runtime-8.0
  2. Publier l’application AOS sur le serveur

    Sur votre poste de travail, ou les fichier IoTRoutes AOS sont décompressés , Veuillez ouvrir le fichier de configuration appsettings.json et ajuster les valeurs selon votre plateforme, tel que l'adresse du serveur et les bases de données utilisées. Veuillez consulter la section plus bas qui décrit la structure du fichier de configuration.

    Transférer ensuite le dossier sur ton serveur, par exemple via SCP ou rsync : 

    scp -r ./publish user@your-server-ip:/var/www/iotroutesAOS
  3. Créer un service systemd pour l'application AOS
    1. créer le fichier :  

      sudo nano /etc/systemd/system/iotroutesAOS.service
    2. pour le contenu du fichier, veuillez consulter la documentation ubuntu.
    3. Sauvegarder, puis exécuter

      sudo systemctl daemon-reexec
      sudo systemctl daemon-reload
      sudo systemctl enable iotRoutesApi
      sudo systemctl start iotRoutesApi
  4. Tester l'AOS : sudo systemctl status iotroutesAOS
  5. Configurer Nginx comme reverse proxy
    1. Installer Nginx :  sudo apt install nginx
    2. Créer un fichier de config Nginx : sudo nano /etc/nginx/sites-available/iotroutesAOS
    3. Editer le contenu, veuillez consulter la documentation Nginx.
    4. Activer le site :

      sudo ln -s /etc/nginx/sites-available/iotroutesAOS /etc/nginx/sites-enabled/
      sudo nginx -t   
      sudo systemctl restart nginx
    5. Accéder et tester l'application web AOS

      curl http://your-domain.com/iotroutesAOS/swagger

 

Fichier de configuration de l'AOS 

Le fichier appsettings.json, contient les informations de configuration tel que les paramètres d'accès aux bases de données et autres.

  • mongodbDataConnectionString : Chaine de connexion au serveur base de données MongoDB pour la  base Data, exemple : mongodb://admin1:password1@serverName1:27017
  • mongodbDataDbName : Nom de la base de données Data.
  • mongodbFilesConnectionString :  Chaine de connexion au serveur base de données MongoDB pour la  base des fichiers, documents et medias. Pour les petites infrastructure , vous pouvez utiliser la meme base Data
  • mongodbFilesDbName: Nom de la base données des fichiers.
  • Jwt_TokenLifetime : Durée d'expiration du Token JWT pour l'authentification  sous format hh:mm:ss
  • Jwt_RefreshDuration :  Durée d'expiration du  Refresh Token JWT.
  • MQTTEndPointsURL : Pour les très grande installation, Cette clé contient le chemin du fichier de la stratégie de réservation des port MQTT. Dans le cas ou vous voulez créer plusieurs AOS et/ou plusieurs Brokers par AOS. Un model de fichier MQTTEndPoints est fourni sous le dossier de l'AOS portant le nom  MQTTEndPoints_template.json 
  • DefaultAdmin : Pour une nouvelle installation avec une base de données initiale, cette section permet de définir les informations du premier compte administrateur à  créer et qui recevra les notifications . Le compte par défaut est "admin" et vous devriez spécifier ici un mot de passe temporaire que vous allez le changer par la suite depuis le client web.

 

Répartition de la charge sur un environnement local

Dans les environnements de grande envergure, plusieurs instances AOS peuvent être exécutées en parallèle, en s’appuyant sur une base de données configurée pour la mise à l’échelle horizontale et la répartition de la charge.

Vous pouvez créer un ou plusieurs AOS principaux et un ou plusieurs AOS additionnels pour l'équilibrage des charges. Chaque AOS principal contient sa propre base de données et zéro ou plusieurs environnements additionnels pour répartir les travaux, les traitements des messages ou les accès utilisateurs.  

Ci-dessous un schéma pour un exemple d'un environnement avec  3 AOS partageant la même base de données.  Le 1er AOS est dédié uniquement à la communication avec les appareils pour la réception des messages et l'envoi des commandes. Le 2èmeAOS est réservé aux travaux et traitements par lots, tandis que l'AOS 3 est dédié pour les l'accès utilisateurs via le client web ou les applications mobile.

 

IoTRoutes multi-AOS platform

 

 

 

 

Suivant : IoTRoutes on-premise Web Client

 

We are professional and reliable provider since we offer customers the most powerful and beautiful themes. Besides, we always catch the latest technology and adapt to follow world’s new trends to deliver the best themes to the market.

Contact info

We are the leaders in the building industries and factories. We're word wide. We never give up on the challenges.

Recent Posts