Spisu treści:

EnergyChain: 4 kroki
EnergyChain: 4 kroki

Wideo: EnergyChain: 4 kroki

Wideo: EnergyChain: 4 kroki
Wideo: КТО УПРАВЛЯЕТ МИРОМ на самом деле? Откровение оккультиста (English and Spanish Subtitles) 2024, Listopad
Anonim
Łańcuch energetyczny
Łańcuch energetyczny

/* Prace w toku */

Energy Chain to POC, który łączy IOT i Blockchain.

To, co stworzyliśmy, pozwala ludziom sprzedawać energię, którą produkują, każdemu, bez żadnego potrzebnego poziomu. Aby zapewnić bezpieczeństwo między producentem a konsumentem, konsument może podłączyć do niego co tylko chce i uzyskać energię. Pudełko mierzy ilość pobieranego prądu i zapisuje odpowiednik

Krok 1: Materiały

Materiały
Materiały
Materiały
Materiały
Materiały
Materiały

Do wykonania tego projektu wykorzystamy:

- 1 Raspberry Pi Zero

- 1 czujnik prądu AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 czujnik RFID RC522

- 1 przekaźnik 5V

- Przetwornica 1AC/DC 5V/2A ECL10US05-E firmy Farnell

- 1 gniazdko elektryczne

Krok 2: Okablowanie

Okablowanie
Okablowanie

Musimy wszystko połączyć ze sobą, jak pokazano na obrazku, uważaj na prąd dostarczany przez Raspberry Pi.

Okablowanie poleceń:

  • Zasilanie 3v3 - przekaźnik 5V Vcc/czujnik prądu Vcc/RFID Vcc/ADC Vcc
  • Zasilanie 5v - konwerter AC/DC 5v
  • Masa - Przekaźnik 5V GND/czujnik prądu GND/AC/DC przetwornik GND/RFID GND/ADC wejście i wyjście 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 - Przekaźnik 5V IN
  • BCM 24 - resetowanie RFID
  • BCM 25 - RFID RST

Krok 3: Kod

Ten kod działa w następujący sposób:

Czujnik RFID czeka na tag i zapisuje go w terminalu. Następnie czujnik prądu mierzy ilość pobieranego prądu AC i wyświetla w terminalu moc chwilową co 100 pomiarów. Dzięki temu możemy uzyskać ilość kWh.

importuj gniazdo, json

import sys from threading import Thread from pirc522 import RFID import RPi. GPIO jako 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(sygnał, ramka): globalne uruchomienie print("\nCtrl+C przechwycony, zakończenie odczytu.") 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: przerwanie wydruku danych dataJSON = json.loads(data) if "message" in dataJSON: print dataJSON['message'] if dataJSON['message'] == "exit": print('Exit requeste') 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 komunikat='' z wyjątkiem wyjątku jako e: Continue s.close() def tag(): rdr.wait_for_tag() (błąd, dane) = rdr.request() time.sleep(0.25) (błąd, uid) = rdr.anticoll() ID=str(uid[0])+'.'+str(uid[1])+'.'+str(uid[2])+'.'+str(uid[3]) print("UID odczytu karty: "+ID) GPIO.output(11, GPIO. LOW) def Mesure(): pomiar_napięcie = 0 Np.pomiar=100 i = 0 while i def Mesure2(): pomiar_napięcie = 0 Np.pomiar_napięcie=200 maksymalne_napięcie=0 min_napięcie=32768 mVparAmp = 100 Moc=0 i = 0 readValue=0 while imax_voltage: max_voltage=wartośćodczytu if readValue def Mesure3(): print(str(adc.read_adc(0, wzmocnienie=1))) if _name_ == "_main_": s = socket.socket(socket. AF_INET, socket. SOCK_STREAM) #s.connect((TCP_IP, TCP_PORT)) #s.setblocking(0) loopRead(s)

Krok 4: Pudełko

Aby cała elektronika była bardziej kompaktowa, zaprojektowaliśmy pudełko, które pomieści wszystko w środku. Do przykręcenia wszystkiego użyjemy śrub M3.

Zalecana: