Logo Mon Club Elec

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

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 !

Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail ! 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.
Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !

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,
Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !
  • des straps,
Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !
  • un bouton poussoir pour CI,
Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !

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

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

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 ! »)

        # config serveur mail
        global mailServer
        mailServer=MailServer()

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

        #– expediteur
        mailServer.setFromMail(« adresse@expediteur.fr »)
        mailServer.setFromPassword(« motdepasseexpediteur »)

        #– destinataire
        mailServer.setToMail(« adresse@destinataire.fr »)

        # 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()+« . »)

                # 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é.
Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !
  • 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.
Programmer le pcDuino : Réseau : L’appui sur un BP envoie un mail !

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.
Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.