telemetry
Quoi de neuf

Fhem

  • Forum Electricité - Domotique
  • Auteur du sujet Auteur du sujet jcoenen
  • Date de début Date de début
  • #461
Au prix du rpi aujourd’hui, pas forcément mais un peu quand même à mon avis

Juste si on veut utiliser un Rpi 4 ou 3B+, mais dans le cas présent il n'y a pas besoin de cette puissance là, avec un Pi Zero W il y a largement de quoi faire, avec un Zero aussi i mais le reseau n'est pas intégré et donc le dongle wifi va plomber le prix. Un Pi Zero W coûte 16,95 € et le nouveau 2W est à 17,95, 4€ de boitier plus le câble et la carte SD on tourne dans les 25€ ce qui n'est pa trop mal. En plus les Rpi de première ou 2ème génération qui trainent dans les tiroirs sont en train de prendre la poussière et sont gratuit alors tant qu'a faire.


https://www.amazon.nl/Moxa-40145M-MOXA-NPort-5110/dp/B00ENSYLGE/ref=asc_df_B00ENSYLGE

Il y a pas mal de modèle en fonction de ce qu'on souhaite

Il y a aussi Lantronix qui fait ce genre de module

Par contre clairement l'esp a un prix imbatable ;)

Oui c'est du pro et donc plus résilient mais les deux font 230 € et je doute qu'on puisse trouver de semi pro a moins de 50 € pièce.

Les modules Wiznet font pareil mais sont plus abordable pour les bricolos (la configuration Wlan et port série, n'est pas super pratique, mais on y arrive facilement quant même).

J'aime bien l'idée du ESP32 car on peut aussi le programmer comme lecteur autonome du port P1 et refourger les données via mqtt a qui cela intéresse.

Toutes les solution se valent tant qu'elle fonctionnent hein ?
 
  • #462
Toutes les solution se valent tant qu'elle fonctionnent hein ?
oui et non

Perso si je ne dois rien maintenir je suis d'accord de payer un peu plus ;)

Mais tout à fait d'accord, il faut comparer le rapport coût et gain/bénéfice

dans ce cas ci, ma proposition est clairement overkill
 
  • #463
Si je mets un vieux Pi avec FHEM, je pourrai lire les données depuis mon autre FHEM, via FHEM2FHEM ?

Pourrais-je rapatrier ces données automatiquement, pour tout avoir sur mon Pi principal ?
 
  • #464
fhem2fhem permet de « pousser » les données d’un pi à l’autre donc pas de problèmes avec le compteur car il est en lecture seule et donc le FHEM maître ne commandera jamais le compteur (je vais quant même vérifier sur la doc du module). Ce ne serait pas la même chose si le maître devait commander le compteur.
 
  • #465
Configuration de la solution (vieux) raspberry (plein de poussière) en serveur IP/Série

Compteur --- série --- /dev/ttyUSB0 [raspberry RPi] --< ethernet

RPi doit tourner ser2net (sudo apt-get install ser2net) en configurant /etc/ser2net.conf (changer le port en fonction d'où est connecté le P1, je l'ai supposé sur USB0) avec

3333:raw:0:/dev/ttyUSB0:115200 8DATABITS NONE 1STOPBIT

Serveur IP sur port 3333 de RPi vers le port /dev/ttyUSB0 en 115200 Bauds

Ensuite sur le système FHEM
lancer
socat PTY,mode=666, link=/tmp/ttyCOMPTEUR tcp4-connect:RPi:3333

Remplacer
RPi par l'adresse IP du (vieux) raspberry (sans la poussière)
Donc Connect en TCP 4 sur port 3333 de la machine RPi et branche le port virtual /tmp/ttyCONNECT

configuration FHEM



  • define monCompteur SmartMeterP1 /tmp/ttyCOMPTEUR
N'ayant pas de compteur intelligent, je ne peux pas tester, mais a vue de pif ca devrait le faire.

 
Dernière édition:
  • #466
C'est lent, un Pi 1B+ (512MB ram quand même).

J'ai d'abord essayé de mettre Berryboot sur mon vieux Pi, mais ça ne fonctionne plus, les sources n'ont plus été mises à jour et on ne peut pas télécharger Raspbian. Apparemment, Berryboot est seulement mis à jour pour les Pi3 et plus récents (j'ai installé le mois dernier un Pi4 avec Berryboot sans problème - oui, je suis FAN des iSCSI target pour les Pis).

Maintenant, j'ai Bullseye sur le Pi, qui a ser2net en v4.3.3, qui utilise un nouveau format compatible avec gensio. Donc ton tuto ci-dessus n'est en fait plus valable côté vieux Pi.

Je vais investiguer - merci quand même !
 
  • #467
ici ser2net tourne sur un rpi model B rev 2

cat /proc/device-tree/model

cat /etc/os-release

debían stretch

Je pourrais faire une image de la carte …

Bulleyes ah bon nouvelle version de debían, moi pas savoir, je vais chercher un carte sd pour essayer ça.
 
Dernière édition:
  • #468
Bullseyes en téléchargement.

C'est lent, un Pi 1B+ (512MB ram quand même).
Maintenant, j'ai Bullseye sur le Pi, qui a ser2net en v4.3.3, qui utilise un nouveau format compatible avec gensio. Donc ton tuto ci-dessus n'est en fait plus valable côté vieux Pi.

Je ne comprend pas si le vieux pi est actif avec bullseyes ou si c'est le côté FHEM ?
Si le vieux peut tourner Bullseyes alors la procédure est valable ser2net a part peut être l'une ou l'autre option de ser2net.

Voici toutes les info sur mon RPi B sur lequel j'ai pu installer stretch (qui doit encore être téléchargeble sur internet)

cat /proc/device-tree/model

Raspberry Pi Model B Rev 2pi@rasprf2:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs

pi@rasprf2:~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2835
Revision : 000d
Serial : 00000000439873d6
 
  • #470
C'est le vieux Pi qui a Bullseyes. Je dois regarder pour ser2net, comment gérer les nouvelles options et faire quelques tests. Au pire, j'installerai Stretch...
 
  • #471
j’ai téléchargé bullseyes il me reste a l’installer sur une SD. Et je pourrai voir ce qu’il y a lieu de faire
 
  • #472
Mon vieux Pi:

Raspberry Pi Model B Rev 2

$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2835
Revision : 000e
Serial : 00000000d24c3088
Model : Raspberry Pi Model B Rev 2

On a pratiquement le même, à une révision près !!
 
  • #473
C’est dans les vieilles casseroles … bon dans ce cas il n’y a plus qu’à installer Bullseyes
 
  • #474
Bon voila l'affaire sur un autre de mes vieux raspberry poussiéreux et qui est de la même révision ;)

pi@raspone:~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2835
Revision : 000e
Serial : 00000000e8aed9e9
Model : Raspberry Pi Model B Rev 2
pi@raspone:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Je vois le problème avec ser2net ils sont passé en yaml pour le fichier de config.

Je vais configurer avec un ESP sur un des ports USB et voir ce que ca donne a partir d'IDE distant.

Grrrr, j'avais oublié que l'IDE Arduino utilise les contrôles des ports tty (setstty) et ca ne fonctionne pas avec des ports virtuels.
 
Dernière édition:
  • #475
Résultat des courses:

Setup:

RPI B rev 2 avec Bullseyes et set2net avec un 8266 sur un port USB (ttyUSB0), IP 192.168.1.192

tempImageyzwreT.png


/etc/ser2net.yaml

admin:
accepter: 3210

connection: &con3333
accepter: tcp,3333
enable: on
connector: serialdev,
/dev/ttyUSB0,
115200n81, local

C'est tout.

Sur la machine distante:
lancer un socat vers la machine ser2net et le port IP correspondant au port USB qu'on veut voir.

sudo socat PTY,mode=666,link=/dev/ttyUSB4 tcp-connect:"192.168.1.192:3333"


Et ensuite par exemple voir les messages reçu a l'autre bout par le lien série

cat < /dev/ttyUSB4

Voir la capture d'écran.

Dans mon cas le 8266 tourne une application qui est connectée en mqtt avec 3 LED et une sonde de température, quand je commande une LED j'ai un message sur le le port série (on/off) et une lecture de la sonde de température. Donc a priori ça fonctionne assez facilement.

Capture d’écran 2022-01-26 à 12.10.52.png
 
  • #476
Je teste ça dès que j'ai le temps !
 
  • #478
Bon, j'ai fait tout le setup hardware, je suis prêt.

Je suis ton tuto ci-dessus:

upload_2022-1-29_16-55-57.png


J'ai fait un systemctl restart ser2net après modif du fichier yaml.

C'est le bon USB, côté serveur (vieux Pi), ça a l'air OK.

Et ser2net a l'air de tourner:
upload_2022-1-29_17-5-36.png


Côté Pi FHEM: connection refused:

upload_2022-1-29_16-57-4.png


Même chose avec les guillemets:
upload_2022-1-29_16-58-27.png


Le .56, c'est le vieux, qui est connecté au compteur électrique, qui tourne ser2net.

Que manque-je ?
 
  • #479
J'ai eu ça aussi.

Ca arrive quand le port n'est pas connecté et donc pas de service sur le port 3333

Le port 3210 est le port d'administration pour aller voir ce qui se passe avec telnet.

Alors aller avec telnet sur le port admin, en rouge la commande a envoyer pour vérifier que le service est bien activé (showport, pour voir les commandes -> help), si pas visible alors pas de service sur le port 3333 et socat ne peut pas le connecter.

telnet 172.19.3.56 3210

Escape character is '^]'.
-> showport
showport
port: con3333
accepter: tcp,3333
enable state: on
timeout: 0
device: serialdev, /dev/ttyUSB0, 115200n81, local
device config: 115200N81,CLOCAL
tcp to device state: unconnected
device to tcp state: unconnected
bytes read from device: 0
bytes written to device: 0

->

Si pas de port con3333 essayes de reloaded la config

reload

il devrait afficher les erreurs dans le fichier de config s'il y en a.

Par exemple
-> reload
reload
error: yaml parsing error at line 22 column 4: could not find expected ':'
error: reload error - Invalid argument
->

Je n'ai pas de <tab> dans le fichier yawl mais des espaces (les tab sont interdits)

reload
error: yaml parsing error at line 32 column 0: found a tab character that violate indentation
error: reload error - Invalid argument
 
Dernière édition:
  • #480
(les tab sont interdits)
OK, déjà un premier problème résolu, je les ai remplacés par des espaces.

-> showport
port: con3333
accepter: tcp,3333
enable state: on
timeout: 0
device: serialdev,/dev/ttyUSB0,115200n81, local
device config: 115200N81,CLOCAL
tcp to device state: unconnected
device to tcp state: unconnected
bytes read from device: 0
bytes written to device: 0

Tout a l'air bon

Le reload me donne:
-> reload
error: reload done

Pas sûr si c'est bon ou pas...

Côté Pi FHEM: le socat ne rend pas la main, donc autre fenêtre Putty pour:

cat < /dev/ttyUSB4

qui ne donne rien. Pas d'erreur, donc le device existe, mais il ne renvoie rien. Bizarre.

Je sens que je suis tout proche :)
 

Sujet semblables

Réponses
5
Affichages
3K
@lex
Réponses
21
Affichages
3K
RobBZ
Réponses
2K
Affichages
208K
jcoenen
Réponses
3
Affichages
7K
pidgin

Nos articles

On a aimé dans le forum

Retour
Haut