Mục lục:

EnergyChain: 4 bước
EnergyChain: 4 bước

Video: EnergyChain: 4 bước

Video: EnergyChain: 4 bước
Video: TẤT TẦN TẬT CÁC LOẠI CHUN TRONG CHỈNH NHA - CHUN NÀO? ĐEO GIAI ĐOẠN NÀO? 2024, Tháng bảy
Anonim
Chuỗi năng lượng
Chuỗi năng lượng

/ * Công việc vẫn đang được tiến hành * /

Chuỗi năng lượng là một POC kết hợp IOT và Blockchain.

Những gì chúng tôi tạo ra cho phép mọi người bán năng lượng họ sản xuất cho bất kỳ ai mà không cần bất kỳ cấp bậc nào. Để đảm bảo an toàn giữa người sản xuất và người tiêu dùng, người tiêu dùng có thể kết nối bất cứ thứ gì họ muốn trên đó và nhận năng lượng. Hộp đo lượng dòng điện tiêu thụ và ghi giá trị tương đương

Bước 1: Vật liệu

Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu

Để tạo ra projet này, chúng tôi sẽ sử dụng:

- 1 Raspberry Pi Zero

- 1 cảm biến dòng AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 cảm biến RFID RC522

- 1 rơ le 5V

- Bộ chuyển đổi 1AC / DC 5V / 2A ECL10US05-E từ Farnell

- 1 ổ cắm điện

Bước 2: Đấu dây

Đấu dây
Đấu dây

Chúng ta cần kết nối mọi thứ lại với nhau như trong hình, hãy cẩn thận với dòng điện được cung cấp bởi Raspberry Pi.

Hệ thống dây lệnh:

  • Nguồn 3v3 - Rơ le 5V Vcc / Cảm biến dòng điện Vcc / RFID Vcc / ADC Vcc
  • Nguồn 5v - Bộ chuyển đổi AC / DC 5v
  • Tiếp đất - Rơ le 5V GND / Cảm biến dòng điện GND / Bộ chuyển đổi AC / DC GND / RFID GND / Đầu vào và đầu ra ADC 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 - Rơ le 5V IN
  • BCM 24 - Đặt lại RFID
  • BCM 25 - RFID RST

Bước 3: Mã

Mã này hoạt động như sau:

Cảm biến RFID sẽ đợi một thẻ và ghi nó vào Terminal. Nhờ đó, chúng ta có thể nhận được lượng kWh.

ổ cắm nhập khẩu, json

nhập hệ thống từ nhập phân luồng Luồng từ pirc522 nhập RFID nhập RPi. GPIO dưới dạng GPIO ## Nhập thời gian nhập tín hiệu nhập thư viện GPIO Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11, True) rdr = RFID () use = rdr.util () use.debug = True TCP_IP = '172.31.29.215' TCP_PORT = 5000 BUFFER_SIZE = 1024 adc = Adafruit_ADS1x15. ADS1115 () def end_read (signal, frame): chạy toàn cầu print ("\ nCtrl + C được chụp, kết thúc đọc.") 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 () try: data = s.recv (BUFFER_SIZE) if not data: break in data dataJSON = 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 = False if dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' ngoại trừ Exception as e: continue s.close () thẻ def (): rdr.wait_for_tag () (lỗi, dữ liệu) = rdr.request () time.sleep (0,25) (lỗi, uid) = rdr.anticoll () ID = str (uid [0]) + '. '+ str (uid [1]) +'. '+ str (uid [2]) +'. '+ str (uid [3]) print ("Thẻ đọc UID:" + 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 while 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)

Bước 4: Hộp

Để làm cho tất cả các thiết bị điện tử nhỏ gọn hơn, chúng tôi đã thiết kế một chiếc hộp chứa mọi thứ bên trong. Để vặn mọi thứ chúng ta sẽ sử dụng vít M3.

Đề xuất: