Turinys:
Video: „EnergyChain“: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
/ * Darbas vis dar vyksta */
„Energy Chain“yra POC, jungiantis IOT ir „Blockchain“.
Tai, ką mes sukūrėme, leidžia žmonėms parduoti savo pagamintą energiją bet kam, be jokių būtinų pakopų. Siekdamas užtikrinti gamintojo ir vartotojo saugumą, vartotojas gali prijungti prie jo viską, ko nori, ir gauti energijos. Langelis matuoja sunaudotos srovės kiekį ir parašo ekvivalentą
1 žingsnis: medžiagos
Norėdami sukurti šį projektą, naudosime:
- 1 „Raspberry Pi Zero“
- 1 srovės jutiklis AS712 (20A)
- 1 ADC 16 bitų I2C ADS1555
- 1 RFID jutiklis RC522
- 1 relė 5V
- 1AC/DC 5V/2A keitiklis ECL10US05-E iš Farnell
- 1 elektros lizdas
2 žingsnis: laidų prijungimas
Turime viską sujungti, kaip parodyta paveikslėlyje, būkite atsargūs su „Raspberry Pi“tiekiama srove.
Komandos laidai:
- 3v3 maitinimas - relė 5V Vcc/srovės jutiklis Vcc/RFID Vcc/ADC Vcc
- 5v maitinimas - kintamosios/nuolatinės srovės keitiklis 5v
- Įžeminimas - relė 5V GND/srovės jutiklis GND/AC/DC keitiklis GND/RFID GND/ADC įėjimas ir išėjimas 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 - relė 5V IN
- BCM 24 - RFID nustatymas iš naujo
- BCM 25 - RFID RST
3 žingsnis: kodas
Šis kodas veikia taip:
RFID jutiklis laukia žymos ir įrašo ją į terminalą. Tada srovės jutiklis matuoja sunaudotą kintamosios srovės kiekį ir kas 100 matuoja terminale momentinę galią. Dėl to mes galime gauti kWh kiekį.
importo lizdas, json
importuoti sistemą iš sriegių importavimo Siūlas iš pirc522 importuoti RFID importuoti RPi. GPIO kaip GPIO ## Importuoti GPIO biblioteką importuoti signalo importavimo laiko importą Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11, Tiesa) 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 (signalas, kadras): visuotinis paleidimas print ("\ nCtrl+C užfiksuota, baigta skaityti.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = Tiesa tuo metu (bol): jei DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1, jei DemandeMesure == 1: Mesure2 () pabandykite: data = s.recv (BUFFER_SIZE), jei ne duomenys: pertraukite spausdinimo duomenų duomenisJSON = json.loads (duomenys), jei duomenų „pranešimas“JSON: spausdinti duomenis DemandeTag = 0 DemandeMesure = 0 bol = Netiesa, jei dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1, jei dataJSON ['message'] == "išjungta": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 pranešimas = '', išskyrus išimtį kaip e: tęsti s.close () def tag (): rdr.wait_for_tag () (klaida, duomenys) = rdr.request () time.sleep (0.25) (klaida, uid) = rdr.anticoll () ID = str (uid [0])+'. '+str (uid [1])+'. '+str (uid [2])+'. '+str (uid [3]) print ("Kortelės skaitymo UID:"+ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0, o i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 tuo tarpu 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 žingsnis: dėžutė
Kad visa elektronika būtų kompaktiškesnė, sukūrėme dėžutę, kurioje bus viskas. Norėdami užsukti viską, naudosime M3 varžtus.
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
Tiesioginė 4G/5G HD vaizdo transliacija iš DJI drono esant mažai delsai [3 žingsniai]: 3 žingsniai
Tiesioginis 4G/5G HD vaizdo įrašų srautinis perdavimas iš DJI drono esant mažai delsai [3 žingsniai]: Šis vadovas padės jums gauti tiesioginius HD kokybės vaizdo srautus iš beveik visų DJI dronų. Naudodami „FlytOS Mobile App“ir „FlytNow Web Application“galite pradėti transliuoti vaizdo įrašus iš drono