Sisukord:

EnergyChain: 4 sammu
EnergyChain: 4 sammu

Video: EnergyChain: 4 sammu

Video: EnergyChain: 4 sammu
Video: 💥КАРМАННЫЙ СТАНОК для ТОЧЕНИЯ ПИЛЫ. Как быстро своими руками заточить цепь до заводской остроты! 2024, November
Anonim
EnergyChain
EnergyChain

/ * Tööd alles pooleli */

Energiaahel on POC, mis ühendab IOT ja Blockchaini.

See, mida me tegime, võimaldab inimestel oma toodetud energiat kellelegi ilma vajaduseta müüa. Tootja ja tarbija vahelise ohutuse tagamiseks saab tarbija sellega ühendada kõik, mida tahab, ja saada energiat. Kast mõõdab tarbitud vooluhulka ja kirjutab samaväärse

Samm: materjalid

Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid

Selle projekti valmistamiseks kasutame:

- 1 Raspberry Pi Zero

- 1 vooluandur AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 RFID -andur RC522

- 1 relee 5V

- Farnelli 1AC/DC 5V/2A muundur ECL10US05-E

- 1 pistikupesa

2. samm: juhtmestik

Juhtmestik
Juhtmestik

Peame kõik kokku ühendama, nagu pildil näidatud, olge ettevaatlik Raspberry Pi edastatava voolu suhtes.

Käsu juhtmestik:

  • 3v3 toide - relee 5 Vcc/vooluandur Vcc/RFID Vcc/ADC Vcc
  • 5v Toide - AC/DC muundur 5v
  • Maandus - relee 5V GND/vooluandur GND/AC/DC muundur GND/RFID GND/ADC sisend ja väljund 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 - relee 5V IN
  • BCM 24 - RFID lähtestamine
  • BCM 25 - RFID RST

3. samm: kood

See kood töötab järgmiselt:

RFID -andur ootab märgendit ja kirjutab selle terminali. Seejärel mõõdab praegune andur tarbitud vahelduvvoolu kogust ja kuvab terminalis hetkelise võimsuse iga 100 mõõtmise järel. Tänu sellele saame koguse kWh.

impordipesa, json

impordi süsteem lõimimisest importimine Lõim pirc522 -st impordi RFID import RPi. GPIO kui GPIO ## Impordi GPIO raamatukogu impordi signaali impordi aja 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 (signaal, kaader): globaalne käitamine print ("\ nCtrl+C jäädvustatud, lugemine lõpeb.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopLoe (s): DemandeTag = 1 DemandeMesure = 0 bol = Tõsi samal ajal (bol): kui DemandeTag == 1: silt () DemandeTag = 0 DemandeMesure = 1, kui DemandeMesure == 1: Mesure2 () proovige: data = s.recv (BUFFER_SIZE), kui mitte andmed: katkestage prindiandmete andmedJSON = json.loads (andmed), kui "sõnum" andmetes DemandeTag = 0 DemandeMesure = 0 bol = Väär, kui dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1, kui andmed) def tag (): rdr.wait_for_tag () (viga, andmed) = rdr.request () time.sleep (0.25) (viga, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("Kaardi lugemise UID:"+ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0, samas kui i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 samas kui 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)

4. samm: kast

Kogu elektroonika kompaktsemaks muutmiseks kavandasime kasti, mis sisaldab kõike sees. Kõigi kruvimiseks kasutame M3 kruvisid.

Soovitan: