Obsah:

EnergyChain: 4 kroky
EnergyChain: 4 kroky

Video: EnergyChain: 4 kroky

Video: EnergyChain: 4 kroky
Video: Analýza vašeho studia - zlepšete nahrávky v roce 2024 (4 kroky) - @oTomanStudio.cz 2024, Listopad
Anonim
Energetický řetězec
Energetický řetězec

/ * Práce stále probíhají */

Energy Chain je POC, který kombinuje IOT a blockchain.

To, co jsme vytvořili, umožňuje lidem prodávat energii, kterou vyrábějí, komukoli, aniž by potřebovali jakoukoli úroveň. Aby byla zajištěna bezpečnost mezi výrobcem a spotřebitelem, může spotřebitel na něj připojit cokoli, co chce, a získat energii. Políčko měří množství spotřebovaného proudu a zapíše ekvivalent

Krok 1: Materiály

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály

K vytvoření tohoto projektu použijeme:

- 1 Raspberry Pi Zero

- 1 proudový senzor AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 snímač RFID RC522

- 1 relé 5V

- 1AC/DC 5V/2A převodník ECL10US05-E od společnosti Farnell

- 1 elektrická zásuvka

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení

Musíme propojit vše dohromady, jak je znázorněno na obrázku, dávejte pozor na proud dodávaný Raspberry Pi.

Příkazové zapojení:

  • Napájení 3v3 - relé 5V Vcc/proudový snímač Vcc/RFID Vcc/ADC Vcc
  • Napájení 5v - měnič AC/DC 5v
  • Uzemnění - relé 5V GND/snímač proudu GND/AC/DC převodník GND/RFID GND/ADC vstup a výstup 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 - Reset RFID
  • BCM 25 - RFID RST

Krok 3: Kód

Tento kód funguje následovně:

Senzor RFID čeká na značku a zapíše ji do terminálu. Poté aktuální senzor změří množství spotřebovaného střídavého proudu a každých 100 měření zobrazí na terminálu okamžitý výkon. Díky tomu můžeme získat množství kWh.

import socket, json

import sys from threading import Thread from pirc522 import RFID import RPi. GPIO as GPIO ## Import GPIO library import signal import time import 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 (signál, rámec): globální běh print ("\ nCtrl+C zachyceno, končí čtení.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = True while (bol): if DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 if DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) if not data: break print data dataJSON = json.loads (data) if "message" in dataJSON: print dataJSON ['message'] if dataJSON ['message'] == "exit": print ('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, pokud dataJSON ['zpráva'] == "vypnuto": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 zpráva = '' kromě výjimky jako e: continue s.close () def tag (): rdr.wait_for_tag () (chyba, data) = rdr.request () time.sleep (0.25) (chyba, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) tisk ("Čtení karty UID:"+ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 while i 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)

Krok 4: Krabice

Aby byla veškerá elektronika kompaktnější, navrhli jsme krabici, která bude obsahovat vše uvnitř. K našroubování všeho použijeme šrouby M3.

Doporučuje: