Агуулгын хүснэгт:

EnergyChain: 4 алхам
EnergyChain: 4 алхам

Видео: EnergyChain: 4 алхам

Видео: EnergyChain: 4 алхам
Видео: Насколько надёжна 20-клапанная "чётверка"? Все слабые места легендарного 1.8 20v (без турбо). 2024, Долдугаар сарын
Anonim
EnergyCain
EnergyCain

/ * Ажил үргэлжилж байна */

Energy Chain бол IOT ба Blockchain -ийг хослуулсан POC юм.

Бидний хийсэн зүйл нь хүмүүст үйлдвэрлэсэн эрчим хүчээ ямар ч шатлалгүйгээр хэнд ч зарах боломжийг олгодог. Үйлдвэрлэгч ба хэрэглэгч хоёрын хооронд аюулгүй байдлыг хангахын тулд хэрэглэгч хүссэн зүйлээ холбож, энерги авах боломжтой. Энэ хайрцаг нь хэрэглэсэн гүйдлийн хэмжээг хэмжиж, эквивалентийг бичнэ

Алхам 1: Материал

Материал
Материал
Материал
Материал
Материал
Материал

Энэхүү төслийг хийхийн тулд бид дараахь зүйлийг ашиглах болно.

- 1 Raspberry Pi Zero

- 1 одоогийн мэдрэгч AS712 (20A)

- 1 ADC 16bit I2C ADS1555

- 1 RFID мэдрэгч RC522

- 1 реле 5V

- Фарнелийн 1AC/DC 5V/2A хөрвүүлэгч ECL10US05-E

- 1 цахилгаан залгуур

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас

Зураг дээр үзүүлсэн шиг бид бүх зүйлийг холбож, Raspberry Pi -ийн дамжуулж буй гүйдэлд болгоомжтой хандах хэрэгтэй.

Командын утас:

  • 3v3 хүч - Реле 5V Vcc/Одоогийн мэдрэгч Vcc/RFID Vcc/ADC Vcc
  • 5v хүч - AC/DC хөрвүүлэгч 5v
  • Газардуулга - 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 мэдрэгч нь шошгыг хүлээж терминал дээр бичдэг бөгөөд одоогийн мэдрэгч нь хэрэглэсэн хувьсах гүйдлийн хэмжээг хэмжиж, терминал дээр 100 хэмжигдэхүүн бүрт агшин зуурын хүчийг харуулдаг. Үүний ачаар бид кВт.цаг эрчим хүч авах боломжтой.

импортын сокет, json

урсгал дамжуулалтаас sys импортлох pirc522 -аас thread RFID импорт RPi. GPIO -г GPIO болгон ## Импорт GPIO номын сан импортлох дохио импортлох цаг импортлох 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 (дохио, хүрээ): дэлхийн гүйлт print ("\ nCtrl+C авсан, уншиж дууссан.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = Үнэн байхад (bol): хэрэв DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 бол DemandeMesure == 1: Mesure2 () оролдох: data = s.recv (BUFFER_SIZE) хэрэв өгөгдөл биш бол: хэвлэх мэдээллийн өгөгдлийг эвдэхJSON = өгөгдөлд "зурвас" байгаа бол json.loads (өгөгдөл): өгөгдлийг хэвлэх DemandeTag = 0 DemandeMesure = 0 bol = Хэрэв буруу бол dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 бол өгөгдөлJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' Exception in e: continue s.close () def tag (): rdr.wait_for_tag () (алдаа, өгөгдөл) = rdr.request () time.sleep (0.25) (алдаа, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) хэвлэх ("Карт уншсан UID:"+ID) GPIO. гаралт (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 байхад 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, win = 1))) if 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 эрэг ашиглана.

Зөвлөмж болгож буй: