• mise à jour nodemcu esp8266 impossible

    2
    2 Posts
    1k Views
    P
    A force de cherché j'ai réussi à débloqué le port /dev/ttyUSB0, et a injecter les programmes. Mais j'ai toujours pas de téléinfo qui remonte. je vais tenté de supprimer la résistance qui vient du compteur, voir si cela change quelque chose..
  • wifinfo

    6
    6 Posts
    2k Views
    D
    Dommage : Le concept de shield pour Wemos me plait bien... Mais la soudure composants CMS, je le sens pas trop (je suis plus à l'aise avec le soft !) Merci, quoi qu'il en soit.
  • [Résolu]Plus de communication entre WifInfo et PitInfo

    4
    1
    4 Posts
    2k Views
    CharlesC
    J'ai releasé un shield de Dev pour Wemos https://github.com/hallard/WeMos-TIC [image: 1522335111411-f9ac7a6f-7ec1-413e-99f4-1975c3ae666e-image.png] c'est plus fonctionnel que les fils qui pendouillent
  • Ajout protocole Domoticz

    api domoticz http wifinfo
    11
    11 Posts
    9k Views
    T
    Bonjour, Je viens relancer le sujet car celà m'intéresse. J'utilise Domoticz. PS: pour le moment, j'essaye de récupérer en python à partir de Domoticz mais j'ai un pb : voir un autre post
  • Simulation de trames teleInfo par WinInfo.ino

    6
    1
    6 Posts
    2k Views
    M
    @mjeanne Vous parlez-donc d'une version wifinfo modifiée? qui réémet les informations reçues de Rx serial vers Tx serial1 au profit d'une box domotique.
  • Génération de trames Téléinfo de tests.

    5
    5 Posts
    5k Views
    S
    Hello, Le lien vers le code du programme vbscript de génération de trames de tests semble ne pas fonctionner. Voici le code Modifier les constantes en début de programme en fonction de vos besoins. ' ' Génération et envoi de trames téléinfo SMBA38 02/2017 ' ' Trois trames différentes sont créées dans trois fichiers trame1.txt, trames2.txt et trame3.txt ' Un fichier trames.bat est créé, ce fichier .bat boucle sur l'envoi successif des trois trames sur PORTCOM ' Avec un délai DELAIMS entre chaque trame (en millisecondes) ' ' NBENVOICOM=n permet d’envoyer n fois les trames sur PORTCOM directement depuis ce programme. ' Si NBENVOICOM=0 pas d’envoi sur PORTCOM ' ' '---- Constantes à modifier en fonction des besoins const PORTCOM="COM9" ' A changer en fonction du port à utiliser const DELAIMS=2000 ' delai entre l'envoi de deux trames (en millisecondes). const NBENVOICOM=0 ' nb fois à envoyer les trames sur le port PORTCOM (si=0 pas d'envoi via PORTCOM) '-----Fin constantes const CONFIGPORT="baud=1200 data=7 parity=e stop=1" ' paramètres du PORTCOM pour téléinfo const ForWriting=2 nbpings=1 ' pour simuler un delai utilisation d'un ping nb fois if DELAIMS >0 then nbpings=int(DELAIMS/1000) ' environ une seconde par ping if nbpings <1 then nbpings=1 ' nbpings=nombre entier end if Set fso = CreateObject("Scripting.FileSystemObject") Set ficho = fso.OpenTextFile("trames.bat", forwriting,true) ' ' Fichier .bat d'envoi de trames contenues dans les fichier trame1.txt, trame2.txt, trame3.txt ' ficho.writeline "mode " & PORTCOM & ": " & CONFIGPORT ficho.writeline ":boucle" ficho.writeline "type trames1.txt >" & PORTCOM ficho.writeline "ping -n " & nbpings & " 127.0.0.1" ' pour simuler une attente entre deux trames ficho.writeline "type trames2.txt >" & PORTCOM ficho.writeline "ping -n " & nbpings & " 127.0.0.1" ' pour simuler une attente entre deux trames ficho.writeline "type trames3.txt >" & PORTCOM ficho.writeline "ping -n " & nbpings & " 127.0.0.1" ' pour simuler une attente entre deux trames ficho.writeline "goto boucle" ' boucle infinie ficho.close buf1="" 'trame1 buf1=buf1 & crc("ADCO 012345678901") 'F buf1=buf1 & crc("OPTARIF HC..") '< buf1=buf1 & crc("ISOUSC 20") '8 buf1=buf1 & crc("HCHC 036424518") '' buf1=buf1 & crc("HCHP 026582379") '= buf1=buf1 & crc("PTEC HP..") ' buf1=buf1 & crc("IINST1 003") 'K buf1=buf1 & crc("IINST2 002") 'I buf1=buf1 & crc("IINST3 001") 'K buf1=buf1 & crc("IMAX1 019") ': buf1=buf1 & crc("IMAX2 020") '3 buf1=buf1 & crc("IMAX3 018") '; buf1=buf1 & crc("PMAX 08380") '9 buf1=buf1 & crc("PAPP 00970") '1 buf1=buf1 & crc("HHPHC E") '0 buf1=buf1 & crc("OTDETAT 000000") '0 buf1=buf1 & crc("PPOT 00") '# Set ficho = fso.OpenTextFile("trames1.txt", forwriting,true) ficho.writeline(chr(02) & buf1 & chr(03))' début trame & contenu trame & fin trame ficho.close buf2="" 'trame 2 avec quelques changements buf2=buf2 & crc("ADCO 012345678902") 'F buf2=buf2 & crc("OPTARIF HC..") '< buf2=buf2 & crc("ISOUSC 20") '8 buf2=buf2 & crc("HCHC 036424518") '' buf2=buf2 & crc("HCHP 026582379") '= buf2=buf2 & crc("PTEC HP..") ' buf2=buf2 & crc("IINST1 004") 'K buf2=buf2 & crc("IINST2 001") 'I buf2=buf2 & crc("IINST3 002") 'K buf2=buf2 & crc("IMAX1 019") ': buf2=buf2 & crc("IMAX2 020") '3 buf2=buf2 & crc("IMAX3 018") '; buf2=buf2 & crc("PMAX 08380") '9 buf2=buf2 & crc("PAPP 00970") '1 buf2=buf2 & crc("HHPHC E") '0 buf2=buf2 & crc("OTDETAT 000000") '0 buf2=buf2 & crc("PPOT 00") '# Set ficho = fso.OpenTextFile("trames2.txt", forwriting,true) ficho.writeline(chr(02) & buf2 & chr(03))' début trame & contenu trame & fin trame ficho.close buf3="" ' trame3 (trame partielle) buf3=buf3 & crc("IINST1 002") 'K buf3=buf3 & crc("IINST2 000") ' I buf3=buf3 & crc("IINST3 001") 'K buf3=buf3 & crc("IMAX1 012") ': buf3=buf3 & crc("IMAX2 014") '3 buf3=buf3 & crc("IMAX3 014") '; Set ficho = fso.OpenTextFile("trames3.txt", forwriting,true) ficho.writeline(chr(02) & buf3 & chr(03))' début trame & contenu trame & fin trame ficho.close ' ' envoi trames sur PORTCOM ' if NBENVOICOM>0 then Set oShell = CreateObject("Wscript.Shell") oShell.Run "mode " & PORTCOM & ": " & CONFIGPORT ,0,1 ' conviguration port via CMD ' car PB pour configure les paramètres du port via OpenTextFile on error resume next Set comObj = fso.OpenTextFile(PORTCOM , forwriting) ' ouverture port COM configuré via CMD If Err.Number <> 0 Then msgbox " Erreur sur ouverture port de communications série " & PORTCOM err.clear wscript.quit End If On error goto 0 Wscript.sleep(2000) ' comObj.writeline(string(100,chr(0))) for i=1 to NBENVOICOM comObj.writeline(chr(02) & buf1 & chr(03)) ' trame1 wscript.sleep(DELAIMS) comObj.writeline(chr(02) & buf2 & chr(03)) ' trame2 wscript.sleep(DELAIMS) comObj.writeline(chr(02) & buf3 & chr(03)) ' trame3 wscript.sleep(DELAIMS) next comOBJ.Close msgbox "fin envoi trames: " & NBENVOICOM & " fois avec un délai de " & DELAIMS & " millisecondes" else msgbox "Fin génération des fichiers trame1.txt, trames.txt, trame3.txt et trames.bat" end if wscript.quit '-------------------------- ' ' calcul CRC ajout entête LF (0x0A) et ajout fin de ligne CR (OX0D) ' function crc( chaine_crc ) icrc=0 for i=1 to len(chaine_crc) icrc=icrc+asc(mid(chaine_crc,i,1)) next icrc=(icrc and 63) + 32 ' sum = sum & 0x3F + 0x20 crc= chr(10) & chaine_crc & " " & chr(icrc) & chr(13) ' le blanc avant le CRC ne fait pas partie du calcul du CRC end function
  • Commande de board

    43
    43 Posts
    26k Views
    D
    Bonjour, Je serais aussi intéressé pour une commande pour une carte complète. Merci de m'indiquer si c'est encore possible. Sinon, j'essayerai de me débrouiller seul, mais ca ne sera pas aussi propre ! A+
  • Clé API Jeedom trop longue

    4
    4 Posts
    5k Views
    M
    Bonjour, J'ai aussi un problème de clé API jeedom qui est trop longue, je voudrais savoir si la modif pour WIFIinfo fonctionne pour remora? J'ai modifié les fichiers config.h et index.htm.gz pour mettre 48 au lieu de 32, mais sur l'interface web j'ai une erreur "412 precondition failed" quand j'essaye de modifier une valeur. Si quelqu'un peut m'aider ça serait cool. Merci
  • Fonction Readconfig et check CRC ?

    2
    2 Posts
    1k Views
    M
    On ne teste pas ici le crc de chaque variable de config, mais le crc de toute la structure. Mes cours sur le CRC sont loin, mais ce qui est fait ici, c'est un calcul de crc sur chaque valeur de la config (et non sur l'objet "config"), qui contient elle-même une "sauvegarde" du crc. On fait donc un calcul de crc sur l'ensemble "config.* + config.crc", donc le résultat du modulo devrait être 0. Si le crc déjà calculé lors de la sauvegarde n'était pas stocké dans l'objet config, ça ne fonctionnerait pas pareil et on ferait une comparaison config.crc et crc. Par contre, l'extrait de code à été simplifié ? Parce que je n'y vois pas l'initialisation de crc avant la boucle. Sinon, pour simplifier la compréhension, le code dans la boucle aurait pu resembler à ça: ancienCRC = crc; crc = crc16Update(ancienCRC, data);
  • Wifinfo pour les nuls :-)

    parametrage point accès wif wifinfo
    61
    61 Posts
    42k Views
    P
    Bonjour à tous, je n'ai malheureusement pas beaucoup de temps pour exploiter la carte wifinfo... j'ai réussi à faire des graphiques sous emoncms, mais je ne suis pas complètement satisfait. Est-ce qu'il y a la possibilité de télécharger les données en CVS (je ne trouve que du copié-collé de cvs...). Sinon, est-ce que l'un d'entre vous a crée une sorte d'exécutable pour voir les données. encore merci pour vos aides qui m'ont permis d'arriver jusqu'à exploiter les données
  • Wifinfo + Jeedom

    10
    10 Posts
    5k Views
    S
    Bonjour à tous, Mode Boulet [ON] Je cherche désespérément comment récupérer les infos reçues par mon wifinfo dans Jeedom... :$ Une âme charitable accepterait-elle de m'aiguiller ? Merci d'avance, SP
  • [Wifinfo] Valeurs erronées après quelques temps

    api teleinfo json
    24
    24 Posts
    37k Views
    M
    @Charles Je viens de recompiler avec la nouvelle version de la librairie (vraiment une bonne idée l'OTA via l'interface). Je regarde sur quelques jours.
  • mise en oeuvre de WifInfo

    64
    64 Posts
    52k Views
    R
    @Charles Fing, c'est exactement ce que j'ai utilisé. Thks
  • Panne du module Wiinfo

    wifinfo
    13
    13 Posts
    6k Views
    CharlesC
    pas de soucis, passes en chat pour mes coordonées
  • probleme de retour de données.

    4
    4 Posts
    5k Views
    D
    merci. ok je teste ca et te fait un retour au plus vite.
  • Ajout de l'export XML et brut

    3
    3 Posts
    2k Views
    M
    ce n'était pas une grosse modif, j'ai copié la fonction d'export json. j'ajoute une autre modif, puisque j'ai résolu mon soucis avec mon capteur DHT11 (je déclarais une variable pour la broche utilisée, mais en fait, je ne m'étais pas rendu compte que j'appelais la fonction avec un numéro "en dur"). Pour ajouter température et humidité, j'utilise les librairies d'Adafruit ("Adafruit DHT unified" et "DHT sensor library"): dans le fichier wifinfo.ino, du coté des déclarations de variables: #include <DHT.h> DHT dht(14, DHT11, 15); dans "UpdateSysinfo", la lecture de la sonde (avec 2 essais en cas de non réponse) int retry = 0; float h = dht.readHumidity(); while (isnan(h) && (retry <2)) { delay(500); h = dht.readHumidity(); retry++; } sprintf( buff, "%f", h); sysinfo.humidity = h; float t = dht.readTemperature(); retry = 0; while (isnan(t) && (retry <2)) { delay(500); t = dht.readTemperature(); retry++; } sprintf( buff, "%f C", t); sysinfo.temperature = t; Pour stocker les données, modif de la structure dans wifinfo.h: // sysinfo informations typedef struct { String sys_uptime; String temperature; String humidity; } _sysinfo; Dans webserver.cpp, modif de la sortie des infos "getSysJSONData" response += "{\"na\":\"Uptime\",\"va\":\""; response += sysinfo.sys_uptime; response += "\"},\r\n"; response += "{\"na\":\"Temperature\",\"va\":\""; response += sysinfo.temperature ; response += " °C\"},\r\n"; response += "{\"na\":\"Humidity\",\"va\":\""; response += sysinfo.humidity ; response += " %\"},\r\n"; j'exporte aussi ces données dans les exports json, xml et raw, dans leurs fonctions respective: void sendJSON(void) { ValueList * me = tinfo.getList(); String response = ""; // Got at least one ? if (me) { // Json start response += FPSTR(FP_JSON_START); response += F("\"_UPTIME\":"); response += seconds; response += F(",\"_TEMPERATURE\":"); response += sysinfo.temperature; response += F(",\"_HUMIDITY\":"); response += sysinfo.humidity; (...) } void sendXML(void) { ValueList * me = tinfo.getList(); String response = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<data>\r\n"; // Got at least one ? if (me) { // Json start response += F("<_UPTIME>"); response += seconds; response += F("</_UPTIME>\r\n"); response += F("<T>"); response += sysinfo.temperature; response += F("</T>\r\n"); response += F("<H>"); response += sysinfo.humidity; response += F("</H>\r\n"); (...) } void sendRAW(void) { ValueList * me = tinfo.getList(); String response = ""; // Got at least one ? if (me) { // Json start response += F("UPTIME "); response += seconds; response += F(" #\r\n"); response += F("T "); response += sysinfo.temperature; response += F(" #\r\n"); response += F("H "); response += sysinfo.humidity; response += F(" #\r\n"); (...) } Selon la broche utilisée pour votre DHT11, changez la ligne DHT dht(14, DHT11, 15); J'utilise la GPIO14 (D5), car sur mon nodeMCU, on a cote à cote 3V-GND-D5, ce qui correspond à l'ordre des broches de mon capteur. [image: dht11_temperature_and_humidity_sensor.jpg] Attention si vous utilisez ce capteur: [image: Temperature%20and%20Humidity%20Sensor%20DHT11.JPG] L'ordre des broches est différent. Si vous utilisez un DHT22, ça marche aussi, il suffit de remplacer DHT11 par DHT22. Le 3ème paramètre (15) n'est normalement plus utilisé sur les versions récente de la librairie. Il permet d'ajuster la vitesse de lecture à la vitesse du CPU. C'est maintenant automatique.
  • Changement de parametres dans l'interface web non pris en compte

    wifinfo
    8
    8 Posts
    4k Views
    W
    Merci @Charles et @RedoX, J'arrive bien à me connecter à mon Wifi
  • Questions sur la mise à jour du WifInfo

    upload esp8266 update
    32
    32 Posts
    52k Views
    A
    Ok Deennoo, je regarderais ce week-end si je trouve mon bonheur. Bon j'avance du le deepSleep, il est fonctionnel,mais il ne faut pas oublier de relier la GPIO16 à la broche Reset, si non il reste tout le temps en mode sleep. voici la partie de code pour le deepSleep : WiFi.disconnect(); ESP.deepSleep(SLEEP_DELAY_IN_SECONDS * 1000000, WAKE_NO_RFCAL); delay(500); Juste un petit soucis, comme je veux utiliser le possibilité de faire la mise à jour par OTA, je cherche comment lui dire lors d'un reset du module d'attendre 30 secondes avant de passer en mode deepSleep. Car à chaque réveil du mode deepSleep, et bien le programme recommence tout à zéro. Je cherche, car je dois pas être le seul face à ce problème...
  • Plus d'informations sur WifInfo

    wifi teleinfo web
    4
    4 Posts
    3k Views
    S
    cool, ouais je sais pour ma culture ça me ferait pas de mal bootstrap. Mais pour mon site web je vais essayer de faire le plus léger possible (HTML/css uniquement si je peux). Knacss c'est un micro framework css léger vraiment pratique et bien pensé, tu verras..j'aime bien Alsacréations pour le webdesign.. http://knacss.com/ avec brackets+qq extensions ça déboite bien je trouve

7

Online

5.7k

Users

534

Topics

5.0k

Posts

Top Topics

Popular Tags