Je me suis ensuite rendu à la quincaillerie du coin pour y acheter un élément essentiel de mon bidouillage (il n'y a pas d’autre mot) : une prise électrique télécommandée. J’ai trouvé un kit de trois prises avec une télécommande standard qui permet de commander chaque prise au moyen de touches « on » et « off ». J’ai demandé à mon collègue Roy, plus soigneux que moi pour ce genre de chose, de relier deux fils en parallèle à un des boutons « on », et de faire la même chose avec le bouton « off » correspondant. Il a ensuite connecté une des paires de fils au contact du relais 0, et l’autre au contact du relais 1 de la carte d’extension. L’envoi de la séquence « R 0 1 + [CR] » suivie de « R 0 1 – [CR] » à la carte SAM reproduit ainsi la fonction « on » de la télécommande. La séquence « R 0 0 + [CR] » suivie de « R 0 0 – [CR] » émule de même l’action du bouton « off ».
 
J’ai programmé le client MQTT de façon à ce qu’il ajoute un caractère de retour chariot (CR) à tout message entrant. Le débit du port COM virtuel doit par ailleurs être de 9600 bauds et le signal DTR doit être activé. Le code source (à télécharger ci-dessous) vous montrera comment j’ai implanté les fonctions du client en C#. Avec ce code je pouvais commander la lampe de mon bureau depuis n’importe quel endroit sur Terre ! Essai concluant donc, mais j’ai tout de même démonté l’installation afin d’éviter toute mauvaise surprise. Cela dit, pour qu’un petit malin parvienne à commander ma lampe, il aurait fallu qu’il connaisse la séquence des caractères de commande ET le Topic dont je me suis servi !

Si commuter une lampe ou un autre dispositif avec mon client MQTT vous tente, je vous rappelle qu’une carte Arduino fait l’affaire. Un croquis Arduino qui reçoit et interprète les chaînes de caractère et commute une sortie ne devrait pas être trop difficile à écrire.
Je me suis servi d’un PC et d’un clavier pour entrer les commandes. Un peu lourd, non ? Nous changerons ça lors de la prochaine étape !     [HM]