Articles

Niveau de complexité

Introduction

LED (image: Adafruit)

Quelles peuvent être les niveaux de complexité d’un système (ou d’une combinaison de systèmes) permettant de faire clignoter, ou commuter une LED ? Voici un petit aperçu de ce que l’on pourrait voir comme une progression se pliant aux besoins (voir les devançant…) de l’utilisateur.

Niveau 0

Montage NE555 – exemple

Une LED clignote avec une électronique : un chip 555, associé à 2 résistances et un condo pour la base de temps du clignotement.

Niveau 1

Un Arduino (ou tout autre module) fait clignoter la LED à 50% avec une boucle software comportant 2 attentes, et une inversion de la sortie active ou arrêtée. Il faut retoucher le code source pour changer la période allumé/éteinte, le compiler et le recharger.

Exemple de programme Arduino: blink.ino (partiel)

Niveau 2

Des boutons de commande contrôlent la séquence : plus ou moins rapide. Les paramètres de boucle et de n° de sortie utilisée sont dans des variables, qui sont lues de la mémoire flash par le programme. Un bouton permet d’enregistrer la config ainsi modifiée. Le programme gère les interruptions, sans forcément être multitâche.

Niveau 3

Le module a une liaison série ou IP en SSH, à laquelle une console permet d’envoyer des commandes. Le programme a un mini interpréteur, qui réagit à des commandes série ou en SSH : ‘+’ et ‘-‘, ‘s’ = sauver ; ‘r’ = relire les temps, voire de modifier le rapport cyclique. On n’oubliera pas le help, avec le caractère ‘ ?’. Le programme est multitâche.

Niveau 4

Le module a un serveur de pages WEB. Une page contient des boutons et des champs permettant de régler les variables, de les enregistrer et de les sauver. Ceci à distance du module. Idéalement, ce mode d’action est compatible avec le niveau 2 et comporte les boutons hardware pour une action locale

Niveau 5A

Le module a un serveur WEB, une liaison sécurisée, une base de donnée (DB), une synchro NTP pour une mise à l’heure exacte. Il enregistre les événements, tels que les arrêt/démarrages du système, les connexions. Les manipulations sont dans la base de données. Il envoie un email d’alerte lorsque des tentatives d’intrusions sont faites.

source: selftaughtcoders.com

Niveau 5B

Le module fait partie d’un ensemble interconnecté. Il reçoit les paramètres selon son n° ou son nom de module. Tous sont enregistrés dans une DB centrale. Des logs centralisés sont consultables, ainsi que l’état du réseau. Des informations historiques peuvent être consultées.

Conclusion

Il n’y en n’a pas. La complexité élevée demande des compétences de programmation élargies et fait appel à des techniques qu’il faut dominer et mettre en œuvre. Elle demande plus de puissance, de la connectivité ; mais amène de la souplesse à l’utilisateur. Et son lot d’erreurs, de possibilités d’intrusion. Il s’agit de choisir le niveau d’abstraction et de réglage… avec du bon sens.

Yves Masur (8/2018)

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.