Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !

Électroniquemis à jour le 23 avril 2023

Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités de programmation. Il est particulièrement utile pour les applications réseau, car il permet aux utilisateurs de créer des programmes qui peuvent interagir avec le réseau. Dans cet article, nous allons examiner comment le pcDuino peut être utilisé pour programmer un bouton-poussoir qui enverra un mail lorsqu’il est activé. Nous verrons comment configurer le pcDuino pour envoyer un mail et comment créer le programme qui enverra le mail lorsque le bouton-poussoir est activé.

Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !

Ce que l’on va faire ici

  • Dans ce code, l’appui sur un bouton poussoir va envoyer un mail ! Non, vous ne rêvez pas : c’est assez facile à faire avec Pyduino grâce aux fonctions intégrées dans la librairie.
  • On utilise ici un bouton poussoir, mais il pourra s’agir de n’importe quel autre capteur… qui pourra envoyer un mail d’alerte à la demande !
  • Pour plus de détails, se reporter aux instructions pyduino Réseau

Pré-requis

  • un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
  • Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
  • ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
  • D’autre part, vous devez disposer d’un compte mail personnel avec un serveur SMTP actif, ce qui est le cas la plupart du temps. Si vous n’en n’avez pas, créez en un pour l’occasion. Sinon, il est aussi possible d’installer un serveur SMTP sur le pcDuino, mais la procédure est plus complexe pour un simple test.
  • Vous devez disposez des informations suivantes :
    • nom du serveur smtp : par exemple mail.mondomaine.fr. Info fournie par votre hébergeur de mail
    • port utilisé sur le serveur smtp : par défaut 25, mais parfois 26 ou 587… Info fournie par votre hébergeur de mail.
    • votre adresse mail et le mot de passe associé.
    • l’adresse mail du destinataire.

Schéma fonctionnel

  • L’entrée numérique déclenche l’envoi du mail : le code Pyduino se connecte au serveur SMTP utilisé, transmet le mail qui est ensuite distribué au destinataire par le serveur SMTP.

Matériel nécessaire

Système

  • Le pcDuino connecté à internet via le réseau local

E/S

  • une plaque d’essai pour montage sans soudures,
  • des straps,
  • un bouton poussoir pour CI,

Instructions de montage

  • Connecter un bouton poussoir entre la broche 2 (configurée en entrée avec rappel au plus) et le 0V

Le montage à réaliser

Le fichier *.py

Copier/coller ce code dans l’éditeur Geany :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# exemple pyDuino – par X. HINAULT – www.mon-club-elec.fr
# Aout 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# l’appui sur un bouton poussoir envoie un mail !

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative
BP=2  # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui

mailServer=None

#— setup —
def setup():

        # config BP
        pinMode(BP,PULLUP) # met la broche en entree avec rappel au plus actif
        Serial.println(« La broche 2 est en entree avec rappel au plus actif ! »)

ÉlectroniqueChamp électrique : les notions fondamentales expliquées simplement

        # config serveur mail
        global mailServer
        mailServer=MailServer()

        #– parametres du serveur smtp
        mailServer.setName(« serveurmail.expediteur.fr »)
        mailServer.setPort(25)

        #– expediteur
        mailServer.setFromMail(« [email protected] »)
        mailServer.setFromPassword(« motdepasseexpediteur »)

        #– destinataire
        mailServer.setToMail(« [email protected] »)

        # affiche parametres
        print « serveur smtp : « 
        print « nom : «  + mailServer.name
        print « port : «  + str(mailServer.port)
        print « expediteur : »
        print « adresse mail : «  + mailServer.fromMail
        print « mot de passe : «  + mailServer.fromPassword
        print « destinataire : « 
        print « adresse mail : «  + mailServer.toMail

        print « —————–« 

# — fin setup —

# — loop —
def loop():

        global mailServer

        if(digitalRead(BP)==APPUI): # si appui
                Serial.println(« Appui BP! »)
                Serial.println(« Mail en cours d’envoi… »)

                # contenu du mail
                mailServer.setSubject(« Envoi mail par Pyduino »)
                mailServer.setMsg(« Appui sur bouton poussoir le «  + nowdatetime()+« . »)

ÉlectroniqueBien chauffer son atelier d’électronique : confort, sécurité et continuité de travail

                # envoi message
                mailServer.sendMail()

                Serial.println(« Fin d’envoi du mail. »)
                Serial.println(«  »)

                delay(250)  # anti-rebond

        delay(100) # pause entre 2 lecture du BP

# — fin loop —

#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
        setup() # appelle la fonction main
        while not noLoop: loop() # appelle fonction loop sans fin
 

Ce code est également disponible ici : https://raw.github.com/sensor56/pyduino-exemples/master/Ethernet/digitalReadSendMail.py

Utilisation

  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal vide doit apparaître :
    • lors d’un appui sur le bouton poussoir, un message indique qu’un mail est en cours d’envoi
    • puis suit l’affichage du contenu du mail envoyé.
  • Il suffit ensuite d’ouvrir sa messagerie mail pour visualiser le mail envoyé. Attention, un petit délai est parfois nécessaire, c’est normal.

Discussion technique

  • Il est potentiellement possible d’implémenter le serveur mail directement sur le miniPC si on le souhaite, mais la procédure est un peu plus compliquée.

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction