Tabla de contenido:

EnergyChain: 4 pasos
EnergyChain: 4 pasos

Video: EnergyChain: 4 pasos

Video: EnergyChain: 4 pasos
Video: Energy Chains - Gr. 1 Science 2024, Mes de julio
Anonim
Cadena energética
Cadena energética

/ * Trabajo aún en progreso * /

Energy Chain es un POC que combina IOT y Blockchain.

Lo que hicimos permitió a las personas vender la energía que producen a cualquier persona sin necesidad de ningún nivel. Para garantizar la seguridad entre el productor y el consumidor, el consumidor puede conectar lo que quiera y obtener energía. El cuadro mide la cantidad de corriente consumida y escribe el equivalente

Paso 1: Materiales

Materiales
Materiales
Materiales
Materiales
Materiales
Materiales

Para realizar este proyecto usaremos:

- 1 Raspberry Pi Zero

- 1 sensor de corriente AS712 (20A)

- 1 ADC de 16 bits I2C ADS1555

- 1 sensor RFID RC522

- 1 relé 5V

- Convertidor 1AC / DC 5V / 2A ECL10US05-E de Farnell

- 1 toma de corriente

Paso 2: cableado

Alambrado
Alambrado

Necesitamos conectar todo como se muestra en la imagen, tenga cuidado con la corriente entregada por la Raspberry Pi.

Cableado de comando:

  • Potencia 3v3 - Relé 5V Vcc / Sensor de corriente Vcc / RFID Vcc / ADC Vcc
  • Potencia 5v - Convertidor AC / DC 5v
  • Tierra - Relé 5V GND / Sensor de corriente GND / AC / DC convertidor GND / RFID GND / ADC entrada y salida GND
  • BCM 2 - ADC SDA
  • BCM 3 - ADC SCL
  • BCM 4 - ADC CLK
  • BCM 6 - RFID SDA
  • BCM 9 - RFID MISO
  • BCM 10 - RFID MOSI
  • BCM 11 - RFID SCK
  • BCM 17 - Relé 5V IN
  • BCM 24 - Reinicio de RFID
  • BCM 25 - RFID RST

Paso 3: Código

Este código funciona de la siguiente manera:

El sensor RFID espera una etiqueta y la escribe en el Terminal, luego el sensor de corriente mide la cantidad de corriente alterna consumida y muestra en el terminal la potencia instantánea cada 100 medidas. Gracias a eso, podemos obtener la cantidad de kWh.

importar socket, json

importar sys desde subprocesos importar subprocesos desde pirc522 importar RFID importar RPi. GPIO como GPIO ## Importar biblioteca GPIO importar señal importar tiempo importar Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11, True) rdr = RFID () util = rdr.util () util.debug = True TCP_IP = '172.31.29.215' TCP_PORT = 5000 BUFFER_SIZE = 1024 adc = Adafruit_ADS1x15. ADS1115 () def end_read (señal, marco): ejecución global print ("\ nCtrl + C capturado, finalizando la lectura.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = Verdadero while (bol): si DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 si DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) si no es data: break print data dataJSON = json.loads (datos) si "mensaje" en datosJSON: imprimir datosJSON ['mensaje'] si datosJSON ['mensaje'] == "salir": imprimir ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = False if dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' excepto Exception as e: continue s.close () def tag (): rdr.wait_for_tag () (error, datos) = rdr.request () time.sleep (0.25) (error, uid) = rdr.anticoll () ID = str (uid [0]) + '. '+ str (uid [1]) +'. '+ str (uid [2]) +'. '+ str (uid [3]) print ("Lectura de tarjeta UID:" + ID) Salida GPIO (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 mientras yo def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 while imax_voltage: max_voltage = readValue if readValue def Mesure3 (): print (str (adc.read_adc (0, gain = 1))) if _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) # s.connect ((TCP_IP, TCP_PORT)) # s.setblocking (0) loopRead (s)

Paso 4: la caja

Para hacer que toda la electrónica sea más compacta, diseñamos una caja que contendrá todo en su interior. Para atornillar todo usaremos tornillos M3.

Recomendado: