Სარჩევი:

EnergyChain: 4 ნაბიჯი
EnergyChain: 4 ნაბიჯი

ვიდეო: EnergyChain: 4 ნაბიჯი

ვიდეო: EnergyChain: 4 ნაბიჯი
ვიდეო: Чернобыль: Разгадка тайных манипуляций историей ! Зомбирование в православной церкви. 2024, ივლისი
Anonim
ენერგიის ჯაჭვი
ენერგიის ჯაჭვი

/ * მუშაობა ჯერ კიდევ მიმდინარეობს */

Energy Chain არის POC, რომელიც აერთიანებს IOT და Blockchain.

ის, რაც ჩვენ შევქმენით, საშუალებას აძლევს ადამიანებს გაყიდონ თავიანთი წარმოებული ენერგია ვინმეს, ყოველგვარი დონის გარეშე. პროდიუსერსა და მომხმარებელს შორის უსაფრთხოების უზრუნველსაყოფად, მომხმარებელს შეუძლია დააკავშიროს რაც მას სურს და მიიღოს ენერგია. ყუთი ზომავს მოხმარებული დენის რაოდენობას და წერს ეკვივალენტს

ნაბიჯი 1: მასალები

მასალები
მასალები
მასალები
მასალები
მასალები
მასალები

ამ პროჯეტის შესაქმნელად ჩვენ გამოვიყენებთ:

- 1 ჟოლო პი ნულოვანი

- 1 მიმდინარე სენსორი AS712 (20A)

- 1 ADC 16 ბიტიანი I2C ADS1555

- 1 RFID სენსორი RC522

- 1 რელე 5 ვ

- 1AC/DC 5V/2A გადამყვანი ECL10US05-E ფარნელისგან

- 1 ელექტრული განყოფილება

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა

ჩვენ უნდა გავაერთიანოთ ყველაფერი ისე, როგორც ეს ნაჩვენებია სურათზე, ფრთხილად იყავით Raspberry Pi– ის მიერ მოწოდებული დენის მიმართ.

ბრძანების გაყვანილობა:

  • 3v3 სიმძლავრე - სარელეო 5V Vcc/მიმდინარე სენსორი Vcc/RFID Vcc/ADC Vcc
  • 5 ვ სიმძლავრე - AC/DC გადამყვანი 5 ვ
  • Ground - სარელეო 5V GND/მიმდინარე სენსორი GND/AC/DC გადამყვანი GND/RFID GND/ADC შეყვანა და გამომავალი 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 - სარელეო 5V IN
  • BCM 24 - RFID გადატვირთვა
  • BCM 25 - RFID RST

ნაბიჯი 3: კოდი

ეს კოდი მუშაობს შემდეგნაირად:

RFID სენსორი ელოდება ტეგს და ჩაწერს მას ტერმინალში. შემდეგ მიმდინარე სენსორი ზომავს მოხმარებული AC დენის რაოდენობას და აჩვენებს ტერმინალში მყისიერ სიმძლავრეს ყოველ 100 ღონისძიებაზე. ამის წყალობით, ჩვენ შეგვიძლია მივიღოთ kWh ოდენობა.

იმპორტის სოკეტი, json

იმპორტი sys საწყისი threading იმპორტი თემა pirc522 იმპორტი RFID იმპორტი RPi. GPIO როგორც GPIO ## GPIO ბიბლიოთეკის იმპორტი სიგნალის იმპორტის დრო იმპორტი Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11 სწორი ბეჭდვა ("\ nCtrl+C გადაღებული, წაკითხვის დამთავრება.") გაშვება = ყალბი 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) თუ არა მონაცემები: მონაცემების ამობეჭდვა მონაცემების JSON = 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 = ყალბი თუ მონაცემები JSON ['შეტყობინება'] == "ჩართულია": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 თუ მონაცემები JSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 შეტყობინება = "გამონაკლისის გარდა e: გაგრძელება s.close () def tag (): rdr.wait_for_tag () (შეცდომა, მონაცემები) = rdr. მოთხოვნა () time.sleep (0.25) (შეცდომა, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("Card read UID:"+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 = ხოლო 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: ყუთი

იმისათვის, რომ ყველა ელექტრონიკა უფრო კომპაქტური იყოს, ჩვენ შევქმენით ყუთი, რომელიც შეიცავს ყველაფერს შიგნით. ყველაფრის დასამუხტად ჩვენ გამოვიყენებთ M3 ხრახნებს.

გირჩევთ: