Mündəricat:

EnergyChain: 4 addım
EnergyChain: 4 addım

Video: EnergyChain: 4 addım

Video: EnergyChain: 4 addım
Video: Lellki WK34 - встраиваемая zigbee евророзетка с энергомониторингом, интеграция в Home Assistant 2024, Iyul
Anonim
EnergyChain
EnergyChain

/ * İş hələ davam edir */

Enerji Zənciri, IOT və Blockchain'i birləşdirən bir POCdur.

Etdiklərimiz insanlara istehsal etdikləri enerjini heç bir səviyyəyə ehtiyac olmadan hər kəsə satmağa imkan verir. İstehsalçı ilə istehlakçı arasında təhlükəsizliyi təmin etmək üçün istehlakçı istədiyi hər şeyi bağlaya və enerji əldə edə bilər. Qutuda istehlak olunan cərəyan ölçülür və ekvivalenti yazılır

Addım 1: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Bu layihəni hazırlamaq üçün istifadə edəcəyik:

- 1 ədəd Raspberry Pi Zero

- 1 cərəyan sensoru AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 RFID sensoru RC522

- 1 röle 5V

- Farnell-dən 1AC/DC 5V/2A çevirici ECL10US05-E

- 1 elektrik prizi

Addım 2: Kabel çəkmə

Kablolama
Kablolama

Şəkildə göstərildiyi kimi hər şeyi bir -birinə bağlamalıyıq, Raspberry Pi tərəfindən verilən cərəyana diqqətli olun.

Komanda naqilləri:

  • 3v3 Güc - Röle 5V Vcc/Cari Sensor Vcc/RFID Vcc/ADC Vcc
  • 5v Güc - AC/DC çeviricisi 5v
  • Topraklama - 5V GND/Cari Sensor GND/AC/DC çeviricisi GND/RFID GND/ADC giriş və çıxışı 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 - Relay 5V IN
  • BCM 24 - RFID sıfırlaması
  • BCM 25 - RFID RST

Addım 3: Kod

Bu kod aşağıdakı kimi işləyir:

RFID sensoru bir etiketi gözləyir və onu Terminala yazır. Sonra cari sensor istehlak olunan AC cərəyanının miqdarını ölçür və hər 100 ölçüdə terminalda ani gücü göstərir. Bunun sayəsində kWh miqdarını əldə edə bilərik.

idxal soketi, json

mövzuları idxal etməkdən sys idxal etmək pirc522 -dən mövzu RFID idxalı RPi. GPIO kimi GPIO ## İdxal GPIO kitabxanası idxal siqnalı idxal vaxtı idxalı 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): global run print ("\ nCtrl+C çəkildi, oxunması sona çatdı.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = Doğru isə (bol): əgər DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 olarsa DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) data deyilsə: çap məlumatlarını qırınJSON = jSON ['mesaj'] == "çıxış": çap ('Çıxış tələbi') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = Yanlış əgər dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 əgər dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' kimi istisna istisna olmaqla e: davam s.close () def tag (): rdr.wait_for_tag () (səhv, məlumatlar) = rdr.request () time.sleep (0.25) (səhv, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("Kart oxunan UID:"+ID) GPIO.çıxış (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 imax_voltage isə: max_voltage = readValue əgər readValue def Mesure3 (): print (str (adc.read_adc (0, mənfəət = 1))) əgər _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) #s.connect ((TCP_IP, TCP_PORT)) #s.setblocking (0) loopRead (s)

Addım 4: Qutu

Bütün elektronikanı daha kompakt etmək üçün içərisində hər şeyi ehtiva edən bir qutu hazırladıq. Hər şeyi sökmək üçün M3 vintlərindən istifadə edəcəyik.

Tövsiyə: