Kazalo:

Energetska veriga: 4 koraki
Energetska veriga: 4 koraki

Video: Energetska veriga: 4 koraki

Video: Energetska veriga: 4 koraki
Video: СУХИЕ ГЛАЗА? Я ЗНАЮ ЧТО ДЕЛАТЬ! 2024, Julij
Anonim
Energetska veriga
Energetska veriga

/ * Dela še potekajo */

Energetska veriga je POC, ki združuje IOT in Blockchain.

Kar smo naredili, ljudem omogoča, da energijo, ki jo proizvedejo, prodajo vsakomur brez kakršnega koli nivoja. Za zagotovitev varnosti med proizvajalcem in potrošnikom lahko potrošnik nanj poveže vse, kar želi, in dobi energijo. Polje meri količino porabljenega toka in napiše ekvivalent

1. korak: Materiali

Materiali
Materiali
Materiali
Materiali
Materiali
Materiali

Za izdelavo tega modela bomo uporabili:

- 1 malina Pi Zero

- 1 senzor toka AS712 (20A)

- 1 ADC 16 -bitni I2C ADS1555

- 1 RFID senzor RC522

- 1 rele 5V

- 1AC/DC 5V/2A pretvornik ECL10US05-E podjetja Farnell

- 1 električna vtičnica

2. korak: Ožičenje

Ožičenje
Ožičenje

Moramo povezati vse skupaj, kot je prikazano na sliki, previdno glede na tok, ki ga prinaša Raspberry Pi.

Ukazna napeljava:

  • Napajanje 3v3 - Rele 5V Vcc/trenutni senzor Vcc/RFID Vcc/ADC Vcc
  • 5v Napajanje - AC/DC pretvornik 5v
  • Ozemljitev - Rele 5V GND/senzor toka GND/AC/DC pretvornik GND/RFID GND/ADC vhod in izhod 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 - Rele 5V IN
  • BCM 24 - RFID ponastavitev
  • BCM 25 - RFID RST

3. korak: Koda

Ta koda deluje na naslednji način:

Senzor RFID čaka na oznako in jo zapiše v terminal. Nato senzor toka meri količino porabljenega izmeničnega toka in na vsakih 100 ukrepih prikaže trenutno moč. Zahvaljujoč temu lahko dobimo količino kWh.

uvozna vtičnica, json

import sys from threading import Thread from pirc522 import RFID import RPi. GPIO kot GPIO ## Uvozi knjižnico GPIO uvoz signal uvoza čas uvoza 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, okvir): globalni zagon print ("\ nCtrl+C zajeto, konec branja.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = True while (bol): če je DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1, če je DemandeMesure == 1: Mesure2 () poskusite: data = s.recv (BUFFER_SIZE), če ni podatkov: prekinite podatke o tiskanjuJSON = json.loads (data) if "message" v dataJSON: print dataJSON ['message'] if dataJSON ['message'] == "exit": print ('Exit demandnde') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = False, če je dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1, če je dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' razen izjeme kot e: nadaljevanje s.close () def tag (): rdr.wait_for_tag () (napaka, podatki) = 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 branje 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 medtem ko imax_voltage: max_voltage = readValue, če je readValue def Mesure3 (): print (str (adc.read_adc (0, gain = 1)))), če _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) #s.connect ((TCP_IP, TCP_PORT)) #s.setblocking (0) loopRead (s)

4. korak: Škatla

Za bolj kompaktno elektroniko smo oblikovali škatlo, v kateri bo vse v notranjosti. Za privijanje vsega bomo uporabili vijake M3.

Priporočena: