جدول المحتويات:

سلسلة الطاقة: 4 خطوات
سلسلة الطاقة: 4 خطوات

فيديو: سلسلة الطاقة: 4 خطوات

فيديو: سلسلة الطاقة: 4 خطوات
فيديو: تشريح الذراع 2024, يوليو
Anonim
سلسلة الطاقة
سلسلة الطاقة

/ * لا يزال العمل جاريا * /

سلسلة الطاقة هي POC التي تجمع بين IOT و Blockchain.

ما صنعناه يسمح للناس ببيع الطاقة التي ينتجونها لأي شخص دون الحاجة إلى أي فئة. لضمان السلامة بين المنتج والمستهلك ، يمكن للمستهلك توصيل ما يريده والحصول على الطاقة. يقيس الصندوق مقدار الاستهلاك الحالي ويكتب ما يعادله

الخطوة 1: المواد

المواد
المواد
المواد
المواد
المواد
المواد

لعمل هذا المشروع سوف نستخدم:

- 1 راسبيري باي زيرو

- 1 مستشعر تيار AS712 (20A)

- 1 ADC 16 بت I2C ADS1555

- 1 مستشعر RFID RC522

- 1 تتابع 5 فولت

- محول 1AC / DC 5V / 2A ECL10US05-E من Farnell

- 1 مخرج كهربائي

الخطوة 2: الأسلاك

الأسلاك
الأسلاك

نحتاج إلى ربط كل شيء معًا كما هو موضح في الصورة ، كن حريصًا على التيار الذي يقدمه Raspberry Pi.

أسلاك القيادة:

  • 3v3 الطاقة - مرحل 5V Vcc / مستشعر التيار Vcc / RFID Vcc / ADC Vcc
  • طاقة 5 فولت - محول تيار متردد / تيار مستمر 5 فولت
  • الأرضي - مرحل 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 قياس. بفضل ذلك ، يمكننا الحصول على مقدار kWh.

مقبس الاستيراد ، json

استيراد النظام من pirc522 استيراد RFID استيراد RPi. GPIO كـ GPIO ## استيراد وقت استيراد إشارة استيراد مكتبة GPIO استيراد Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11، GPIO. OUT) GPIO.output (11 ، صحيح) rdr = RFID () use = rdr.util () طباعة ("\ nCtrl + C تم التقاطها ، إنهاء القراءة.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT، end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = صحيح أثناء (bol): إذا كان الطلب == 1: العلامة () DemandeTag = 0 DemandeMesure = 1 إذا كان DemandeMesure == 1: Mesure2 () جرب: data = s.recv (BUFFER_SIZE) إذا لم تكن بيانات: فاصل بيانات طباعة البيانات JSON = json.loads (البيانات) إذا كانت "message" في dataJSON: اطبع dataJSON ['message'] إذا كانت dataJSON ['message'] == "exit": print ('Exit demande') GPIO.output (11، GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = خطأ إذا كانت dataJSON ['message'] == "on": GPIO.output (11 ، GPIO.) علامة def (): 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.output (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 while imax_voltage: max_voltage = readValue if readValue def Mesure3 (): print (str (adc.read_adc (0، get = 1))) if _name_ == "_main_": socket.socket (socket. AF_INET، socket. SOCK_STREAM) # s.connect ((TCP_IP، TCP_PORT)) # s.setblocking (0) loopRead (s)

الخطوة 4: الصندوق

لجعل جميع الأجهزة الإلكترونية أكثر إحكاما ، قمنا بتصميم صندوق يحتوي على كل شيء بداخله. لفك كل شيء سوف نستخدم مسامير M3.

موصى به: