# Présentation ADS ## SLIDE ### CAPTEURS Capteurs sont des rapsberry pi avec module Bluetooth. - paquet ADSsensor.deb à installer (dpkg -i) - répertoire principal : /etc/ADS2021/ - fichier man adssensor pour savoir comment ca marche (très léger car pas de paramètre dans le script) - lancement du script : ./adssensor Le script : - Créer un fichier csv au nom du capteur - Un fichier "mac.txt" pour stocker les adresses mac scannées lors "d'un tour" (car le coeur du script est dans une boucle) - Une boucle while true --> - Utilise l'outil "hcitool". On stock le résultat dans le fichier mac.txt pour ensuite traiter les données. - Mise en forme du fichier <hostname>.csv : - nom du capteur; date (2020-12-10T23:54:28-08:00); adresse mac bluetooth Rsync : - Avant tout : partage de clef pour tunnel SSH -- sur chaque capteur --> ssh-keygen pour générer une paire de clef. -- partager la clef publique au serveur pour une connexion sécurisé et sans intervention humaine (sans demande de mot de passe) - rsync <hostname>.csv USERserveur@IPserveur:/home/lucas/ADS/Serveur/sensor_manager/reception_log/<hostname>.csv Crontab : - Crontask pour envoyer les données par rsync au serveur - réinitialisation du fichier hostname.csv à la fin de la journée (car archive sur serveur) ### Application mobile 4 onglets : - Règles - Logs - Whitelist - Blacklist ![](https://i.imgur.com/WyuC0uZ.png) #### Règles Quand tu cliques sur l'onglet règle : - Appel un module Web d'Appinventor. - Module web --> gérer l'API Json. - Dans le module web --> l'url de la page de l'API. Automatiquement, comme il y a un appel --> On a fait en sorte que ca affiche les données de la page. --> dans une liste (comme ca, on peut sélectionner le capteur qu'on veut dans la liste "séleciton du capteur"). Dans sélection du capteur : on sélectionne à partir du nom. Quand on clic sur un capteur : - Ca rempli automatiquement les champs Nom/AdresseMAC/Priorité par les données déjà présentes. SI on veut ajouter : - On saisie juste les données dans les champs et ca fait un post dans le module web --> API JSON SI on veut modifier : - on sélectionne le capteur - On modifie l'adresse mac ou la priorité, - on peut pas modifier le nom (statique car hostname du capteur raspberry) - --> Ca fait un put Si on veut supprimer : - On sélectionne le capteur - --> ca fait un delete à partir de l'url (exemple : urlDeLapi/capteur1) ![](https://i.imgur.com/eB0Dtia.png) #### Logs ![](https://i.imgur.com/0aYo5JZ.png) - Quand on clic sur l'onglet -> module web "log" qui pointe sur URL API afficheLogs --> "Call" = GET - Sélectionner juste la date (interface pour la sélectionner qui demande le jour,mois et année) - affiche automatiquement les données S'IL Y EN A ! - Sinon : affiche un message d'avertissement comme quoi il n'y a aucunne données #### Whitelist / Blacklist ![](https://i.imgur.com/Ndc2r85.png) Deux onglets différents mais l'interface est similaire. - Quand on clic sur l'onglet --> appel module web whitelist/blacklist pour afficher les appareils mobiles (juste l'adresse mac bluetooth des appareils mobiles = téléphones). - Pour supprimer --> delete en passant l'adresse mac des appareils déjà ajoutés. - Pour Ajouter --> Post comme pour les règles GESTION DES TRY CATCH POUR TOUTE L'APPLICATION - SI un champ n'est pas rempli = message d'erreur - SI aucun log = message d'erreur CAPTEUR : WASSIM R5 : LUCAS MOI API : THOMAS SERVEUR : LUCAS APPLI : CORENTIN