Gambas France BETA


Pas de compte ? Incription

DIO-Commander, évolution et modernisation

123
AuteurMessages
O.Coquet#16 Posté le 3/11/2024 à 17:18:06
Ce qui n'est pas devra-t-être inventéMais le code va être en ligne sous peu donc tu vas pouvoir t'amuser un peu :)
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
linuxos#17 Posté le 4/11/2024 à 14:45:09
Un peu de sel, de poivre et la crevette sera... Bonjour O.Coquet,

Petite question, pourquoi ne pas avoir utilisé un ESP32 a la place de l'ARDUINO, car il est bien plus puissant, a plus de Entrées/Sorties + Wifi + Bluetouth, et il coute moins cher ?
De plus il offre le 3.3V + 5V

Juste curiosité

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
O.Coquet#18 Posté le 4/11/2024 à 17:24:47
Ce qui n'est pas devra-t-être inventé
Bonjour O.Coquet,

Petite question, pourquoi ne pas avoir utilisé un ESP32 a la place de l'ARDUINO
Parce que j'en ai pas :o

, car il est bien plus puissant,
Pas vraimant besoin :o

a plus de Entrées/Sorties
Je n'ai besoin que d'une seule sortie digitale :shock:

+ Wifi + Bluetouth,
Beurk !!!!!
Comme ça je suis sûr de parasiter mon émetteur RF433 :lol:

et il coute moins cher ?
Boff, j'ai une arduino uno et une GT2560 récupérée sur une imprimante 3d à la déchèterie donc.....

De plus il offre le 3.3V + 5V
De même pour la UNO et la 2560

Juste curiosité

Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
linuxos#19 Posté le 4/11/2024 à 18:32:32
Un peu de sel, de poivre et la crevette sera... Ok pas necessaire donc. Merci pour la résponse

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
O.Coquet#20 Posté le 4/11/2024 à 20:23:40
Ce qui n'est pas devra-t-être inventéEn plus, du fait même de sa conception, la esp32 est beaucoup plus fragile et les modules RF433 sont une fabrication pure chinois avec une imprécision crasse.

Les variations de consommation d'un module à l'autre sont significatives, et les ports de sortie de l'esp32 y sont sensibles donc pour éviter tout "grillage de port" je préfère la uno qui serte est plus ancienne mais qui est aussi beaucoup plus tolérante.

Pour le wifi, c'est très séduisant dans le principe, mais pour un système domotique qui accessoirement gère aussi mon chauffage, je préfère une bonne liaison USB qui ne tombe pas en panne, plutôt que le wifi qui lui se bloque de façon régulière :)
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#21 Posté le 5/11/2024 à 07:36:11
Ce qui n'est pas devra-t-être inventéComme promis, le code complet pour la Arduino uno:


========================================================================

/*
DIO-Commander 2.0 RF433 - Arduino Module
05 Nov 2024
(C) Olivier Coquet
Version Arduino UNO
*/


#include <DiOremote.h>
#include <stdlib.h>


const int TX_PIN = 2; //pin DIR ext2

DiOremote myRemote = DiOremote(TX_PIN);

long Cmde_Code = 0; //Variable de stockage des code telco

//variables de stockage lecture de gambas

String data_in = "";

int Cmd_repet = 1; //variable contenant le nombre de répétitions d'envoi de code

void setup()
{
Serial.begin(115200);
pinMode(TX_PIN,OUTPUT);

//message vers gambas
Serial.println("READY");

}

void loop() {

//caractère reçu depuis Gambas
char data = "";

//vérifie l'existance de données sur le port série
if (Serial.available()) {

//récupère les données dans data
data=Serial.read();

//caractère de fin de commande
if (String(data) == "*"){

Cmde_Code = data_in.toInt();

//appel traitement envoi de code Cmd_repet fois
for (int i=0; i < Cmd_repet; i++){
myRemote.send(Cmde_Code);
}

data_in = ""; //remise à 0 du buffer de réception
}
//reset buffer
else if (String(data) == "R"){
data_in = "";
}
//ajuste le nombre de répétitions
else if(String(data) == "+"){
Cmd_repet = data_in.toInt();
Serial.println("Nbre de répétitions = " + String(Cmd_repet));
data_in = "";
}
//Ajoute la donnée au buffer
else{
data_in = data_in + String(data);
}

}
}


Désolé pour les indentations mais je me suis tapé les colorations à la main vu que le code Arduino n'est pas compatible avec la fonction "code Gambas" de ce forum.

Je suis ouvert aux suggestion, remarques et questions.
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#22 Posté le 5/11/2024 à 16:02:13
Ce qui n'est pas devra-t-être inventéBon pour la partie Gambas, je suis sur le plus hard, à savoir les fenêtres de configuration :cry:

La Fenêtre des paramètres avec sa gestion complète est ok.

La fenêtre de création et de modification des scénario est plus costaude, une journée dessus et enfin trouvé des solutions, mais la gestion des combobox est une vraie tannée !
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#23 Posté le 6/11/2024 à 15:45:06
Ce qui n'est pas devra-t-être inventéBon ça avance bien, pour le principal, tout fonctionne comme je le veux, me reste plus que l'interface web à mettre en place avec son traitement, et j'en verrais le bout :P

Voici quelques images de tout le bazar:

La fenêtre principale en action:


La fenêtre des préférences:


La fenêtre des scénari:


enfin, la fenêtre de visualisation des logs:


Demain je m'attaque à l'interface web, après faudra tout basculer sur un raspberry pour faire homogène et petit.

A noter, on en est à la version 2.0.46
le programme compte 2056 lignes pour presque 1Mo de programme.
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
pinky#24 Posté le 6/11/2024 à 15:53:48
Il est beau ton bazar mais je n'y comprends rien. Trop technique pour moi. :cry:

Par contre, ce DIO là me parle plus :
https://www.youtube.com/watch?v=EhGEGIBGLu8
Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection).
O.Coquet#25 Posté le 7/11/2024 à 06:40:28
Ce qui n'est pas devra-t-être inventéToute la musique (le style) de ma jeunesse :)

Pour mon DIO à moi, c'est pourtant simple, un logiciel qui envoie des commande ON et OFF à des prises ou dispositifs commandables à distance dans toute la maison, et cela en tenant compte d'un scénario que l'on peut paramétrer (heure d'allumage (ON) et heure d'extinction (OFF)) grace à la fenêtre des scénari.

La fenêtre de configuration permet d'entrer les préférences du logiciel à savoir:
Le serveur web d'accès à distance démarre-t-il au lancement du logiciel ?
Doit on mettre en route le mode bavard au lancement (affichage des commandes lancées dans la fenêtre) en temps réel
Le nom de la connexion usb ou est branchée la carte
Le nom du scénario (on peut en mettre autant qu'on veut) qui est utilisé pour les horaires
....etc

Voilà, c'est tout simple, en bref un logiciel domotique comme tant d'autres :)

en complément, cette version 2 est plus aboutie que celles que j'ai développées par le passé (4 ans déjà que je suis dessus), elle comprend toutes les fonctions de base d'un tel logiciel, quand j'aurais connecté l'interface web (pour un accès par smartphone par exemple) je le reconsidérerai comme une base solide pour fonctionner au quotidien.

J'ai déjà plein d'idées pour y ajouter un certain nombre de fonctions subsidiaires de "confort" comme:
- un simulateur de présence aléatoire (allumage et extinction de lampes ou ouverture de volet) de manière aléatoire dans des plages horaires données.
- un système de gestion des scénari en fonction des dates (pouvoir lancer des scénari différents le weekend par exemple)
-etc......
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#26 Posté le 8/11/2024 à 13:40:46
Ce qui n'est pas devra-t-être inventéDes nouvelles du front......

L'ensemble des fonctions web est en place, reste la correction de quelques bugs de ci de la et ça devrait être bon :)
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#27 Posté le 10/11/2024 à 11:56:56
Ce qui n'est pas devra-t-être inventéBon la je peaufine avant de vous livrer la bête,

- mode simulation automatique si pas de carte arduino connectée
- Aide contextuelle sur tous les champs et boutons de l'interface
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#28 Posté le 10/11/2024 à 16:11:28
Ce qui n'est pas devra-t-être inventéC'est dans la forge:

C'est dans la forge par ici

Enfin ! :cheers:
Tout le code est commenté ligne par ligne
Code et librairies arduino fournis
Tous les contrôles ont des tooltips activables avec le point d'interrogation bleu en haut à droite de l'interface principale.
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#29 Posté le 11/11/2024 à 09:05:55
Ce qui n'est pas devra-t-être inventéVoilà, on est arrivé au bout.

Je considère cette version (2.0.74) comme stable, à part quelques inévitables bugs que je corrigerai au faire et à mesure de leur découverte, cette version constitue maintenant la base de la plateforme domotique dont je rêvais.

De futures nouvelles fonctions apparaîtront progressivement, mais ce sera sur la version 2.1.xx, et ça ne sera pas des modifications du code à proprement parler mais par l'adjonction de plugins (ce sera la grande nouveauté).

Pour celles et ceux que cela intéresse, cette version (2.0.74) est en fonction à la maison depuis une semaine et gère à la perfection:
- éclairage de 3 pièces de la maison
- éclairage de la cours
- Chauffage d'une pièce
- Volets roulants d'une pièce
- Portail d'entrée

avec l'accès web, fini les télécommandes que l'on oublie ou les incontournables aller et retour pour éteindre le salon avant de se coucher.

Ce post sera donc dédié, dorénavant à vos remarques, critiques et suggestions.

Dernière précision, ceux qui souhaiteraient mettre ce logiciel en oeuvre constateront que je n'ai pas fourni le câblage du module RF433, c'est volontaire, il y a 36 manières de le mettre en oeuvre, trois fils à connecter à la carte Arduino, vous devriez facilement trouver sur le net, des informations à ce sujet (google est mon ami). Si vous ne vous en sortez pas, mettez un message ici avec le type de carte arduino et le type de votre module, je me ferai un plaisir de vous guider.

Amicalement,
Olivier Coquet
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
pinky#30 Posté le 11/11/2024 à 09:09:31
Bonjour O.Coquet et merci pour le partage de ton application.
Je vais surtout regarder les commentaires de ton code qui vont m'aider à progresser en codage. ;)
Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection).
123