Sadržaj:

Energetski lanac: 4 koraka
Energetski lanac: 4 koraka

Video: Energetski lanac: 4 koraka

Video: Energetski lanac: 4 koraka
Video: Цигун для начинающих. Для суставов, позвоночника и восстановления энергии. 2024, Juli
Anonim
EnergyChain
EnergyChain

/ * Radovi su još u toku */

Energetski lanac je POC koji kombinira IOT i Blockchain.

Ono što smo učinili omogućava ljudima da prodaju energiju koju proizvode bilo kome bez ikakvog nivoa. Kako bi osigurao sigurnost između proizvođača i potrošača, potrošač može na njega povezati sve što želi i dobiti energiju. Okvir mjeri količinu potrošene struje i upisuje ekvivalent

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali
Materijali
Materijali

Za izradu ovog projekta koristit ćemo:

- 1 Raspberry Pi Zero

- 1 senzor struje AS712 (20A)

- 1 ADC 16 -bitni I2C ADS1555

- 1 RFID senzor RC522

- 1 relej 5V

- 1AC/DC 5V/2A pretvarač ECL10US05-E iz Farnella

- 1 električna utičnica

Korak 2: Ožičenje

Ožičenje
Ožičenje

Moramo sve povezati kako je prikazano na slici, pazite na struju koju isporučuje Raspberry Pi.

Komandno ožičenje:

  • Napajanje 3v3 - Relej 5V Vcc/Senzor struje Vcc/RFID Vcc/ADC Vcc
  • 5v Napajanje - AC/DC pretvarač 5v
  • Uzemljenje - Relej 5V GND/Senzor struje GND/AC/DC pretvarač GND/RFID GND/ADC ulaz i izlaz 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 - Relej 5V IN
  • BCM 24 - RFID resetiranje
  • BCM 25 - RFID RST

Korak 3: Kodirajte

Ovaj kod funkcionira na sljedeći način:

RFID senzor čeka oznaku i upisuje je u terminal. Zatim trenutni senzor mjeri količinu potrošene izmjenične struje i prikazuje na terminalu trenutnu snagu na svakih 100 mjera. Zahvaljujući tome možemo dobiti količinu kWh.

import socket, json

import sys iz threading import Thread from pirc522 import RFID import RPi. GPIO kao GPIO ## Uvoz GPIO biblioteke uvoz signala za uvoz vremena uvoza Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11, Tačno) 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, okvir): globalno pokretanje print ("\ nCtrl+C uhvaćen, završeno čitanje.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = Tačno dok (bol): ako je DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 ako je DemandeMesure == 1: Mesure2 () pokušajte: data = s.recv (BUFFER_SIZE) ako nije podatak: prekinite ispis podataka dataJSON = json.loads (data) if "message" u dataJSON: ispis podatakaJSON ['message'] if dataJSON ['message'] == "exit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = Netačno ako je dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 ako je dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' osim iznimke kao e: nastavite s.close () def tag (): rdr.wait_for_tag () (greška, podaci) = rdr.request () time.sleep (0.25) (error, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("UID za čitanje kartice:"+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 dok imax_voltage: max_voltage = readValue ako je readValue def Mesure3 (): print (str (adc.read_adc (0, gain = 1))) ako je _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) #s.connect ((TCP_IP, TCP_PORT)) #s.setblocking (0) loopRead (s)

Korak 4: Kutija

Kako bismo svu elektroniku učinili kompaktnijom, dizajnirali smo kutiju koja će sadržavati sve unutra. Za pričvršćivanje svega koristit ćemo vijke M3.

Preporučuje se: