Faire un afficheur déporté
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
J'aurais souhaité mettre un ESP32 avec un afficheur e-paper qui affiche la production PV, la conso cumulus et la conso ou injection EDF.
Est-il possible de récupérer ces infos sur le MSunPV et permettre ainsi un affichage facile ?
Connexion ou Créer un compte pour participer à la conversation.
- Defaliz
- Hors Ligne
- Membre platinium
- Messages : 348
- Remerciements reçus 21
sans problème avec une requete curl ou wget sur l'url http://ip_du_msun/status.xml")
j'ai écrit en script en python pour utiliser avec l'appli de smartphone blynk ici :
ard-tek.com/index.php/forum/vos-installa...ans-l-app-blynk#4685
bonne journée
Connexion ou Créer un compte pour participer à la conversation.
- syl2222fr
- Hors Ligne
- Membre elite
- Messages : 204
- Remerciements reçus 16
Je fais déjà ça sur mon ecojoko Home-Made avec un raspberry (script en bash tout simple , led , ecran oled et sg90), mais, curieux de nature, et n'y connaissant rien en esp , ça m’intéresse :=)
Edit:
Pense-bête =>
Le github de baroudeur:
github.com/JJHontebeyrie/Companion
Github rempli d'exemples pour faire des tests quand on a des soucis (ecran noir par exemple):
github.com/teastainGit/LilyGO-T-display-S3-setup-and-examples
Les versions custom:
ard-tek.com/index.php/forum/vos-installa...cheur-deporte-custom
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
Drapal
Je fais déjà ça sur mon ecojoko Home-Made avec un raspberry (script en bash tout simple , led , ecran oled et sg90), mais, curieux de nature, et n'y connaissant rien en esp , ça m’intéresse :=)
Par contre ta solution avec le Raspi m’intéresse aussi
Connexion ou Créer un compte pour participer à la conversation.
- xavax
- Hors Ligne
- Membre premium
- Messages : 127
- Remerciements reçus 1
J’avais vu le led smart messager mais après faut voir comment faire arriver les données dessus
Connexion ou Créer un compte pour participer à la conversation.
- syl2222fr
- Hors Ligne
- Membre elite
- Messages : 204
- Remerciements reçus 16
Alors , sur raspberry :
Pour la partie gestion oled, j'ai récupéré ce dépot github :
github.com/nopnop2002/Raspberry-ssd1306
Ca permet de piloter, en bash, un écran oled.
Au niveau du code , ci-dessous quelques explications
J'ai un oled sur lequel j'affiche :
Conso/injection Enedis,
Generation Solaire
routage vers chaque sortie
adresse ip
J'ai 2 sg90 :
Un premier me montre ma conso (entre 0 et 6000w)
Le second me montre ce que je génére (ente 0 et 2920w)
3 led:
Rouge= je récupére depuis le réseau enedis
Vert = je génére depuis les panneaux
Bleu= J'injecte vers enedis
Toutes les infos brut sont récupérées depuis ma domotique qui, elle-même récupére depuis le routeur (curl http://xxxx/status.xml )
Le code est pas propre, mais, étant donné que je suis nul en python , c'est mieux que rien
#/bin/bash
#Init Gpio for motor and initial position
gpio -g mode 19 pwm
gpio -g mode 12 pwm
gpio pwm-ms
gpio pwmc 192
gpio pwmr 2000
#At startup , put sg90 at initial value
#sg can go from 250 (left) to 50 (right)
gpio -g pwm 19 150
gpio -g pwm 12 150
oldvaluepwm=150
oldvaluepwmsun=150
#Init Leds
#Led rouge
echo 4 > /sys/class/gpio/export
#Led verte
echo 17 > /sys/class/gpio/export
#Led bleue
echo 27 > /sys/class/gpio/export
sleep 1
echo out > /sys/class/gpio/gpio17/direction
echo out > /sys/class/gpio/gpio4/direction
echo out > /sys/class/gpio/gpio27/direction
#Init Oled
sudo /home/pi/tests/oled3c r
#sudo /home/pi/tests/oled3d r
#Init few variables
sun=300
valuetempoenedis=300
##############################################################################
#Get ip address and show it
sudo /home/pi/tests/oled3c +4 "$(ip a l | grep 192.168 | cut -d ' ' -f6)"
###################################
while true
do
tempo=$(curl -s http://xxxx/conso.html )
#The curl point to my local http serveur where values are in this form
#500;0;0;0 (enedis in/out; solar generated;routage 1; routage2
valueenedis=$(echo $tempo | cut -d ';' -f1)
valuesun=$(echo $tempo | cut -d ';' -f2)
routage=$(echo $tempo | cut -d ';' -f3-4)
##############
##Led color ##
##############
###########
#Red when Enedis >0
##########
if [ "$valueenedis" -gt 1 ]
then
echo 1 > /sys/class/gpio/gpio4/value
else
echo 0 > /sys/class/gpio/gpio4/value
fi
###########
#Greeen when valuesun >1
###########
if [ "$valuesun" -gt 1 ]
then
echo 1 > /sys/class/gpio/gpio17/value
else
echo 0 > /sys/class/gpio/gpio17/value
fi
##########
# Blue when inject to enedis
###########
if [ "$valueenedis" -lt 0 ]
then
echo 1 > /sys/class/gpio/gpio27/value
else
echo 0 > /sys/class/gpio/gpio27/value
fi
###############
##OLED ###
###############
###
# Affichage oled enedis quand il change
####
if [ "$valueenedis" != "$valueendistempo" ]; then
valueendistempo=$valueenedis
sudo /home/pi/tests/oled3c +2 "C.Rsx(Va):$valueenedis"
sudo /home/pi/tests/oled3c s
fi
###
# Affichage oled sun et routage quand il change
####
if [ "$valuesun" != "$sun" ]; then
sun=$valuesun
sudo /home/pi/tests/oled3c +1 "P.Sol(Va):$valuesun"
sudo /home/pi/tests/oled3c +3 "Rout(%):$routage"
sudo /home/pi/tests/oled3c +4 "$(ip a l | grep 192.168 | cut -d ' ' -f6)"
sudo /home/pi/tests/oled3c s
fi
####################
##### Motor ####
####################
###Boucle Enedis
if [ "$valueenedis" != "$oldvalueenedis" ]; then
#Calcul pwm . Middle pwm = 150 , min =250 , max =50
#250 = 0 W consomme enedis
#50=6000W aspire
# soit 200 points pour 6000 w. chaque point fais donc 30w
#In case inject to enedis, lets say than valueenedis equal 0 otherwise sg90 become broken
if [ "$valueenedis" -lt 1 ]; then
valueenedis=0
fi
newvaluepwm=$(echo "250-($valueenedis/30)" |bc)
#if old greater than new
while [ "$oldvaluepwm" -gt "$newvaluepwm" ]
do
gpio -g pwm 19 $oldvaluepwm
oldvaluepwm=$((oldvaluepwm-1))
sleep 0.2
done
#if old lower than new
while [ "$oldvaluepwm" -lt "$newvaluepwm" ]
do
gpio -g pwm 19 $oldvaluepwm
oldvaluepwm=$((oldvaluepwm+1))
sleep 0.2
done
#Fin de boucle . On remets a jour la variable
oldvalueenedis=$valueenedis
fi
###Boucle Sun
if [ "$valuesun" != "$oldvaluesun" ]; then
#Calcul pwm . Middle pwm = 150 , min =50 , max =250
#250 = 2950 W produis panneaux
#50=0W panneaux
# soit 200 points pour 2950 w. chaque point fais donc 14w
newvaluepwmsun=$(echo "50+($valuesun/14)" |bc)
#if old greater than new
while [ "$oldvaluepwmsun" -gt "$newvaluepwmsun" ]
do
gpio -g pwm 12 $oldvaluepwmsun
oldvaluepwmsun=$((oldvaluepwmsun-1))
sleep 0.2
done
#if old lower than new
while [ "$oldvaluepwmsun" -lt "$newvaluepwmsun" ]
do
gpio -g pwm 12 $oldvaluepwmsun
oldvaluepwmsun=$((oldvaluepwmsun+1))
sleep 0.2
done
#Fin de boucle . On remets a jour la variable
oldvaluesun=$valuesun
fi
sleep 5
done
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
Connexion ou Créer un compte pour participer à la conversation.
- syl2222fr
- Hors Ligne
- Membre elite
- Messages : 204
- Remerciements reçus 16
Recto:
ibb.co/44dRPNY
Verso:
ibb.co/LYCHB4k
Et, si quelqu'un veut essayer, voici ce que j'ai tapé sur un raspbian tout neuf (certaines commandes servent certainement à rien, mais, bon, ça marche):
nano /boot/config.txt .
Rajouter à la fin:
dtoverlay=pwm-2chan
Sudo raspi-config : enable i2c
sudo apt install git bc i2c-tools
wget project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
mkdir tests
mkdir tests/fontx
git clone github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
i2cdetect -y 1
Récupérer l'adresse de l'écran et modifier si nécessaire le fichier oled.c (adresse par défaut 3c dans le fichier)
J'ai un écran i2c 128*64 , du coup:
cc -o oled3c oled.c fontx.c -lwiringPi -lpthread -DI2C
cp fontx/* ../tests/fontx/
cp oled3c ../tests
cd ..
rm -fr Raspberry-ssd1306
cd tests
nano afficheur.sh
(copier/coller le code, changez l'url dans le code + save et exit)
chmod +x afficheur.sh
./afficheur.sh &
optionnel: crontab -e : @reboot bash /home/pi/tests/afficheur.sh
Et, normalement ça marche . Y'a certainement des trucs faux, vu que j'écris tout ça sans être devant le rasp.
Au niveau du cablage : les leds sont sur les gpio 4,17,27 , l'ecran sur le bus i2c, les sg90 sur les gpio 12 et 19
Je rajoute un SOS : J'ai bricolé ça sur un reveil , car, j'y connais fichtrement rien en conception 3D/imprimante 3D.
Si quelqu'un est trés doué et est capable de nous faire une jolie boite, je serais preneur du fichier pour le faire imprimer par un pro
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
j'ai des problèmes pour récupérer les données du routeur sous Arduino, faut que je creuse
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
Sur ce circuit des boutons en façade sont dispos, ils permettent d'afficher de façon cyclique le détail, le cumul des consos et production et la dépendance énergétique.
Encore en stade de développement, je vous donnerai tous les détails dès que tout sera optimisé.
Le voyant permet de savoir si on peut mettre une machine en marche ou pas pour ne pas gréver la facture.
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Sarthe Vador
- Hors Ligne
- Membre premium
- Messages : 143
- Remerciements reçus 4
Connexion ou Créer un compte pour participer à la conversation.
- xavax
- Hors Ligne
- Membre premium
- Messages : 127
- Remerciements reçus 1
Connexion ou Créer un compte pour participer à la conversation.
- felvic
- Hors Ligne
- Administrateur
- Messages : 1785
- Remerciements reçus 132
Mais une petite tablette ou un smartphone Android avec l'interface du routeur ?
Avec Linux vous avez un noyau, avec Windows vous avez des pépins...
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Auteur du sujet
- Hors Ligne
- Membre elite
1 - Affichage très lent sur une tablette, il est beaucoup plus rapide sur un ordi connecté filaire.
2- Nécessité d'afficher juste quelques infos. il faut que ma femme sache si elle peut lancer une machine en jetant un simple coup d’œil
Après ce module est tout petit, on peut le positionner n'importe où et le voyant donne une info immédiate:
- vert : on lance sans réfléchir, le système réinjecte
- bleu : ça fourni mais bof, ça dépend de la puissance de la machine qu'on veut lancer
- rouge : on consomme déjà trop !
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- MSun-PV
- Vos installations
- Faire un afficheur déporté