Përmbajtje:

EnergyChain: 4 hapa
EnergyChain: 4 hapa

Video: EnergyChain: 4 hapa

Video: EnergyChain: 4 hapa
Video: Shredder VS forklift, who is stronger#Shorts 2024, Korrik
Anonim
EnergyChain
EnergyChain

/ * Puna ende në progres */

Zinxhiri i Energjisë është një POC i cili kombinon IOT dhe Blockchain.

Ajo që ne krijuam u mundëson njerëzve që të shesin energjinë që prodhojnë tek kushdo pa ndonjë nivel të nevojshëm. Për të siguruar sigurinë midis prodhuesit dhe konsumatorit, konsumatori mund të lidhë atë që dëshiron në të dhe të marrë energji. Kutia mat sasinë e rrymës së konsumuar dhe shkruan ekuivalentin

Hapi 1: Materialet

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale

Për të bërë këtë projet ne do të përdorim:

- 1 mjedër Pi Zero

- 1 sensor aktual AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 sensor RFID RC522

- 1 stafetë 5V

- Konvertues 1AC/DC 5V/2A ECL10US05-E nga Farnell

- 1 prizë elektrike

Hapi 2: Instalimet elektrike

Instalime elektrike
Instalime elektrike

Ne duhet të lidhim gjithçka së bashku siç tregohet në foto, të jemi të kujdesshëm ndaj rrymës së dhënë nga Raspberry Pi.

Instalimet e komandës:

  • Fuqia 3v3 - Rele 5V Vcc/Sensori aktual Vcc/RFID Vcc/ADC Vcc
  • Fuqia 5v - Konvertuesi AC/DC 5v
  • Ground - Rele 5V GND/Sensori aktual GND/Konvertuesi AC/DC GND/RFID GND/ADC hyrja dhe dalja 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 - Stafetë 5V N IN
  • BCM 24 - Rivendosja e RFID
  • BCM 25 - RFID RST

Hapi 3: Kodi

Ky kod funksionon si më poshtë:

Sensori RFID pret një etiketë dhe e shkruan atë në Terminal. Pastaj sensori aktual mat sasinë e rrymës AC të konsumuar dhe shfaq fuqinë e menjëhershme në terminal çdo 100 masa. Falë kësaj, ne mund të marrim sasinë e kWh.

fole importi, json

import sys nga filetimi import Fije nga pirc522 import RFID import RPi. GPIO si GPIO ## Import GPIO bibliotekë sinjal import import import import Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.putput (11, E vërtetë) rdr = RFID () util = rdr.util () util.debug = E vërtetë TCP_IP = '172.31.29.215' TCP_PORT = 5000 BUFFER_SIZE = 1024 adc = Adafruit_ADS1x15. ADS1115 () def end_read (sinjal, kornizë): global run print ("\ nCtrl+C kapur, duke përfunduar leximin.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = E vërtetë ndërsa (bol): nëse DemandeTag == 1: etiketë () DemandeTag = 0 DemandeMesure = 1 nëse DemandeMesure == 1: Mesure2 () provoni: data = s.recv (BUFFER_SIZE) nëse jo të dhëna: thyejnë të dhënat e printimit të të dhënaveJSON = json.ngarkon (të dhëna) nëse "mesazh" në të dhënaJSON: printoni të dhënaJSON ['mesazh'] nëse të dhënatJSON ['mesazh'] == "dalje": printoni ('Dilni nga kërkuesi') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = E rreme nëse të dhënatJSON ['mesazhi'] == "aktiv": GPIO.putput (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 nëse të dhënatJSON ['mesazhi'] == "joaktiv": GPIO.output (11, GPIO. HIGHT) DemandeTag = 1 mesazh = "" përveç Përjashtimit si e: vazhdoni s.close () def tag (): rdr.wait_for_tag () (gabim, të dhëna) = rdr. kërkesë () kohë. gjumë (0.25) (gabim, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("UID e lexuar nga karta:"+ID) GPIO.putput (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 ndërsa i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = ndërsa imax_voltage: max_voltage = readValue if readValue def Mesure3 (): print (str (adc.read_adc (0, gain = 1))) nëse _name_ == "_main_": s = socket.socket (socket. AF_INET, fole. SOCK_STREAM) #s.connect ((TCP_IP, TCP_PORT)) #s.bllokimi (0) loopLexo (et)

Hapi 4: Kutia

Për t'i bërë të gjitha pajisjet elektronike më kompakte, ne krijuam një kuti e cila do të përmbajë gjithçka brenda. Për të vidhosur gjithçka, ne do të përdorim vida M3.

Recommended: