Innehållsförteckning:

EnergyChain: 4 steg
EnergyChain: 4 steg

Video: EnergyChain: 4 steg

Video: EnergyChain: 4 steg
Video: #HD_VIDEO | #Neelkamal Singh | नाचेलु स्टेज प | #Shilpi Raj | Nachelu Stage Pa | Bhojpuri Songs 2023 2024, November
Anonim
EnergyChain
EnergyChain

/ * Arbetet pågår fortfarande */

Energy Chain är en POC som kombinerar IOT och Blockchain.

Vad vi gjorde gör att människor kan sälja den energi de producerar till någon utan att behöva någon nivå. För att säkerställa säkerheten mellan producenten och konsumenten kan konsumenten ansluta vad han vill på den och få energi. Rutan mäter mängden strömförbrukning och skriver motsvarande

Steg 1: Material

Material
Material
Material
Material
Material
Material

För att göra detta projekt kommer vi att använda:

- 1 Raspberry Pi Zero

- 1 strömgivare AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 RFID -sensor RC522

- 1 relä 5V

- 1AC/DC 5V/2A omvandlare ECL10US05-E från Farnell

- 1 eluttag

Steg 2: Kabeldragning

Kabeldragning
Kabeldragning

Vi måste koppla ihop allt som det visas på bilden, var försiktig med strömmen som levereras av Raspberry Pi.

Kommandokablar:

  • 3v3 Power - Relä 5V Vcc/Strömgivare Vcc/RFID Vcc/ADC Vcc
  • 5v Power - AC/DC -omvandlare 5v
  • Jord - Relä 5V GND/Strömgivare GND/AC/DC -omvandlare GND/RFID GND/ADC ingång och utgång 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 - RFID -återställning
  • BCM 25 - RFID RST

Steg 3: Kod

Denna kod fungerar enligt följande:

RFID -sensorn väntar på en tagg och skriver den i terminalen. Sedan mäter den aktuella sensorn mängden förbrukad AC -ström och visar den momentana strömmen var 100: e mätning i terminalen. Tack vare det kan vi få mängden kWh.

importuttag, 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 (signal, ram): global körning print ("\ nCtrl+C fångat, sluta läsa.") 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 "meddelande" i dataJSON: skriv ut dataJSON ['meddelande'] om dataJSON ['meddelande'] == "exit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = Falskt om dataJSON ['meddelande'] == "på": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' utom Undantag som e: fortsätt s.close () def tag (): rdr.wait_for_tag () (fel, data) = rdr.request () time.sleep (0,25) (fel, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("Card read UID:"+ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 medan i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 medan 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.setblockering (0) loopRead (s)

Steg 4: Boxen

För att göra all elektronik mer kompakt designade vi en låda som innehåller allt inuti. För att skruva på allt kommer vi att använda M3 -skruvar.

Rekommenderad: