Мазмуну:
Video: EnergyChain: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:43
/ * Иш дагы эле уланууда */
Energy Chain - бул IOT менен Blockchainти бириктирген POC.
Биз жасаган нерсе адамдарга өндүрүлгөн энергияны эч кандай катмарсыз эч кимге сатууга мүмкүнчүлүк берет. Өндүрүүчү менен керектөөчүнүн ортосундагы коопсуздукту камсыз кылуу үчүн керектөөчү каалаганын туташтырып, энергия ала алат. Кутуча керектелген токтун көлөмүн өлчөйт жана эквивалентин жазат
1 -кадам: материалдар
Бул проекти жасоо үчүн биз колдонобуз:
- 1 Raspberry Pi Zero
- 1 учурдагы сенсор AS712 (20A)
- 1 ADC 16 бит I2C ADS1555
- 1 RFID сенсор RC522
- 1 релелик 5В
- Фарнеллден 1AC/DC 5V/2A конвертер ECL10US05-E
- 1 электр розеткасы
2 -кадам: Кабелдөө
Сүрөттө көрсөтүлгөндөй, биз бардыгын зым менен байланыштырышыбыз керек, Raspberry Pi жеткирген токко этият болуңуз.
Буйрук зымдары:
- 3v3 Power - Реле 5V Vcc/Учурдагы сенсор Vcc/RFID Vcc/ADC Vcc
- 5v Power - AC/DC конвертер 5v
- Жер - Relay 5V GND/Current Sensor GND/AC/DC converter GND/RFID GND/ADC input and output 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 from threading import, 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 = Чыныгы убакыт (бол): эгерде DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 болсо DemandeMesure == 1: Mesure2 () аракет кылыңыз: 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 = False if dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1, эгерде dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' Exception as 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]) print ("Card read UID:"+ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 мен defure 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 _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) #s.connect ((TCP_IP, TCP_PORT)) #s.setblocking (0) loopRead (s)
4 -кадам: кутуча
Бардык электрониканы компакттуу кылуу үчүн, ичиндеги нерселердин бардыгын камтыган кутучаны иштеп чыктык. Баарын бурап салуу үчүн биз M3 бурамаларын колдонобуз.
Сунушталууда:
Кантип кадам эсептегич жасоо керек?: 3 кадам (сүрөттөр менен)
Step Counter кантип жасалат ?: Мен көптөгөн спортто жакшы аткарчумун: жөө басуу, чуркоо, велосипед тебүү, бадминтон ойноо ж.б. Мейли, менин ичимди карачы ……. Ооба, баары бир мен машыгуу үчүн кайра баштоону чечтим. Мен кандай жабдыктарды даярдашым керек?
IPodдо Doomду 5 жеңил кадам менен ойноңуз !: 5 кадам
Doom'ду IPodдо 5 жеңил кадам менен ойноңуз!: Doom жана башка ондогон оюндарды ойноо үчүн iPod'уңузда Rockboxту кантип кош жүктөө керектиги боюнча этап-этабы менен көрсөтмө. Бул чындыгында оңой нерсе, бирок менин iPodдо кыйроо ойноп жатканымды көргөндөрдүн көбү дагы эле таң калышат жана көрсөтмө менен чаташып кетишет
WordPressке плагиндерди 3 кадам менен кантип орнотсо болот: 3 кадам
WordPressке плагиндерди 3 этапта кантип орнотуу керек: Бул үйрөткүчтө мен сизге веб -сайтыңызга WordPress плагинин орнотуу үчүн эң маанилүү кадамдарды көрсөтөм. Негизи плагиндерди эки башка жол менен орнотсоңуз болот. Биринчи ыкма ftp же cpanel аркылуу болот. Бирок мен аны тизмектебейм, анткени бул чындыгында нааразы
Кадам моторун айдоо үчүн 556 таймерди колдонуу: 5 кадам
Step моторун айдоо үчүн 556 таймерди колдонуу: Бул инструкция 556 таймердин кантип тепкичтүү моторду айдай аларын түшүндүрүп берет
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)