Récupération des données dans l'app Blynk
- Defaliz
- Auteur du sujet
- Hors Ligne
- Membre platinium
Réduire
Plus d'informations
- Messages : 350
- Remerciements reçus 21
24 Aoû 2022 16:41 #1
par Defaliz
Récupération des données dans l'app Blynk a été créé 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..
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.
- felvic
- Hors Ligne
- Administrateur
Réduire
Plus d'informations
- Messages : 1794
- Remerciements reçus 132
24 Aoû 2022 16:55 #2
par felvic
Avec Linux vous avez un noyau, avec Windows vous avez des pépins...
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...
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.
- Defaliz
- Auteur du sujet
- Hors Ligne
- Membre platinium
Réduire
Plus d'informations
- Messages : 350
- Remerciements reçus 21
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.
- francois1969
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 73
- Remerciements reçus 1
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
cela m interesse merci
Connexion ou Créer un compte pour participer à la conversation.
- Defaliz
- Auteur du sujet
- Hors Ligne
- Membre platinium
Réduire
Plus d'informations
- Messages : 350
- Remerciements reçus 21
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)
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.
- chironsylvain
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
13 Oct 2022 09:31 #6
par chironsylvain
Preneur aussi d' un petit tuto pour noob
Merci d' avance.
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
Merci d' avance.
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- MSun-PV
- Vos installations
- Récupération des données dans l'app Blynk