Giter Club home page Giter Club logo

jeedouino's People

Contributors

revlysj avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jeedouino's Issues

Petites améliorations

Bonjour,

j'aurais des suggestions d'améliorations du plugin concernant principalement l'utilisation des I/O des Arduino :

  • Est-ce qu'il serait possible d'ajouter aux entrées analogiques A0-A5 le statut "Entrée numérique" avec/sans PULL-UP" ?
    J'ai été obligé de créer des PIN utilisateurs pour faire çà alors que les PIN A0-A5 peuvent très bien fonctionner en mode digital de D14 à D19.

  • L'Arduino Nano possède 2 PIN A6-A7 supplémentaires qui ne fonctionnent elles qu'en analogique mais elles ne sont pas dispo.

En tout cas, bravo pour ce super plugin qui offre déjà beaucoup de possibilités :o)

Compatibilité avec plugin téléinfo

Bonjour,

L'appel API utilisé pour le transfert des données au plugin téléinfo n'est plus compatible avec celui-ci.
Ce dernier est passé en méthode POST avec une donnée formattée en JSON.

Cordialement

Debian Buster compatibility

When using Jeedouino on Debian 10 Buster (with a fresh install on Rpi3), the page of the plug-in did not show up, only the menu bar. Error 500 on calling "/index.php?v=d&m=jeedouino&p=jeedouino"
But nothing /var/www/html/log/http.error

On the Jeedom forum someone said that it's a Buster compatibility problem.

I made a new install on Debian 9 Strech and it's OK.

If you give me more info, maybe I could help.

Thanks for this very useful plugin !

Détails sur la communication entre démon arduino et la carte

Bonjour,

Je suis actuellement en train de tester le plugin avec des cartes Arduino, mais je rencontre des problèmes assez basiques comme :

  • Après configuration de l'ensemble, la carte répond au démon, mais rien ne se passe.
  • pas de retour d'état de broches.

J'essaie simplement de faire un blink avec la led présente sur toute carte Arduino.

Pour essayer de voir d'où vient le problème, j'ai commencé à reprendre le code du sketch de base, en le réorganisant pour simplifier la lecture et la maintenance future.

Je cherche les détails de communication, c'est-à-dire :

  • la liste des commandes exhaustives lancées par le démon
  • y a-t-il des publications de la carte vers le démon sans requêtes préalables ? (Publication périodique de l'état des broches ?)
  • Quel est l'ordre d'envoi de requête pour l'initialisation de la communication ?

Je n'y connais pas grand-chose en php, et peu en python, mais j'ai un bon baguage en programmation embarquée (microcontrôleurs).
J'ai lu la doc, qui explique les différentes configurations possibles, mais je n'ai rien trouvé sur le protocole d'échange. Ai-je loupé une page ?

Très naturellement,

Bug fonction send lcd16x2

Bonjour,
Il semble avoir une erreur avec la fonction send LCD. Dans le code jeedonuioUSB.py, il manque dans le cmd_list le retour de SMOK

Merci pour ton code

double pulse

bonjour,
je dispose d'une serrure Sherlock S2 avec telecommande bluetooth, celle-ci est reluier a mon rpi, le tout bien configurer sur jeedouino.

mon probleme: pour déverouiller la serreure il faut faire un double appuis sur le bouton, avec une intervalle normal ( comme un double click sur une souris)

le probleme c'est que je ne c'est pas comment configurer ce "double-pulse"

merci d'avance

Problème de réutilisation d'un microcontroleur dans nouvel équipement

Lorsque j'ai utilisé un microcontroleur avec un équipement. Il est ensuite impossible de le ré-utiliser dans un nouvel équipement. J'ai créer un nouvel équipement avec une nouvelle adresse ip et flasher le microcontrolleur avec le sketch du nouvel équipement, Jeedom n'arrive pas à communiquer avec le microcontrolleur (error: no route to host) alors que je ping l'adresse ip avec succès avec le plugin network. Ensuite j'ai régulièrement des message qui disent Equipement not found avec l'id de l'équipement précédent. C'est comme s'il gardait l'id de l'équipement précédent en mémoire même après avoir été reflashé avec un nouveau sketch. Est-ce possible de re-initialiser le EqID.

Il est impossible d'attribuer un adresse ip fixe choisie soi-même en mettant "#define NODHCP" sur 1

J'espère ne pas avoir été trop confus dans mes explications. Merci beaucoup pour le travail fait sur ce plugin

Arduino - PIN en input_pullup - Le mode INPUT_PULLUP semble ne pas être actif

Hello,

Les PIN configurés via Jeedom en INPUT_PULLUP semblent ne pas être configurées comme telle.

En effet, si je connecte le PIN 2 à GND, l'état passe bien à 0.
Si je débranche le PIN 2 de GND, l'état passe bien à 1.
En revanche, sans faire aucune action, je constate que l'état se met à bagotter entre 1 et 0. Comme s'il n'y avait pas le mode PULLUP.

Maintenant, si dans le SKETCH j'ajoute "pinMode(i, INPUT_PULLUP);" sous la ligne "case 'p': // input_pullup", alors je n'ai plus de bagotement et l'état reste bien à 1 (plus de problème de parasite).

Est-ce un oubli ?

Merci :)

Exception on serial dependency

Hello

When dependency serial is in error :

image

How to solve :
Replace SimpleSend('&NODEP = SERIAL') with SimpleSend('&NODEP=SERIAL')

This error happened for me when serial is installed by another module after jeedouino :
image

Maybe add in error message to check that serial is not installed, because is in conflict with pyserial.

Great work on this plugin

Regards

fonctionnement du plugin RPI distant

bonjour,
d'abord merci pour tout ce que tu fait, j'utilise déjà ce plugin pour piloter le ventilateur de ma baie télécom a l'aide d'un relais et d'une sonde DS18B20 sur arduino nano puisque j'utilise un NUC et franchement c'est super stable bravo.

aujourd'hui je cherche a récupérer des info binaire sur un raspberry distant (pas celui de mon jeedom) j'ai installé magic mirror2 et j'aimerais récupérer une info de mouvement avec un capteur PIR afin d'allumer et éteindre l'ecran
j'ai lut au cour de mes recherches qu'il fallait installer un autre jeedom sur le pi.
Est-ce vais ?
si non quelle est la marche a suivre je n'ai rien trouvé dans la doc du plugin si ce n'est l'installation de wiringpi (je suppose sur le pi distant).

d'avance merci.

Jeedouino avec arduino+Expander PCF8574 en I2C

Bonjour,
Désolé de vous importuner ,
Je souhaiterais si vous pouvez m'apporter des réponses à propos de Jeeduino,
J'ai raccordé en I2C un arduino Uno + 4 interfaces avec un PCF8574 dont 2 interfaces en entrées et 2 en sorties / relais, donc 16 entrées et 16 sorties relais.
J'ai suivi les instructions dans le fichier sketch à injecter dans l'arduino que j'ai décortiquer ci-dessous :
On a l'instruction #define UserSketch 1

  • Dans la section // UserVars , j'ai mis :

    #include "PCF8574.h"
    #include <Wire.h>

    PCF8574 PCF_20(0x20); // Carte 8 Entrées Optocouplées
    PCF8574 PCF_21(0x21); // Carte 8 Entrées Optocouplées
    PCF8574 PCF_38(0x38); // Carte 8 Sorties Relais
    PCF8574 PCF_39(0x39); // Carte 8 Sorties Relais

  • Dans la section // UserSetup , j'ai mis :
    PCF_20.begin(); // TT
    PCF_21.begin(); // TT
    PCF_38.begin(); // TT
    PCF_39.begin(); // TT

  • Et dans la section // UserLoop, j'ai mis 👍
    void UserLoop()
    {
    uint8_t input_pcf20 = PCF_20.read8();
    uint8_t i = 0;
    while (i < 8) {
    jeedom += '&';
    jeedom += (500 + i);
    jeedom += '=';
    if (input_pcf20 & ( 1 << i ))
    {
    jeedom += '1';
    }
    else
    {
    jeedom += '0';
    }
    i++;
    }

Et voilà pour le code, j'ai programmé aussi 1 entrée et 1 sortie sur l'arduino lui-même afin d'être sûr que l'arduino fonctionne, çà marche.
Bien sur dans Pins utilisateurs, j'ai créé aussi mes entrées de 500-516 / sorties de 517 à 531.
Et bien çà ne fonctionne pas en testant les 8 premières entrées.
Voilà si vous pouvez m'orienter svp.
Merci d'avance
Bien cordialement
Thierry

Error in generated code for ESP8266

Following code line in my generated JeedouinoESP_17 file doesn't compile in Arduino IDE:
if (abs(AnalogPinValue-OLDAnalogPinValue[i])>20) // delta correctif pour eviter les changements negligeables
it produces following error statement:

eedouinoESP_17:958:49: error: call of overloaded 'abs(long unsigned int)' is ambiguous
  958 |      if (abs(AnalogPinValue-OLDAnalogPinValue[i])>20)  // delta correctif pour eviter les changements negligeables
      |                                                 ^
In file included from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/cstdlib:75,
                 from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/stdlib.h:36,
                 from /home/alexis/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/cores/esp8266/Arduino.h:27,
                 from sketch/JeedouinoESP_17.ino.cpp:1:
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/stdlib.h:74:5: note: candidate: 'int abs(int)'
   74 | int abs (int);
      |     ^~~
In file included from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/cstdlib:77,
                 from /home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/stdlib.h:36,
                 from /home/alexis/.arduino15/packages/esp8266/hardware/esp8266/3.0.0/cores/esp8266/Arduino.h:27,
                 from sketch/JeedouinoESP_17.ino.cpp:1:
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:79:3: note: candidate: 'constexpr long double std::abs(long double)'
   79 |   abs(long double __x)
      |   ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:75:3: note: candidate: 'constexpr float std::abs(float)'
   75 |   abs(float __x)
      |   ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:71:3: note: candidate: 'constexpr double std::abs(double)'
   71 |   abs(double __x)
      |   ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:61:3: note: candidate: 'long long int std::abs(long long int)'
   61 |   abs(long long __x) { return __builtin_llabs (__x); }
      |   ^~~
/home/alexis/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.0-newlib4.0.0-gnu23-48f7b08/xtensa-lx106-elf/include/c++/10.2.0/bits/std_abs.h:56:3: note: candidate: 'long int std::abs(long int)'
   56 |   abs(long __i) { return __builtin_labs(__i); }
      |   ^~~
exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous

To correct it it is enough to cast the value in the abs function to int :

if (abs((int)(AnalogPinValue-OLDAnalogPinValue[i]))>20) // delta correctif pour eviter les changements negligeables

problème génération sketch en local

Hello,

J'ai remarqué un souci lors de la génération de sketch en local en usb pour un arduino nano. Jeedouino laisse une ligne liée à une génération réseau.
Dans mon cas une sonde DS18B20 et une entrée numérique à générer et la ligne suivante dans le sketch est à supprimer en L505 :
client.print(F("SOK")); // On reponds a JEEDOM

Dans cette partie du code :

			else if (c[0]=='S' && c[n]=='P')		 	// Reçoi le délai de relève des sondes
			{
				if (n > 1)										// Petite securite
				{
					for (int i = 1; i < n; i++)
					{
						if (isDigit(c[i])) c[i] = c[i] - '0';
					}

					int multiple = 1;
					pinTempo = 0;
					for (int i = n-1; i > 0; i--)										// récupération de la valeur
					{
						pinTempo += int(c[i]) * multiple;
						multiple *= 10;
					}
					if (pinTempo < 1 || pinTempo > 1000) pinTempo = 5;
					ProbePauseDelay = 60000 * pinTempo;

					client.print(F("SOK"));												// On reponds a JEEDOM
					jeedom+=F("&REP=SOK");
				}
			}

Super projet en tout cas!

Entrée analogique : possible d'appliquer une transformation ?

Bonjour ! Je suis en train de bricoler une connexion entre mon arduino et mon raspberry pi pour remonter la valeur d'un capteur de température. Du coup je suis tombé sur ce plugin qui m'économiserait du boulot, ça a l'air cool !

Cependant j'ai beau lire la documentation je n'arrive pas à savoir si il est possible d'appliquer une transformation (un calcul) à une valeur d'une entrée analogique ?

En gros voici le code Arduino qui lit depuis l'entrée analogique :

 int reading = analogRead(sensorPin);  
 
 // converting that reading to voltage
 float voltage = reading * 5.0;
 voltage /= 1024.0; 
 
 // now print out the temperature
 float temperatureC = (voltage - 0.5) * 100 ;  //converting from 10 mv per degree wit 500 mV offset
                                               //to degrees ((voltage - 500mV) times 100)

Au final j'ai la température en degrés. Mais comme le plugin lit directement la valeur depuis l'entrée analogique je ne suis pas sur de pouvoir répliquer ce calcul avec jeeduino.

Possible ?

Set d'un pin TéléInfo en TX qui écrase la configuration RX ?

Salut,

Je suis en train de basculer ma téléinfo Linky depuis un Arduino + mySensors vers un Wemos D1 Mini.

Dans le sketch on a :

#if (UseTeleInfo == 1)
case 'j': // teleinfoRX pin
teleinfoRX = i;
pinMode(i, INPUT);
break;
case 'k': // teleinfoTX pin
teleinfoTX = i;
pinMode(i, OUTPUT);
break;
#endif

Il me semble que dans la configuration on donne la même valeur pour le pin RX et le pin TX : cela ne va pas du coup mettre le pin en mode "OUTPUT" alors qu'on l'attend en mode "INPUT" 🤔

En tout cas en l'état ça ne semble pas fonctionner pour moi.

Merci pour le boulot en tout cas, c'est surtout agréable à utiliser 👍

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.