Índice:
Vídeo: EnergyChain: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:40
/ * Trabalho ainda em andamento * /
Energy Chain é um POC que combina IOT e Blockchain.
O que fizemos permite que as pessoas vendam a energia que produzem a qualquer pessoa, sem necessidade de qualquer nível. Para garantir a segurança entre o produtor e o consumidor, o consumidor pode conectar o que quiser nele e obter energia. A caixa mede a quantidade de corrente consumida e escreve o equivalente
Etapa 1: Materiais
Para fazer este projeto usaremos:
- 1 Raspberry Pi Zero
- 1 sensor de corrente AS712 (20A)
- 1 ADC 16bit I2C ADS1555
- 1 sensor RFID RC522
- 1 relé 5V
- Conversor 1AC / DC 5V / 2A ECL10US05-E da Farnell
- 1 tomada elétrica
Etapa 2: Fiação
Precisamos conectar tudo como é mostrado na imagem, cuidado com a corrente fornecida pelo Raspberry Pi.
Fiação de comando:
- Alimentação 3v3 - Relé 5V Vcc / Sensor de corrente Vcc / RFID Vcc / ADC Vcc
- Energia 5v - conversor CA / CC 5v
- Terra - Relé 5V GND / Sensor de corrente GND / conversor AC / DC GND / RFID GND / ADC entrada e saída 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 - Reinicialização RFID
- BCM 25 - RFID RST
Etapa 3: Código
Este código funciona da seguinte maneira:
O sensor RFID espera por uma etiqueta e a escreve no Terminal. Em seguida, o sensor de corrente mede a quantidade de corrente CA consumida e exibe no terminal a potência instantânea a cada 100 medidas. Graças a isso, podemos obter a quantidade de kWh.
import socket, json
import sys from threading import Thread from pirc522 importar RFID importar RPi. GPIO como GPIO ## Importar biblioteca GPIO importar sinal importar tempo importar 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 (sinal, quadro): execução global print ("\ nCtrl + C capturado, finalizando a leitura.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = True while (bol): se DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 se DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) se não data: break print data dataJSON = json.loads (data) if "mensagem" em dataJSON: print dataJSON ['mensagem'] if dataJSON ['mensagem'] == "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 if dataJSON ['mensagem'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 mensagem = '' exceto Exceção como e: continue s.close () def tag (): rdr.wait_for_tag () (erro, dados) = rdr.request () time.sleep (0,25) (erro, uid) = rdr.anticoll () ID = str (uid [0]) + '. '+ str (uid [1]) +'. '+ str (uid [2]) +'. '+ str (uid [3]) print ("Cartão lido UID:" + ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 enquanto i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 enquanto imax_voltage: max_voltage = readValue if readValue def Mesure3 (): print (str (adc.read_adc (0, ganho = 1))) if _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) # s.connect ((TCP_IP, TCP_PORT)) # s.setblocking (0) loopRead (s)
Etapa 4: a caixa
Para tornar toda a eletrônica mais compacta, projetamos uma caixa que conterá tudo dentro. Para aparafusar tudo usaremos parafusos M3.
Recomendado:
Como fazer uma antena dupla BiQuade 4G LTE Etapas fáceis: 3 etapas
Como Fazer Antena Dupla BiQuade 4G LTE Etapas fáceis: Na maioria das vezes que enfrentei, não tenho uma boa intensidade de sinal para meus trabalhos do dia-a-dia. Então. Procuro e tento diferentes tipos de antena, mas não funciona. Depois de perder tempo, encontrei uma antena que espero fazer e testar, porque não é um princípio de construção
Design de jogo no Flick em 5 etapas: 5 etapas
Design de jogos no Flick em 5 etapas: o Flick é uma maneira realmente simples de fazer um jogo, especialmente algo como um quebra-cabeça, romance visual ou jogo de aventura
Detecção de rosto no Raspberry Pi 4B em 3 etapas: 3 etapas
Detecção de rosto no Raspberry Pi 4B em 3 etapas: Neste Instructable, vamos realizar a detecção de rosto no Raspberry Pi 4 com Shunya O / S usando a Biblioteca Shunyaface. Shunyaface é uma biblioteca de reconhecimento / detecção de rosto. O projeto visa alcançar a detecção mais rápida e velocidade de reconhecimento com
Espelho de cortesia DIY em etapas fáceis (usando luzes de tira LED): 4 etapas
Espelho de toucador DIY em etapas fáceis (usando tiras de LED): Neste post, fiz um espelho de toucador DIY com a ajuda de tiras de LED. É muito legal e você deve experimentá-los também
Arduino Halloween Edition - Tela pop-out de zumbis (etapas com imagens): 6 etapas
Arduino Halloween Edition - Tela pop-out de zumbis (etapas com imagens): Quer assustar seus amigos e fazer barulho no Halloween? Ou apenas quer fazer uma boa pegadinha? Esta tela pop-out de zumbis pode fazer isso! Neste Instructable, vou ensiná-lo a criar facilmente zumbis usando o Arduino. O HC-SR0