Table des matières:

Chaîne énergétique : 4 étapes
Chaîne énergétique : 4 étapes

Vidéo: Chaîne énergétique : 4 étapes

Vidéo: Chaîne énergétique : 4 étapes
Vidéo: La chaîne fonctionnelle : chaîne d'énergie et chaîne d'information 2024, Novembre
Anonim
Chaîne d'énergie
Chaîne d'énergie

/* Travaux toujours en cours */

Energy Chain est un POC qui combine IOT et Blockchain.

Ce que nous avons fait permet aux gens de vendre l'énergie qu'ils produisent à n'importe qui sans aucun niveau requis. Pour assurer la sécurité entre le producteur et le consommateur, le consommateur peut brancher ce qu'il veut dessus et obtenir de l'énergie. La case mesure la quantité de courant consommé et écris l'équivalent

Étape 1: Matériaux

Matériaux
Matériaux
Matériaux
Matériaux
Matériaux
Matériaux

Pour réaliser ce projet nous utiliserons:

- 1 Raspberry Pi Zéro

- 1 capteur de courant AS712 (20A)

- 1 CAN 16bit I2C ADS1555

- 1 capteur RFID RC522

- 1 relais 5V

- Convertisseur 1AC/DC 5V/2A ECL10US05-E de Farnell

- 1 prise électrique

Étape 2: Câblage

Câblage
Câblage

Nous devons tout câbler ensemble comme indiqué sur la photo, attention au courant délivré par le Raspberry Pi.

Câblage de commande:

  • Alimentation 3v3 - Relais 5V Vcc/Capteur de courant Vcc/RFID Vcc/ADC Vcc
  • Alimentation 5v - Convertisseur AC/DC 5v
  • Masse - Relais 5V GND/Capteur de courant GND/AC/DC convertisseur GND/RFID GND/ADC entrée et sortie GND
  • BCM 2 - CAN SDA
  • BCM 3 - CAN SCL
  • BCM 4 - ADC CLK
  • BCM 6 - RFID SDA
  • BCM 9 - RFID MISO
  • BCM 10 - RFID MOSI
  • BCM 11 - SCK RFID
  • BCM 17 - Relais 5V ENTRÉE
  • BCM 24 - Réinitialisation RFID
  • BCM 25 - RFID RST

Étape 3: Coder

Ce code fonctionne comme suit:

Le capteur RFID attend une étiquette et l'inscrit dans le Terminal. Ensuite, le capteur de courant mesure la quantité de courant alternatif consommé et affiche dans le terminal la puissance instantanée toutes les 100 mesures. Grâce à cela, nous pouvons obtenir la quantité de kWh.

socket d'importation, json

import sys from threading import Thread from pirc522 import RFID import RPi. GPIO as GPIO ## Importer la bibliothèque GPIO 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(signal, frame): exécution globale print("\nCtrl+C capturé, fin de lecture.") run = False rdr.cleanup() sys.exit() signal.signal(signal. SIGINT, end_read) def loopRead(s): DemandeTag=1 DemandeMesure=0 bol = True while (bol): si DemandeTag==1: tag() DemandeTag=0 DemandeMesure=1 si DemandeMesure==1: Mesure2() try: data = s.recv(BUFFER_SIZE) sinon data: break print data dataJSON = json.loads(data) if "message" dans 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='' sauf Exception as e: continue s.close() def tag(): rdr.wait_for_tag() (erreur, données) = rdr.request() time.sleep(0.25) (erreur, uid) = rdr.anticoll() ID=str(uid[0])+'.'+str(uid[1])+'.'+str(uid[2])+'.'+str(uid[3]) print("UID de lecture de carte: "+ID) GPIO.output(11, GPIO. LOW) def Mesure(): mesure_voltage = 0 Nbre_mesure=100 i = 0 tandis que 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)

Étape 4: La boîte

Pour rendre toute l'électronique plus compacte, nous avons conçu une boîte qui contiendra tout à l'intérieur. Pour visser le tout nous utiliserons des vis M3.

Conseillé: