Consulta Busco un contador del consumo de energía eléctrica para discriminación horaria

Cuando entro el comando ./read_energy_meter.py no hay respuesta.
1617527157478.png
 
Pues siento decirte que eso está bien, significa que está funcionando sin problemas. :emoji_grinning:

Si quieres ver que es lo que está haciendo, tienes que añadir "--log DEBUG" al comando (si pones " --help" te dice los argumentos que puedes añadir)

Por ejemplo, si pruebas "./read_energy_meter.py --interval 1 --log DEBUG" te hará una lectura cada segundo y te mostrará en pantalla todo lo que está haciendo (muy útil para hacer pruebas).

Revisa la base de datos (configura grafana para hacer las gráficas, o en su caso buscar y usar InfluxDBStudio-0.2.0), pero parece que ya está funcionando :emoji_clap:.
 
Última edición:
Pues siento decirte que eso está bien, significa que está funcionando sin problemas. :emoji_grinning:

Si quieres ver que es lo que está haciendo, tienes que añadir "--log DEBUG" al comando (si pones " --help" te dice los argumentos que puedes añadir)

Por ejemplo, si pruebas "./read_energy_meter.py --interval 1 --log DEBUG" te hará una lectura cada segundo y te mostrará en pantalla todo lo que está haciendo (muy útil para hacer pruebas).

Revisa la base de datos (configura grafana para hacer las gráficas, o en su caso buscar y usar InfluxDBStudio-0.2.0), pero parece que ya está funcionando :emoji_clap:.
Muchisimas gracias. No se si recuerdas de cuando aprendiste tú. Estoy abrumado por tanto desconocimiento que siento. He aplicado el mandato ./read_energy_meter.py --interval 1 --log DEBUG y ahí está generando una linea por segundo.
Ahora me queda por entender lo de configurar Grafana o usar InfluxDNStudio
Supongoque lo de Grafana son las instrucciones en "Optional, Configure Grafana to anonymous login and redirect to port 80" en GuillermoElectrico/energy-meter-logger

 
Muchisimas gracias. No se si recuerdas de cuando aprendiste tú. Estoy abrumado por tanto desconocimiento que siento. He aplicado el mandato ./read_energy_meter.py --interval 1 --log DEBUG y ahí está generando una linea por segundo.
Ahora me queda por entender lo de configurar Grafana o usar InfluxDNStudio
Supongoque lo de Grafana son las instrucciones en "Optional, Configure Grafana to anonymous login and redirect to port 80" en GuillermoElectrico/energy-meter-logger

Tranquilo, eso es normal.

Sobre lo de grafana, eso es para configurar un acceso más fácil, sin necesidad de tener que poner el puerto 3000 (recomendable hacerlo, si).

Para empezar, yo usaría un dashboard de ejemplo de la carpeta "Dashboard Grafana" cono el del SDM120 y lo adaptaría a lo que quieras (creo que sólo tienes que configurar la base de datos y poco más). Pero para eso hay muchos tutoriales/videos en internet que te pueden ayudar. Aunque no dudes en preguntarme, por si te puedo ayudar (al final de tanto probar y leer, estoy usando grafana incluso para otras cosas, es muy útil :emoji_grin: )

No dudes en jugar con grafana, no hay riesgo de romper nada, los datos de la base de datos no los vas a afectar y eso es lo importante.
 
Tranquilo, eso es normal.

Sobre lo de grafana, eso es para configurar un acceso más fácil, sin necesidad de tener que poner el puerto 3000 (recomendable hacerlo, si).

Para empezar, yo usaría un dashboard de ejemplo de la carpeta "Dashboard Grafana" cono el del SDM120 y lo adaptaría a lo que quieras (creo que sólo tienes que configurar la base de datos y poco más). Pero para eso hay muchos tutoriales/videos en internet que te pueden ayudar. Aunque no dudes en preguntarme, por si te puedo ayudar (al final de tanto probar y leer, estoy usando grafana incluso para otras cosas, es muy útil :emoji_grin: )

No dudes en jugar con grafana, no hay riesgo de romper nada, los datos de la base de datos no los vas a afectar y eso es lo importante.
He conseguido que la Raspberry Pi entrando en la ventana del Raspbian me lea los comandos comunes con el SDM230 de Tensión de red, Amperios, Hz, etc. Editándolos, tambien me lee los comandos del SDM220-MT (por cierto: hay que pasar los registros nombrados en hexadecimal a decimal para que funcione. Lo digo porque he visto que en la web decían de hexadecimal a octal y creo que es erróneo). Esa es la manera de empezar para almacenar los datos en Influx y despues hacer gráficos con Grafana. A eso no he llegado aún.
Por otro lado he instalado el Home Assistant en la Raspberry Pi y logrado que lea los datos del Efergy Engage y los del SDM220-MT.
Ahora mi prioridad es hacer llegar los datos del SDM220-MT via WiFi a la Raspberry usando un módulo con el ESP8266, el ESP-01. Lo que me ha parecido entender es que debo
conectar las salidas RS485 del SDM220-MT a un módulo convertidor a TTL que daría salidas RX, TX, GND y Vcc 5V que conectaría al ESP-01 RX ,TX ,GND más una alimentación de 3,3V.
No tengo claro como seguir una vez que pueda entrar en la Raspberry via WiFi. Veremos.
1618247272458.png
 
  • Me gusta
Reacciones: mbc
Ahora mi prioridad es hacer llegar los datos del SDM220-MT via WiFi a la Raspberry usando un módulo con el ESP8266, el ESP-01. Lo que me ha parecido entender es que debo
conectar las salidas RS485 del SDM220-MT a un módulo convertidor a TTL que daría salidas RX, TX, GND y Vcc 5V que conectaría al ESP-01 RX ,TX ,GND más una alimentación de 3,3V.
No tengo claro como seguir una vez que pueda entrar en la Raspberry via WiFi. Veremos.
1. Usa una ESP12 (más conocida en aliexpress como NodeMCU)
2. Instala ESPhome en la placa configurando los pines UART para la comunicación con el módulo.
3. HA tiene una extensión para ESPhome (no la he probado pero se que existe y es muy famosa)
4. Te recomiendo que en vez de instalar HA (como has hecho) instales hassio. Es como un envoltorio para HA que permite instalar extensiones (como la mencionada) muy facilmente.

Lo digo porque el paso 5. será probablemente instalar el addon de Node-red para que programes de forma más fácil :)
 
1. Usa una ESP12 (más conocida en aliexpress como NodeMCU)
2. Instala ESPhome en la placa configurando los pines UART para la comunicación con el módulo.
3. HA tiene una extensión para ESPhome (no la he probado pero se que existe y es muy famosa)
4. Te recomiendo que en vez de instalar HA (como has hecho) instales hassio. Es como un envoltorio para HA que permite instalar extensiones (como la mencionada) muy facilmente.

Lo digo porque el paso 5. será probablemente instalar el addon de Node-red para que programes de forma más fácil :)
Muchas gracias. He visto un ejemplo similar en
pero me preocupa que tenga poco alcance la WiFi. ¿Habría algún módulo con posibilidad de montarle antena exterior? El módulo propuesto tiene la ventaja de obviar la alimentación de 3,3V. En el vídeo alimentan el RS485-TTL con una salida de 3,3V en vez de los 5V que se suelen especificar.
 
Muchas gracias. He visto un ejemplo similar en
pero me preocupa que tenga poco alcance la WiFi. ¿Habría algún módulo con posibilidad de montarle antena exterior? El módulo propuesto tiene la ventaja de obviar la alimentación de 3,3V. En el vídeo alimentan el RS485-TTL con una salida de 3,3V en vez de los 5V que se suelen especificar.
Tienes NodeMCU con antenas externas.

Pero yo antes probaría. Porque no necesitas velocidad, con que sea fiable ya te vale.
 
He conseguido que la Raspberry Pi entrando en la ventana del Raspbian me lea los comandos comunes con el SDM230 de Tensión de red, Amperios, Hz, etc. Editándolos, tambien me lee los comandos del SDM220-MT (por cierto: hay que pasar los registros nombrados en hexadecimal a decimal para que funcione. Lo digo porque he visto que en la web decían de hexadecimal a octal y creo que es erróneo). Esa es la manera de empezar para almacenar los datos en Influx y despues hacer gráficos con Grafana. A eso no he llegado aún.
Por otro lado he instalado el Home Assistant en la Raspberry Pi y logrado que lea los datos del Efergy Engage y los del SDM220-MT.
Ahora mi prioridad es hacer llegar los datos del SDM220-MT via WiFi a la Raspberry usando un módulo con el ESP8266, el ESP-01. Lo que me ha parecido entender es que debo
conectar las salidas RS485 del SDM220-MT a un módulo convertidor a TTL que daría salidas RX, TX, GND y Vcc 5V que conectaría al ESP-01 RX ,TX ,GND más una alimentación de 3,3V.
No tengo claro como seguir una vez que pueda entrar en la Raspberry via WiFi. Veremos.
Ver el archivos adjunto 7000
Para conectar un ESP01 a una línea RS485 necesitas un MAX485 entre medias, para adaptar el serial TTL de 3.3v a la línea RS485 de 5V.

En el mismo proyecto de git, hay una carpeta con un módulo para montarse un gateway (puerta de enlace) entre Modbus TCP y Modbus RTU con un ESP01.


Por curiosidad lo monté (las placas las hice en jlcpcb) y lo tengo funcionando con un PZEM-06 en una instalación remota sin ningún problema (y además de pequeño, se alimenta del propio medidor) y usando el mismo código del proyecto a la vez para leer otro módulos RTU locales.

Lo malo, no hay nada o casi nada documentado (a lo fácil nada, dentro del sketch de arduino hay información). Pero eso es ya para gente avanzada en la materia.
 
Última edición:
Ojo con meter 5 V por ningún pin a un ESP8266, muere. Y dado que el MAX485 trabaja con niveles de 5 V has de hacer un apaño. Lo más fácil es poner entre el pin de read del transceiver y el de RX del ESP un divisor de tensión que baje de 5 V a 3,3 V, como hace la placa del tutorial. Y para TX el MAX485 entiende los 3,3 V del nivel alto que genera el ESP8266 como si fuesen 5 V y genera el nivel adecuado. Lo complejo es la gestión del sentido de lectura-escritura, porque usa un transistor para invertir los niveles antes de escribir al MAX. No entiendo por qué no lo hace por software, igual hay motivos eléctricos por debajo (no me he parado a mirarlo). Y para la alimentación se puede usar un regulador tipo LM1117-3V3, que pasa de 5 V a 3,3 V.

Eso sí, el diseño de esa placa es nefasto. Ni un condensador de desacoplo, pistas de cualquier tamaño, doble cara innecesaria... En fin, sobre todo por el defecto de condensadores te aconsejaría usar otra alternativa. Están esos módulos conversores de RS458 a TTL, pero necesitas aquellos en los que tengas acceso a los pines de RE y DE, y luego añadir externamente el transistor, las resistencias divisoras, el ESP y el regulador, aunque este último se puede eliminar si usas una NodeMCU, ya que lo lleva integrado. Yo si estuviera en tu lugar me habría fabricado algo con una placa universal, un SN75176 (alternativa barata al MAX485), un ESP-12 (es el tipo de módulo como el que monta la NodeMCU con pads a los lados, el ESP-01 es el de los 8 pines), las resistencias, el regulador y el transistor si veo que es imprescindible. Y condensadores, varios!!

Si necesitas ayuda o el esquema en formato legible coméntalo y te hecho un cable, nunca mejor dicho.
 
Ojo con meter 5 V por ningún pin a un ESP8266, muere. Y dado que el MAX485 trabaja con niveles de 5 V has de hacer un apaño. Lo más fácil es poner entre el pin de read del transceiver y el de RX del ESP un divisor de tensión que baje de 5 V a 3,3 V, como hace la placa del tutorial. Y para TX el MAX485 entiende los 3,3 V del nivel alto que genera el ESP8266 como si fuesen 5 V y genera el nivel adecuado. Lo complejo es la gestión del sentido de lectura-escritura, porque usa un transistor para invertir los niveles antes de escribir al MAX. No entiendo por qué no lo hace por software, igual hay motivos eléctricos por debajo (no me he parado a mirarlo). Y para la alimentación se puede usar un regulador tipo LM1117-3V3, que pasa de 5 V a 3,3 V.

Eso sí, el diseño de esa placa es nefasto. Ni un condensador de desacoplo, pistas de cualquier tamaño, doble cara innecesaria... En fin, sobre todo por el defecto de condensadores te aconsejaría usar otra alternativa. Están esos módulos conversores de RS458 a TTL, pero necesitas aquellos en los que tengas acceso a los pines de RE y DE, y luego añadir externamente el transistor, las resistencias divisoras, el ESP y el regulador, aunque este último se puede eliminar si usas una NodeMCU, ya que lo lleva integrado. Yo si estuviera en tu lugar me habría fabricado algo con una placa universal, un SN75176 (alternativa barata al MAX485), un ESP-12 (es el tipo de módulo como el que monta la NodeMCU con pads a los lados, el ESP-01 es el de los 8 pines), las resistencias, el regulador y el transistor si veo que es imprescindible. Y condensadores, varios!!

Si necesitas ayuda o el esquema en formato legible coméntalo y te hecho un cable, nunca mejor dicho.
Los pines de la ESP8266 son tolerantes a los 5V.

O al menos eso dijo hace 4 años el CEO de expressif
 
Bueno. parece que nos hemos juntado unos cuantos electrónicos. Gracias a todos. Voy a hacer pruebas y ver si me ahorro el meterme en hacer circuitos impresos y soldar SMD. Hace mucho que lo dejé.
 
Atrás
Arriba