Cuprins:
Video: EnergyChain: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
/ * Lucrare încă în desfășurare * /
Lanțul energetic este un POC care combină IOT și Blockchain.
Ceea ce am făcut noi le permite oamenilor să vândă energia pe care o produc oricui, fără nici un nivel necesar. Pentru a asigura siguranța între producător și consumator, consumatorul poate conecta orice vrea pe el și poate obține energie. Caseta măsoară cantitatea de curent consumată și scrie echivalentul
Pasul 1: Materiale
Pentru realizarea acestui proiect vom folosi:
- 1 Raspberry Pi Zero
- 1 senzor de curent AS712 (20A)
- 1 ADC 16 biți I2C ADS1555
- 1 senzor RFID RC522
- 1 releu 5V
- Convertor 1AC / DC 5V / 2A ECL10US05-E de la Farnell
- 1 priză electrică
Pasul 2: Cablare
Trebuie să conectăm totul așa cum se arată în imagine, să fim atenți la curentul livrat de Raspberry Pi.
Cablare comandă:
- 3v3 Putere - Releu 5V Vcc / Senzor de curent Vcc / RFID Vcc / ADC Vcc
- 5v Putere - convertor AC / DC 5v
- Masă - Releu 5V GND / Senzor de curent GND / AC / DC Convertor GND / RFID GND / ADC intrare și ieșire 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 - Releu 5V IN
- BCM 24 - Resetare RFID
- BCM 25 - RFID RST
Pasul 3: Cod
Acest cod funcționează după cum urmează:
Senzorul RFID așteaptă o etichetă și o scrie în terminal. Apoi senzorul de curent măsoară cantitatea de curent alternativ consumat și afișează în terminal puterea instantanee la fiecare 100 de măsuri. Datorită acestui fapt, putem obține cantitatea de kWh.
socket de import, json
import sys from threading import Thread from pirc522 import RFID import RPi. GPIO as GPIO ## Import GPIO library Import signal import time import Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11, Adevărat) rdr = RFID () util = rdr.util () util.debug = Adevărat TCP_IP = '172.31.29.215' TCP_PORT = 5000 BUFFER_SIZE = 1024 adc = Adafruit_ADS1x15. ADS1115 () def end_read (semnal, cadru): rulare globală print ("\ nCtrl + C capturat, terminat citit.") 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 print 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 = Fals dacă dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' cu excepția excepției ca e: continue s.close () etichetă def (): rdr.wait_for_tag () (eroare, date) = rdr.request () time.sleep (0.25) (eroare, uid) = rdr.anticoll () ID = str (uid [0]) + '. '+ str (uid [1]) +'. '+ str (uid [2]) +'. '+ str (uid [3]) print ("UID citit card:" + 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)
Pasul 4: Cutia
Pentru a face toate companiile electronice mai compacte, am proiectat o cutie care va conține totul în interior. Pentru a înșuruba totul vom folosi șuruburi M3.
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Cum să faci un contor de pași ?: 3 pași (cu imagini)
Cum să fac un contor de pași ?: obișnuiam să performez bine la multe sporturi: mersul pe jos, alergatul, mersul pe bicicletă, jocul de badminton etc. Îmi place să călăresc să călătoresc în preajmă. Ei bine, uită-te la burtica mea ostilă …… Ei bine, oricum, decid să reîncep să fac mișcare. Ce echipament ar trebui să pregătesc?