Sisällysluettelo:

EnergyChain: 4 vaihetta
EnergyChain: 4 vaihetta

Video: EnergyChain: 4 vaihetta

Video: EnergyChain: 4 vaihetta
Video: Energy Chains -Junior 4 - Grade 4 - 2024, Heinäkuu
Anonim
Energiaketju
Energiaketju

/ * Työt vielä kesken */

Energy Chain on POC, joka yhdistää IOT: n ja Blockchainin.

Tekemiemme ansiosta ihmiset voivat myydä tuottamansa energian kenelle tahansa ilman tarvittavaa tasoa. Turvallisuuden varmistamiseksi valmistajan ja kuluttajan välillä kuluttaja voi liittää siihen mitä tahansa ja saada energiaa. Laatikko mittaa kulutetun virran määrän ja kirjoittaa vastaavan

Vaihe 1: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit

Tämän projektin tekemiseen käytämme:

- 1 Raspberry Pi Zero

- 1 virta -anturi AS712 (20A)

- 1 ADC 16 -bittinen I2C ADS1555

- 1 RFID -anturi RC522

- 1 rele 5V

- 1AC/DC 5V/2A -muunnin ECL10US05-E, Farnell

- 1 pistorasia

Vaihe 2: Johdotus

Johdotus
Johdotus

Meidän on yhdistettävä kaikki yhteen, kuten kuvassa näkyy, ole varovainen Raspberry Pi: n toimittaman virran kanssa.

Komentojen johdotus:

  • 3v3 Virta - Rele 5V Vcc/Virta -anturi Vcc/RFID Vcc/ADC Vcc
  • 5v Virta - AC/DC -muunnin 5v
  • Maa - Rele 5V GND/Virta -anturi GND/AC/DC -muunnin GND/RFID GND/ADC -tulo ja -lähtö 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 -nollaus
  • BCM 25 - RFID RST

Vaihe 3: Koodi

Tämä koodi toimii seuraavasti:

RFID -anturi odottaa tunnistetta ja kirjoittaa sen päätelaitteeseen. Sitten virta -anturi mittaa kulutetun vaihtovirran määrän ja näyttää päätelaitteessa hetkellisen tehon 100 mittauksen välein. Tämän ansiosta voimme saada kWh -määrän.

tuontiliitäntä, json

tuoda sys ketjutuksen tuonnista Lanka pirc522: sta tuoda RFID -tuonti RPi. GPIO GPIO: na ## Tuo GPIO -kirjaston tuontisignaalin tuontiajan tuonti 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 (signaali, kehys): maailmanlaajuinen suoritus print ("\ nCtrl+C tallennettu, lukeminen päättyy.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopLue (s): DemandeTag = 1 DemandeMesure = 0 bol = Totta kun (bol): jos DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 jos DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) jos ei data: rikkoa tulostustiedotJSON = json.loads (data) if "message" in dataJSON: print dataJSON ['message'] if dataJSON ['message'] == "exit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = Väärä, jos dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 jos dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' paitsi poikkeus e: jatka s.close () def tag (): rdr.wait_for_tag () (virhe, data) = rdr.request () time.sleep (0.25) (virhe, 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, kun i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 kun taas 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.setblocking (0) loopRead (s)

Vaihe 4: Laatikko

Jotta koko elektroniikka olisi pienempää, suunnittelimme laatikon, joka sisältää kaiken sisälle. Kaiken ruuvaamiseen käytämme M3 -ruuveja.

Suositeltava: