INHOUDSOPGAWE:

EnergyChain: 4 stappe
EnergyChain: 4 stappe

Video: EnergyChain: 4 stappe

Video: EnergyChain: 4 stappe
Video: Необычный 4 тактный двигатель - БЕЗ КЛАПАНОВ гильза вращается Что за зверь такой ??? 2024, November
Anonim
EnergyChain
EnergyChain

/ * Werk nog aan die gang */

Energy Chain is 'n POC wat IOT en Blockchain kombineer.

Wat ons gemaak het, stel mense in staat om die energie wat hulle produseer, aan enigiemand te verkoop sonder om enige vlak nodig te hê. Om die veiligheid tussen die produsent en die verbruiker te verseker, kan die verbruiker daarop aansluit wat hy wil en energie kry. Die boks meet die hoeveelheid verbruikte stroom en skryf die ekwivalent neer

Stap 1: materiaal

Materiaal
Materiaal
Materiaal
Materiaal
Materiaal
Materiaal

Om hierdie projek te maak, gebruik ons:

- 1 Framboos Pi Zero

- 1 stroom sensor AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 RFID -sensor RC522

- 1 aflos 5V

- 1AC/DC 5V/2A converter ECL10US05-E van Farnell

- 1 elektriese uitlaat

Stap 2: Bedrading

Bedrading
Bedrading

Ons moet alles saamdra, soos op die foto, en wees versigtig vir die stroom wat deur die Raspberry Pi gelewer word.

Opdragbedrading:

  • 3v3 Power - Relay 5V Vcc/Current Sensor Vcc/RFID Vcc/ADC Vcc
  • 5v Power - AC/DC converter 5v
  • Grond - Relay 5V GND/Current Sensor GND/AC/DC converter GND/RFID GND/ADC input and output 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 - Relay 5V IN
  • BCM 24 - RFID -terugstelling
  • BCM 25 - RFID RST

Stap 3: Kodeer

Hierdie kode werk soos volg:

Die RFID -sensor wag vir 'n etiket en skryf dit in die terminale. Dan meet die huidige sensor die hoeveelheid wisselstroom wat verbruik word en wys die onmiddellike krag elke 100 metings in die terminaal. Danksy dit kan ons die hoeveelheid kWh kry.

invoer sok, 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 (sein, raam): globale lopie print ("\ nCtrl+C vasgelê, eindig gelees.") run = Onwaar 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) as "boodskap" in dataJSON: druk dataJSON ['boodskap'] as dataJSON ['boodskap'] == "afrit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = Onwaar as dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' behalwe Uitsondering as e: gaan voort s.close () def tag (): rdr.wait_for_tag () (fout, data) = rdr.request () time.sleep (0.25) (fout, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("UID [Card read": "+ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 terwyl i Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 terwyl 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.setblokkering (0) loopRead (s)

Stap 4: Die boks

Om al die elektronika meer kompak te maak, het ons 'n boks ontwerp wat alles daarin bevat. Om alles op te skroef, gebruik ons M3 -skroewe.

Aanbeveel: