Isi kandungan:

EnergyChain: 4 Langkah
EnergyChain: 4 Langkah

Video: EnergyChain: 4 Langkah

Video: EnergyChain: 4 Langkah
Video: How to connect of two links of igus® E4 1L e-chain® cable carriers 2024, November
Anonim
Rantai Tenaga
Rantai Tenaga

/ * Kerja masih dalam proses * /

Energy Chain adalah POC yang menggabungkan IOT dan Blockchain.

Apa yang kami buat membolehkan orang menjual tenaga yang mereka hasilkan kepada sesiapa sahaja tanpa memerlukan tahap. Untuk memastikan keselamatan antara pengeluar dan pengguna, pengguna dapat menghubungkan apa sahaja yang diinginkannya dan mendapatkan tenaga. Kotak mengukur jumlah arus yang digunakan dan tuliskan yang setara

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Untuk membuat projet ini kami akan menggunakan:

- 1 Raspberry Pi Zero

- 1 sensor semasa AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 sensor RFID RC522

- 1 geganti 5V

- Penukar 1AC / DC 5V / 2A ECL10US05-E dari Farnell

- 1 soket elektrik

Langkah 2: Pendawaian

Pendawaian
Pendawaian

Kita perlu menyatukan semuanya seperti yang ditunjukkan dalam gambar, berhati-hati dengan arus yang disampaikan oleh Raspberry Pi.

Pendawaian arahan:

  • Kuasa 3v3 - Relay 5V Vcc / Sensor Semasa Vcc / RFID Vcc / ADC Vcc
  • 5v Kuasa - Penukar AC / DC 5v
  • Ground - Relay 5V GND / Sensor Semasa GND / AC / DC converter GND / RFID GND / ADC input dan 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 - Tetapkan Semula RFID
  • BCM 25 - RFID RST

Langkah 3: Kod

Kod ini berfungsi seperti berikut:

Sensor RFID menunggu tag dan menuliskannya di Terminal. Kemudian sensor semasa mengukur jumlah arus AC yang digunakan dan memaparkan di seketika daya sesaat setiap 100 ukuran. Berkat itu, kita dapat jumlah kWh.

soket import, json

import sys dari threading import Thread dari pirc522 import RFID import RPi. GPIO as GPIO ## Import GPIO library import import 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 (isyarat, bingkai): run global print ("\ nCtrl + C dirakam, dibaca akhir.") run = False 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 () cuba: data = s.recv (BUFFER_SIZE) jika bukan data: pecahkan data data cetakJSON = json.loads (data) jika "message" dalam dataJSON: print dataJSON ['message'] if dataJSON ['message'] == "exit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = Salah jika dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' kecuali Pengecualian sebagai e: terus s.close () def tag (): rdr.wait_for_tag () (ralat, data) = 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 read card:" + ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 sementara saya def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue manakala imax_voltage: max_voltage = readValue if readValue def Mesure3 (): print (str (adc.read_adc (0, gain = 1))) jika _nama_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM # s.connect ((TCP_IP, TCP_PORT)) # s.setblocking (0) loopRead (s)

Langkah 4: Kotak

Untuk menjadikan semua elektronik lebih padat, kami merancang kotak yang akan mengandungi semua barang di dalamnya. Untuk mengacaukan semua, kami akan menggunakan skru M3.

Disyorkan: