Les Carnets de Byfeel domotique , Objets connectés , DIY , Programmation, Nouvelles Technologies ….

Notif’Heure V3 ( DIY)

l’Horloge Smart et Connectée avec Notification

Voici la toute nouvelle version du Notif’Heure , l’horloge connectée avec notification , basé sur un WEMOS ( ou compatible ESP8266 ).

Cette nouvelle version ajoute la mise en place d’une API ( format JSON) , afin de la rendre, le plus compatible possible avec un maximum de box domotique , ainsi qu’une toute nouvelle interface WEB , basé sur Bootstrap , et beaucoup d’autres nouvelles options .

Pré requis matériel :

  • Un WEMOS D1 , Wemos Mini ( ou compatible ESP8266 ) Environ 3 à 6 € sur sites chinois ( banggood ou gearbest ) , ou environ 8 € sur Amazon.
  • Un bloc de 4 matrices LED ( au minimum ) de type max72xx ( certains lecteurs  ont mis jusqu’à 8 bloc soit un affichage sur 32 matrices )

Le Notif’heure , dans son fonctionnement minimum , n’a besoin que de ces deux éléments . Mais il est possible d’ajouter des fonctionnalitées optionnels.

En option :

  • un module DHT ( pour affichage de la température de la pièce ) . Si vous utilisez un DHT nu ( non monté sur un mini PCB avec resistance inclus ) , pensez à ajouter une resistance entre la sortie data et le +Vcc.
  • Une photo résistance et une résistance de 10Ko ( pour la gestion auto de la luminosité )
  • Un ou deux boutons poussoir  ( pour gérer des actions directement depuis le boitier du Notif’heure )
  • Une led et sa résistance ( ic une led blanche avec une résistance de 100  Ω.)

Schéma de câblage :

Ci dessous , un schéma de câblage , pour l’assemblage des différentes options.

Attention aux PIN , en fonction des Wemos utilisés . Utiliser les valeurs GPIO , afin de trouver les bonnes PIN .

Schema Notif'heure V3
Scema de câblage WEMOS D1 uniquement
Pour Wemos mini ou D2 ( attention au PIN )

Installation ( les pré requis )

Pour installer le logiciel et ces fichiers dans votre module , il va falloir l’interface IDE Arduino , ainsi que toutes ses bibliothèques nécessaires. 

Pour l’installation de l’interface IDE , et la gestion des cartes supplémentaires , je vous invite à suivre mon article « Projet wemos D1« .

Si vous rencontrez un problème ou si vous avez une question , ne pas hésiter à consulter la FAQ , mis en place sur cette page . Si vous ne trouvez pas votre réponse , laissez moi un commentaire , afin que je complète cette dernière.

Ci dessous un tuto en vidéo , réalisé par Esso1, a voir sur la chaine youtube de Nextdom .

Tuto installation Notifheure

Voici la liste des bibliothèques que j’utilise pour le projet « Notif’heure’ ( cette liste peut être amené à être modifié en fonction des versions ). Elle représente la liste personnelle des bibliothèques dans le dossier mes documents de l’arduino. L’interface arduino , charge en priorité les bibliothèques de ce dossier , si non présente , il va allez vois dans ses bibliothèques systèmes , situé dans le dossier d’installation de l’application.

Bibliothèque Février 2019

Afin de vous faciliter , le chargement manuel de toutes ses bibliothèques , j’ai réalisé un ZIP de ces dossiers , que vous pouvez télécharger sur mon drive.

Installer le fichier jar dans le dossier tool de l Arduino , afin de pouvoir transférer le dossier data dans la mémoire SPIFFS ( voir mon article qui traite de ce sujet )

Puis , rendez vous , sur mon Github , pour télécharger les sources du projets  ( Dossier notif’heure V3 ) . Vous avez récupéré la structure suivante :

Structure projet Notif’heure

Un dossier data , comprenant toute la structure du serveur WEB ,  trois fichiers pour le sketch et deux fichiers images pour les icones.

Lancer votre interface Arduino , et ouvrez le projet « notifeur_V31.ino »

Uploader le dossier « data » avec le menu ESP8266 sketch data upload (menu outil ) , puis vous êtes prêt à uploader le fichier ino.

Configuration ( avant installation ) :

Avant de commencer à installer le sketch , sur votre module , il va falloir vérifier ou ajuster quelques paramètres :

parametre sketch
Parametre sketch à verifier ou à ajuster

Au tout début du sketch , vous allez pouvoir définir sur quel type et nombre de matrice vous allez travailler .

define HARDWARE_TYPE MD_MAX72XX::FC16_HW
define MAX_DEVICES 4 // nombre de matrice
define CLK_PIN D5
define DATA_PIN D7
define CS_PIN D6

Si vous avez suivi , le schéma de câblage , vous n’aurez pas besoin de modifier les numéro des PIN du module.
C’est l’instruction MAX_DEVICES qui va définir le nombre de matrice utilisés.
Le type sera à définir en fonction des matrices utilisés ( plus de détail sur mon article suivant :  Gestion des matrices.

//****************************************************
// En fonction de vos matrices , si probléme         *
// d'affichage ( inversé , effet miroir , etc .....) *
// ***************************************************
// matrix   - decocher selon config matrix    ********     
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW        //***
//#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW    //***
//#define HARDWARE_TYPE MD_MAX72XX::ICSTATION_HW //***
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW   //***
// ***************************************************
Voici un exemple de problème d’affichage

les « define » suivant indique les numéros de broches ou sont branchés les options comme les boutons , led ou dht … A modifier si nécessaire.

username et password , sont les valeurs par défaut pour se connecter à l’interface d’administration.

Installation

Puis télécharger le sketch via le câble USB. Redémarrer le module esp8266.

Le module va redémarrer et se mettre en mode AP , afin de configurer le wifi pour la première fois.  Connecter vous au réseau Notifheure. 

Puis redémarrer. À partir de ce moment vous pourrez faire les mises à jour en OTA. Si besoin relancer , l’interface Arduino. ( pour la mode OTA , python doit être installé . Ne pas installer la version 3 ou supérieur , pas géré actuellement par ARDUINO.) Il se peut que sur certains modules , l’OTA ne fonctionne pas tout de suite , installer le tout via le port USB dans un premier temps si il y a un problème.

Sélectionnez le port : 

Uploader les fichiers du dossier data avec la commande esp8266 Sketch Data Upload du menu outil  de l interface Arduino.

Si l’outil n’apparait pas , vérifier si il à été bien installé. ( voir cet article )

Vous pouvez maintenant vous connecter au notif’heure via son adresse ip ( affiché à la fin de la procédure de démarrage ) ou via le protocole bonjour. Sous Mac , il est activé par défaut , sous Windows il faudra l’installer .

Connectez vous à votre notif’heure :  http://Newnotif .local    ou si le protocole bonjour n’est pas installé connectez vous via l’adresse IP .

Utilisation :

Envoie Notification
Envoie Notification

lors de votre première connexion , vous pouvez tester si tous fonctionne correctement en envoyant une notif , via ce formulaire.

Si tout ok , on va pouvoir passer aux options :

Juste en dessous les options :

Options
Options

Puis en bas de la page , des onglets , dont le premier et un état du système :

Information système

Dans le cadre Matériel , vous pourrez voir quels sont les éléments activés ( au premier démarrage , tout est désactivé ) .Pour configurer vos options , il va falloir se rendre dans l’onglet Admin .

Dans l’onglet Admin , il y a un lien vers la page de configuration. Ainsi que la liste de tous les Notif’heure installé sur le réseau. Cliquer sur Page de configuration.

Le login et mot de passe par défaut : admin / notif

page configuration
[adsense]

Configuration ( après installation )

Il est possible sur cette page de :

  • Exporter la configuration ( si elle existe , au premier démarrage le fichier n’existe pas encore ) au format Json.
  • Importer un fichier de config ( au format json ) – peut être utile suite à une mise à jour , afin de récupérer ces paramètres.
  • Reboot du module si necessaire
  • Retour à la page d’accueil
  • Paramètrage du système : Nom du module , suffixe hostname , Activer ou non option DEBUG ( si besoin ) et réglage du multi-zone .
multizone
Multizone
  • Parametrage Horloge : ( Serveur de temp , TimeZone ( UTC ) , gestion des heures Hiver/été )
  • Parametrage Matériel : Activer si présence LED et boutons , en activant le bouton , il sera possible de choisir une action pour un type de clic.
    • Simple clic : Affichage des secondes
    • Double clic : ON / OFF Horlogeetc …
materiel
options materiels

Pour les boutons , pour chaque type de clic , il est possible de choisir :

  • Affichage des secondes
  • ON/OFF horloge
  • Mode Auto / Manuel 
  • ON/OFF LED
  • Action 1 / Action 2 / Action 3  ( qui permet d’adresser des URL , à une box domotique par exemple )
  • Tempo affichage notification : Permet de regler les vitesses d’affichages des notifications.
  • Paramètre Box Domotique : Permet de renseigner les URLS pour action , ainsi qu’une URL pour une Mise à jour des infos Modules dans la domotique ( l’update entraine un ralentissement de 1 à 2 secondes sur Jeedom , ce dernier ne gérant pas les websockets réactualise toutes les données ) – Dans un prochain article , j’expliquerai plus en détail le paramétrage du notif’heure et de jeedom.
programmation des URL pour action et update
  • Timer systèmes : Pour un réglage personnel des differentes tempo utilisés dans le Notif’Heure.

Sauvegarder et rebooter votre module , afin d’enregistrer vos paramètres de configuration personnel.

Il est aussi possible , de réinitialiser le module à ses réglages par défaut.

De retour sur votre page d’accueil , vous serez en mesure de constater dans les infos systèmes , les options mis en place.

Intégration Jeedom ( ou Box Domotique )

Les anciens scripts de la version 2.6 sont compatibles , pour ceux qui avaient intégrés la 2.6 dans Jeedom. vos scénarios de notification continuerons à fonctionner.

Dans le cadre de la version 3 , je suis en train d »écrire un nouvel article sur l’intégration du Notif’Heure dans Jeedom , afin de prendre en compte les nouvelles Options et autres spécificités.

L’article est disponible , pour le lire cliquer ici.

Mis à jour

Pour les futurs , mis à jour ou toutes modifications , il est conseillé d’exporter son fichier de config , puis de le réinjecter une fois la mise à jour terminé.

Si vous n’avez pas pensé à exporter le fichier , voici un exemple de la Structure d’un fichier config :

{
"Hostname":"Notif",
"Name":"new",
"NTPserver":"pool.ntp.org",
"timeZone":1,
"DLS":true,
"DEBUG":true,
"BOUTON1":true,
"BOUTON2":true,
"LED":true,
"multizone":false,
"DispRight":false,
"LZTime":2,
"speed_time":35,
"pause_time":3,
"interval_lux":15,
"interval_dht":10,
"interval_debug":40,
"AutoIn":true,
"TimeOn":true,
"DisSec":false,
"intensite":0,
"maxdisplay":4,
"btn1":[1,2,3],
"btn2":[4,5,7],
"txtAnim":"Notif",
"URL_Update":"http://ipbox/update",
"URL_Action1":"",
"URL_Action2":"",
"URL_Action3":"",
"JEEDOM":true
}

Historique version : ( a retrouver sur Github )

  • V3.1 : Nouvelle Interface et API JSON
  • V3.1.1 : Bug DHT , et autres petites améliorations.
  • V3.1.2 : quelques petits correctif et prise en charge nouveau script php jeedom
  • V3.1.3 : Fix bug affichage en multizone , ajout nouveau type info et fix pour affichage texte court permanent .
  • V3.1.4 : Bug fix . Modification mot clé , modification page web interne
  • V3.2 : historisation des notifications , effets pour type info , ajsutement interface , nouvelle options config et bug fix.
  • V3.3 : Ajout du mode Minuteur

j’ai mis en place une faq dédié au notifheure , disponible à cette adresse .

232 commentaires sur “Notif’Heure V3 ( DIY)”

Les commentaires sont fermés.