Tabla de contenido:

Nabito [Open Socket V2]: Medidor inteligente para carga de vehículos eléctricos: 10 pasos (con imágenes)
Nabito [Open Socket V2]: Medidor inteligente para carga de vehículos eléctricos: 10 pasos (con imágenes)

Video: Nabito [Open Socket V2]: Medidor inteligente para carga de vehículos eléctricos: 10 pasos (con imágenes)

Video: Nabito [Open Socket V2]: Medidor inteligente para carga de vehículos eléctricos: 10 pasos (con imágenes)
Video: Происхождение человека: документальный фильм об эволюционном путешествии | ОДИН КУСОЧЕК 2024, Mes de julio
Anonim
Image
Image
¿Qué hace?
¿Qué hace?

Esta es la segunda guía de compilación para Nabito [socket abierto], la primera versión se puede encontrar en: Nabito [socket abierto] v1

Enumero las razones para crear este proyecto en esta publicación de blog: Los vehículos eléctricos no tienen sentido para la gente de apartamentos

¿Qué es?

Nabito: el enchufe abierto es un medidor inteligente de IoT con medición de electricidad, conmutación de alto amperaje de encendido / apagado, sensor NFC, autorización de usuario, capacidades de facturación y gestión de usuarios.

El proyecto consta de dos partes: 1. caja de control (dispositivo IoT) 2. frontend / backend de la aplicación web, ambos completamente de código abierto.

1. La caja de control consta de piezas fáciles de obtener en línea y está diseñada para ser una solución de toma de corriente inteligente y económica para estacionamientos públicos y privados para la carga lenta de vehículos eléctricos. Se ejecuta en Raspberry Pi Zero W y Arduino Nano.

2. La aplicación web se ejecuta en Ruby on Rails y está disponible como código abierto en Github: https://github.com/sysdist/nabito-server La conexión entre la caja y la aplicación web se realiza a través del protocolo MQTT.

El objetivo del proyecto es desarrollar una red de carga de código abierto que cualquiera pueda adoptar, implementar o ampliar.

La caja de control consta de piezas fáciles de obtener en línea y está diseñada para ser una solución de toma de corriente inteligente y económica para estacionamientos públicos y privados para la carga lenta de vehículos eléctricos.

Se ejecuta en una computadora de placa única (SCB) Raspberry Pi Zero W. El coste total de la caja de control ronda los 60 €.

Nabito: el enchufe abierto está diseñado actualmente para cargar en enchufes ordinarios, en Europa continental es de 230 V y 10 -13 A, es decir, cca. 2,9 kW continuos. Pero el concepto se aplica a cualquier enchufe, europeo, estadounidense o británico o cualquier otro, las futuras versiones del proyecto cubrirán también las instalaciones de 2 y 3 fases.

Especificaciones:

  • Voltaje monofásico: 230 V
  • ACMax. corriente: 13 A
  • Potencia: 2,9 kW
  • Tamaño: 240x200x90mm
  • Interfaz: conexión LAN RJ45 o WIFI
  • Cumplimiento de IP: IP55

La siguiente guía de construcción no está completa, faltan algunos diagramas de cableado, algunos pasos de ensamblaje, etc.), quería publicarla lo antes posible, trabajaré para mejorarla gradualmente, así que por favor, si esta guía de construcción no funciona cubra todo lo que necesita saber o si tiene alguna pregunta, envíeme un correo. Gracias por entender.

Paso 1: ¿Qué hace?

¿Qué hace?
¿Qué hace?

El proyecto consta de dos partes, la caja de control física que es una cosa de IoT (lado del cliente) y hay una aplicación web que lo controla (lado del servidor).

1. Conmutación de encendido / apagado Con un relé de red y un contactor, puede encender / apagar la toma de corriente según la interacción del usuario.

2. Medición de energía

La caja de control mide la corriente CA y registra el uso de energía. Función de medición estándar. La medición de energía se realiza por usuario. Actualmente solo hay monitoreo de corriente CA, no hay monitoreo de voltaje en este punto.

3. Autenticación de usuario

Debe crear cuentas de usuario para los usuarios que utilizarán los conectores. El usuario autoriza leyendo el código QR o utilizando una etiqueta NFC. La interfaz de usuario web permite a los usuarios registrarse, iniciar sesión y usar la caja de control o la etiqueta NFC enciende / apaga la caja directamente. El administrador puede aprobar o rechazar usuarios.

4. Facturación

Según la configuración de enchufes del administrador y el precio por 1kWh, se crean facturas para usuarios individuales en función de su uso de energía. Las facturas mensuales se crearán más adelante para conveniencia del administrador.

Paso 2: Pilas HW y SW

Pilas HW y SW
Pilas HW y SW
Pilas HW y SW
Pilas HW y SW
Pilas HW y SW
Pilas HW y SW
Pilas HW y SW
Pilas HW y SW

Pila de HW:

  • Raspberry Pi Zero, 1 pieza, 11,32 €,
  • disipador de calor, 1 pieza, 1,2 €,
  • Sensor NFC, 1 pieza, 3,93 €
  • tarjeta micro SD de 16 GB, 1 unidad, 9,4 €,
  • Arduino Nano, 1 pieza, 1,74 €, https://www.aliexpress.com/item/Freeshipping-20PC …
  • Sensor CT - YHDC 30A SCT013, 1 pieza, 4,28 €, https://www.aliexpress.com/item/KSOL-YHDC-30A-SCT013-0-100A-Non-invasive-AC-New-Sensor-Split-Core- Transformador-de-corriente-Nuevo / 32768354127.html
  • cargador de teléfono móvil, 1 unidad, 5 €, el precio es aproximado, usé uno de mis viejos cargadores que venían con un teléfono
  • Contactor de CA doméstico 25A NO, 1 piezas, 4,79 €,
  • Relé de red, 1 unidad, 0,84 €,
  • caja de conexiones de plástico (S-box), 1ud, 5 €,
  • Cables de unión Dupont para baja tensión, 1 pieza, 2,29 €,
  • Enchufe europeo IP54 230V, 1 unidad, 2 € comprado en una ferretería local
  • piezas pequeñas: conector hembra de 3,5 mm, condensador de 10 uF, resistencias de 2x 10kOhm, diodos LED, cables, 1 pieza, 3 €, comprado en una tienda de electrónica local
  • Bloque de terminales de 2 conductores Wago, 3 piezas, 2 €, comprado en una tienda de electrónica local
  • Bloque de terminales de 5 conductores Wago, 2 piezas, 2 €, comprado en una tienda de electrónica local
  • Cable USB mini a micro (Arduino-> RPi), 1 pieza, 1,8 €, comprado en una tienda de informática local

Costo total de HW: 60,59 € (70,40 $)

Pila SW:

  • Pila de caja de control:

    • Raspbian Linux (basado en Ubuntu), código abierto, $ 0 (toda la gloria para Linus Torvalds + 20k personas que trabajaron en el kernel de Linux + la gente amable detrás de la imagen de Raspberry Pi y Raspbian Linux)
    • Node-RED, código abierto, $ 0 (gente amable de IBM que está detrás del desarrollo de Node-RED)
  • Pila de aplicaciones web:

    • Aplicación de servidor Nabito:
    • Ruby on Rails (RVM, Ruby, Gems), código abierto, $ 0
    • Postgres DB, código abierto, $ 0
    • Git, código abierto (más gloria para Linus), $ 0
    • Protocolo MQTT

Coste total de la pila de software: 0 € (* THUMBS_UP *)

Paso 3: La caja de control: configuración del software

La caja de control: configuración de software
La caja de control: configuración de software
  1. Instale RASPBIAN STRETCH LITE (no necesitamos la versión de escritorio) en Raspberry Pi Zero Whttps://www.raspberrypi.org/downloads/raspbian/
  2. configure Raspbian para usar su Wifi doméstico localhttps://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/
  3. Instale Node-RED en Raspbianhttps://nodered.org/docs/hardware/raspberrypi
  4. Copie el flujo de Nabito Node-RED e impleméntelo
  5. Edite los settings.js predeterminados de Node-RED y agréguelo al functionGlobalContext: relay: "OFF",

    box_status: "SIN CONEXIÓN"

  6. Configure sus brokers Node-RED MQTT para su instalación de servidor Nabito preferida (o hacia
  7. Reiniciar Node-RED
  8. Verifique la conectividad MQTT en Node-RED

Parte de Arduino:

  1. Descargue, compile y cargue este boceto en Arduino Nanohttps://github.com/sysdist/nabito-arduino-nano.git
  2. ¡Hecho!;-)

Paso 4: Cableado: Cables de red

Cableado: Cables de red
Cableado: Cables de red
Cableado: Cables de red
Cableado: Cables de red
Cableado: Cables de red
Cableado: Cables de red

Los cables de alimentación de CA suministran energía a:

  • Contactor AC
  • Relé de red
  • Cargador móvil que alimenta Raspberry Pi y Arduino

La salida del contactor de CA va a la toma de corriente. La tierra de protección está conectada desde la línea de alimentación de la fuente hasta la toma de corriente.

Raspberry Pi controla el relé de red y el relé a su vez enciende / apaga el contactor.

Paso 5: Cableado: Arduino, sensor CT, sensor NFC

Cableado: Arduino, sensor CT, sensor NFC
Cableado: Arduino, sensor CT, sensor NFC

Conecte el Arduino con el sensor CT de acuerdo con el siguiente manual:

learn.openenergymonitor.org/electricity-mo…

Necesitas:

  • Arduino (puedes usar cualquier Arduino: Uno, Nano, Mega, el que quieras, siempre que tenga un ADC)
  • Condensador de 10uF 2 resistencias de 10kOhm
  • Conector hembra de 3,5 mm
  • Sensor CT 30A / 1V
  • Sensor PN532 (RFID / NFC)
  • pequeño PCB
  • pequeños cables para conexiones

Soldé el Arduino Nano, el condensador, las resistencias y el conector hembra a la PCB de acuerdo con el manual anterior del sitio openenergymonitor.org.

El sensor NFC está conectado al Arduino Nano a través de SPI (pines en Arduino Nano: 10, 11, 12 y 13).

El Arduino está conectado a la Raspberry Pi a través del micro USB.

Paso 6: Cableado: Raspberry Pi

Cableado: Raspberry Pi
Cableado: Raspberry Pi
Cableado: Raspberry Pi
Cableado: Raspberry Pi

Conecte Arduino a la Raspberry Pi a través del puerto USB, de esta manera sirve como puerto serie y fuente de alimentación para Arduino, debe mapearse en / dev / ttyUSB0.

El relé de red se conecta a través de los pines 2 (5V), 6 (GND), 12 (GPIO).

Los LED del panel frontal están conectados a través de los pines 14 (GND), 16 (GPIO), 18 (GPIO)

Paso 7: Cableado de todo junto

Conectando todo junto
Conectando todo junto
  1. Sujete el sensor CT en la línea de red que sale del relé de red.
  2. Conecte la fuente de alimentación para Raspberry Pi
  3. Atornille la tapa de la caja de conexiones
  4. ¡Y ya ha terminado de cablear / ensamblar!

Paso 8: configuración de la aplicación web

Configuración de la aplicación web
Configuración de la aplicación web

Necesita un servidor Linux para ejecutar la aplicación web. Tu también puedes:

  • ejecute el servidor localmente en su PC / portátil o su servidor Linux local y apunte la caja de control a su instalación local
  • cree su propio dominio y ejecute la aplicación web como un sitio web
  • use https://Nabito.org (es gratis) para administrar sus cajas de control

La aplicación del servidor Nabito se ejecuta en Ruby on Rails y es de código abierto:

Para la instalación y configuración de la aplicación web, consulte el archivo README.md del proyecto en Github.

Paso 9: ejecución y prueba

Ejecutando y probando
Ejecutando y probando

Para configuración local:

  1. Implemente la aplicación del servidor Nabito en su PC / portátil local
  2. Configure mosquitto MQTT broker en su PC (o cualquier otro broker MQTT de su preferencia)
  3. Conecte la caja de control de Nabito a su WiFi local
  4. Ingrese SSH en la caja y diríjalo para que use el agente MQTT de su PC
  5. iniciar la aplicación rails nabito-server
  6. conecte una pequeña carga eléctrica (por ejemplo, una lámpara de mesa) a la toma de corriente
  7. use la aplicación web para iniciar / detener el identificador de enchufe 1 para verificar el consumo de energía real y total
  8. use una etiqueta NFC (si tiene una) para alternar el enchufe
  9. verifique la facturación del último uso de socket
  10. Después de una prueba exitosa, comience a crear su propia red de carga de vehículos eléctricos
  11. Lucro;-)

Paso 10: Conclusión, problemas y hoja de ruta del producto

La conclusión, los problemas y la hoja de ruta del producto
La conclusión, los problemas y la hoja de ruta del producto

En esta versión de la caja de control de Nabito, pude desacoplar la caja de control y la aplicación web, esencialmente creando un proyecto de IoT (Internet de las cosas) con lo físico que hace algo útil y una aplicación y servicio de back-end que administra el cosa física.

El precio de la caja aumentó un poco desde la última versión (v1 antes: 50 €, v2 ahora: 60 €), porque agregué un contactor por razones de seguridad para servir amperios más altos y también RPi es un poco más caro que las placas OrangePi.

MQTT se utiliza como protocolo principal para el registro de datos y el control de la caja.

Desde la última versión de Nabito, pude resolver la mayoría de los problemas (Wifi, contactor, sobrecalentamiento del procesador, toma de corriente integrada, etc.). Sin embargo, la lista de problemas y oportunidades actuales crece aún más:

Cuestiones:

  • Raspberry Pi Zero W es una placa muy agradable, con Wifi y Bluetooth y 2 pines GPIO, pero aún así el procesador se calienta hasta 34C cuando está inactivo, lo que podría ser problemático en climas cálidos y meses de verano con luz solar directa.
  • Ejecutar Linux en la caja de control es bueno para la creación de prototipos, pero el modelo de producción de este producto probablemente debería ejecutarse en una placa más delgada que sea capaz de TLS / SSL (el chip ESP32 parece muy prometedor)

Oportunidades:

  • cree versiones para corrientes más altas (la funcionalidad es la misma, pero use contactores con amperes más altos y diferentes sensores CT / módulos de monitoreo de energía)
  • crear versiones para 2 y 3 fases
  • integrar módulo de monitor de energía (como el monitor de energía Peacefair PZEM-004T)
  • migrar a ESP32 para una mayor eficiencia energética y térmica
  • integre a la nube de AWS IOT y use certificados de cliente para la mejor configuración de seguridad (en este momento solo se usa el usuario / contraseña de MQTT)
  • administrar certificados y credenciales MQTT desde la aplicación web (actualmente esto se configura manualmente a través del back-end)
  • agregue un pequeño panel LCD para presentar información directamente en la caja de control de Nabito
  • agregue teclado numérico para proporcionar interacción de botón con la caja (posibilidad de pin para mayor seguridad)
  • incluye termómetro adicional para controlar la temperatura ambiente de la caja

Si le gusta este proyecto o tiene alguna pregunta / comentario, no dude en ponerse en contacto conmigo en [email protected]

Sitio web de sistemas distribuidos: www.sysdist.com

Puedes seguirme en: twitter.com/sysdistfb.com/sysdist

¡Que tengas un buen día y felicidad! - Stefan

Recomendado: