Récupération des données dans l'app Blynk

Plus d'informations
24 Aoû 2022 16:41 #1 par Defaliz
bonjour,
si vous ne connaissez Blynk je vous conseille d'aller y jeter un oeil..
blynk.io/
avec son application pour smartphone elle permet de faire remonter toutes sortes de données...
le principe est le suivant :
on récupère les données des microcontrolleurs, routeurs solaires, sondes.. via un script
on envoie les données sur un serveur en ligne Blynk ou mieux on monte un serveur local (raspberry chez moi)
et avec son smartphone on crée son application permettant l'affichage des données stockées sur le serveur Blynk..
j'ai donc récupéré les infos du Msun, sur la copie d'écran les courbes sont plates car je viens de le lancer.. de plus mes panneaux sont débranchés, d'où le 0 en prod PV..
si certains sont intéressés je peux vous transmettre le code python..
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
24 Aoû 2022 16:55 #2 par felvic
Réponse de felvic sur le sujet Récupération des données dans l'app Blynk
Hello,

On peut se connecter à l'interface graphique du M'SunPV à distance ( donc sur un smartphone ).

Je vais faire un tuto là-dessus...

Avec Linux vous avez un noyau, avec Windows vous avez des pépins...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
24 Aoû 2022 16:59 #3 par Defaliz
Réponse de Defaliz sur le sujet Récupération des données dans l'app Blynk
bien sûr, mais l'appli blynk est vraiment développée pour ça.. personnellement ça me permet de regrouper toutes mes données venant de plateformes distinctes sur une même interface..

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
20 Sep 2022 21:09 #4 par francois1969
Réponse de francois1969 sur le sujet Récupération des données dans l'app Blynk
Bonjour avez vous realisé un tuto
cela m interesse merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
21 Sep 2022 08:30 #5 par Defaliz
Réponse de Defaliz sur le sujet Récupération des données dans l'app Blynk
bonjour, je n'ai pas réalisé de tuto mais je mets ici le code et quelques rappels..
blynk est une appli pour smartphone permettant de récupérer des infos : valeurs, états de boutons, affichage de graphes...
le fonctionnement est le suivant :
un script python envoie les données sur un serveur blynk, l'appli smartphone récupère les données et les affiche.
le serveur peut être dans le cloud blynk.io/, mais c'est assez limité aux niveau des widgets (élements d'affichage)
le mieux est de monter son propre serveur blynk, sur un raspberry 3 ou 4 ou bien avec sur un serveur virtuel amazon AWS (gratuit pendant 1 an)
l'installation est très simple..
voici le code, il faut installer la librairie python blynklib, il y en a plusieurs j'ai pris celle ci
github.com/vshymanskyy/blynk-library-python

je ne suis pas dev donc on peut améliorer... une fois extraites les données on peut s'en servir pour envoyer sur d'autres services (base de données influx et grafana par exemple)

import BlynkLib
import os, time
import ctypes
import xml.etree.ElementTree as ET
import urllib3

BLYNK_AUTH = 'cle blynk'
blynk = BlynkLib.Blynk(BLYNK_AUTH, server="ip Msun", port="8080")

def read_msun():
http = urllib3.PoolManager()
result = http.request('GET',"http://x.x.x.x/status.xml") # l'adresse du MsunPV
tree = ET.ElementTree(ET.fromstring(result.data))
root = tree.getroot()

#on recupere les infos des consos/prod
for x in root.findall('inAns'):
vals_txt=x.text

valeurs=vals_txt.split(';')
#temp sonde 1
temp_bal = float(valeurs[5].replace(",","."))
#pow_reso
conso_enedis = valeurs[0]
conso_enedis = conso_enedis.replace(",",".")
#pow panneau
prod_pv = valeurs[1]
prod_pv = prod_pv.replace(",",".")

#on recupere les infos des compteurs
for x in root.findall('cptVals'):
vals_txt=x.text

compteurs=vals_txt.split(';')

conso_jour = compteurs[0]
conso_jour = '0x' + conso_jour
conso_jour = int(conso_jour,16) & 0xFFFFFFFF
conso_jour = ctypes.c_long(conso_jour).value
conso_jour = float(conso_jour)/10

inj_PV = '0x' + compteurs[1]
inj_PV = int(inj_PV,16) & 0xFFFFFFFF
inj_PV = ctypes.c_long(inj_PV).value
inj_PV = float(inj_PV)/10

inj_PV_jour = '0x' + compteurs[2]
inj_PV_jour = int(inj_PV_jour,16) & 0xFFFFFFFF
inj_PV_jour = ctypes.c_long(inj_PV_jour).value
inj_PV_jour = float(inj_PV_jour)/10

inj_totale = '0x' + compteurs[3]
inj_totale = int(inj_totale,16) & 0xFFFFFFFF
inj_totale = ctypes.c_long(inj_totale).value
inj_totale = float(inj_totale)/10

# on envoie les info sur le serveur blynk

blynk.virtual_write(0, conso_enedis)
blynk.virtual_write(1, prod_pv)
blynk.virtual_write(2, conso_jour)
blynk.virtual_write(3, inj_PV)
blynk.virtual_write(4, inj_PV_jour)
blynk.virtual_write(5, inj_totale)
blynk.virtual_write(6, float(temp_bal))
while True:
read_msun()
time.sleep(3)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Oct 2022 09:31 #6 par chironsylvain
Réponse de chironsylvain sur le sujet Récupération des données dans l'app Blynk

Hello,

On peut se connecter à l'interface graphique du M'SunPV à distance ( donc sur un smartphone ).

Je vais faire un tuto là-dessus...

Preneur aussi d' un petit tuto pour noob :dry:
Merci d' avance.

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena