İçindekiler:

EnergyChain: 4 Adım
EnergyChain: 4 Adım

Video: EnergyChain: 4 Adım

Video: EnergyChain: 4 Adım
Video: How to connect of two links of igus® E4 1L e-chain® cable carriers 2024, Kasım
Anonim
EnerjiZinciri
EnerjiZinciri

/* Çalışma devam ediyor */

Energy Chain, IOT ve Blockchain'i birleştiren bir POC'dir.

Yaptığımız şey, insanların ürettikleri enerjiyi herhangi bir katmana ihtiyaç duymadan herkese satmalarını sağladı. Üretici ve tüketici arasındaki güvenliği sağlamak için tüketici istediğini ona bağlayabilir ve enerji alabilir. Kutu, tüketilen akım miktarını ölçer ve eşdeğerini yazar.

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler

Bu projeyi yapmak için kullanacağız:

- 1 Ahududu Pi Sıfır

- 1 akım sensörü AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 RFID sensörü RC522

- 1 röle 5V

- Farnell'den 1AC/DC 5V/2A dönüştürücü ECL10US05-E

- 1 elektrik prizi

Adım 2: Kablolama

kablolama
kablolama

Raspberry Pi'nin verdiği akıma dikkat ederek resimde görüldüğü gibi her şeyi birbirine bağlamamız gerekiyor.

Komut kablolama:

  • 3v3 Güç - Röle 5V Vcc/Akım Sensörü Vcc/RFID Vcc/ADC Vcc
  • 5v Güç - AC/DC dönüştürücü 5v
  • Toprak - Röle 5V GND/Akım Sensörü GND/AC/DC dönüştürücü GND/RFID GND/ADC giriş ve çıkış GND
  • BCM 2 - ADC SDA
  • BCM 3 - ADC SCL
  • BCM 4 - ADC CLK
  • BCM 6 - RFID SDA'sı
  • BCM 9 - RFID MISO
  • BCM 10 - RFID MOSI
  • BCM 11 - RFID SCK
  • BCM 17 - Röle 5V IN
  • BCM 24 - RFID Sıfırlama
  • BCM 25 - RFID RST

3. Adım: Kodlayın

Bu kod aşağıdaki gibi çalışır:

RFID sensörü bir etiket bekler ve Terminal'e yazar. Ardından akım sensörü tüketilen AC akım miktarını ölçer ve terminalde her 100 ölçümde bir anlık gücü gösterir. Bunun sayesinde kWh miktarını alabiliyoruz.

içe aktarma soketi, json

iş parçacığından sys içe aktar pirc522'den iş parçacığını içe aktar RFID'den içe aktar RPi. GPIO'yu GPIO olarak içe aktar ## GPIO kitaplığını içe aktar sinyal alma içe aktarma zamanı içe aktar Adafruit_ADS1x15 GPIO.setmode(GPIO. BOARD) GPIO.setup(11, GPIO. OUT) GPIO.output(11, Doğru) rdr = RFID() util = rdr.util() util.debug = Doğru TCP_IP = '172.31.29.215' TCP_PORT = 5000 BUFFER_SIZE = 1024 adc = Adafruit_ADS1x15. ADS1115() def end_read(sinyal, çerçeve): genel çalıştırma print("\nCtrl+C yakalandı, okuma bitti.") run = False rdr.cleanup() sys.exit() signal.signal(signal. SIGINT, end_read) def loopRead(s): DemandeTag=1 DemandeMesure=0 bol = True while (bol): ise DemandeTag==1: tag() DemandeTag=0 ise DemandeMesure=1 ise DemandeMesure==1: Mesure2() try: data = s.recv(BUFFER_SIZE) data değilse: break print data dataJSON = json.loads(data) dataJSON'da "mesaj" ise: print dataJSON['message'] if dataJSON['message'] == "exit": print('Exit requeste') GPIO.output(11, GPIO. HIGH) DemandeTag=0 DemandeMesure=0 bol = dataJSON['message'] == "on" ise False: GPIO.output(11, GPIO. LOW) DemandeMesure=1 DemandeTag=1 eğer dataJSON['message'] == "off": GPIO.output(11, GPIO. HIGH) DemandeTag=1 mesaj='' İstisna dışında: e: devam s.close() def tag(): rdr.wait_for_tag() (hata, veri) = rdr.request() time.sleep(0.25) (hata, kullanıcı kimliği) = rdr.anticoll() ID=str(uid[0])+'.'+str(uid[1])+'.'+str(uid[2])+'.'+str(uid[3]) print("Kart okuma UID: "+ID) GPIO.output(11, GPIO. LOW) def Mesure(): mesure_voltage = 0 Nbre_mesure=100 i = 0 iken 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 eğer readValue def Mesure3(): print(str(adc.read_adc(0, kazanç=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. Adım: Kutu

Tüm elektronikleri daha kompakt hale getirmek için içinde her şeyi içerecek bir kutu tasarladık. Her şeyi vidalamak için M3 vidaları kullanacağız.

Önerilen: