Оглавление:
Видео: EnergyChain: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
/ * Работа еще не завершена * /
Energy Chain - это POC, сочетающий IOT и Blockchain.
То, что мы сделали, позволяет людям продавать энергию, которую они производят, кому угодно, не требуя какого-либо уровня. Чтобы обеспечить безопасность между производителем и потребителем, потребитель может подключать к нему все, что хочет, и получать энергию. Коробка измеряет количество потребляемого тока и записывает эквивалент
Шаг 1: материалы
Для создания этого проекта мы будем использовать:
- 1 Raspberry Pi Zero
- 1 датчик тока AS712 (20А)
- 1 АЦП 16 бит I2C ADS1555
- 1 датчик RFID RC522
- 1 реле 5В
- Преобразователь 1AC / DC 5V / 2A ECL10US05-E от Farnell
- 1 электрическая розетка
Шаг 2: Подключение
Нам нужно соединить все вместе, как показано на картинке, будьте осторожны с током, подаваемым Raspberry Pi.
Командная проводка:
- 3v3 Power - реле 5V Vcc / датчик тока Vcc / RFID Vcc / ADC Vcc
- 5v Power - преобразователь AC / DC 5v
- Земля - Реле 5V GND / Датчик тока GND / AC / DC преобразователь GND / RFID GND / Вход и выход АЦП GND
- BCM 2 - АЦП SDA
- BCM 3 - АЦП SCL
- BCM 4 - АЦП 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
import sys from threading import Thread from pirc522 import RFID import RPi. GPIO as GPIO ## Import GPIO library import signal import time import 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 (signal, frame): global run print ("\ nCtrl + C захвачено, чтение завершено.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = True while (bol): if DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 if DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) if not data: break print data dataJSON = json.loads (data) if "message" в dataJSON: print dataJSON ['message'] if dataJSON ['message'] == "exit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = False, если dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' кроме Exception as e: continue s.close () def tag (): rdr.wait_for_tag () (error, data) = rdr.request () time.sleep (0.25) (error, 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 в то время как 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, 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: Коробка
Чтобы вся электроника была более компактной, мы разработали коробку, в которой будет все, что находится внутри. Чтобы прикрутить все, мы будем использовать винты M3.
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Как установить плагины в WordPress за 3 шага: 3 шага
Как установить плагины в WordPress за 3 шага: в этом уроке я покажу вам основные шаги по установке плагина wordpress на ваш сайт. В основном вы можете установить плагины двумя разными способами. Первый способ - через ftp или через cpanel. Но я не буду перечислять это, потому что он действительно комп
Прямая трансляция HD-видео 4G / 5G с дрона DJI с малой задержкой [3 шага]: 3 шага
Прямая трансляция HD-видео 4G / 5G с дрона DJI с малой задержкой [3 шага]: следующее руководство поможет вам получать прямые видеопотоки HD-качества практически с любого дрона DJI. С помощью мобильного приложения FlytOS и веб-приложения FlytNow вы можете начать потоковую передачу видео с дрона
Протез руки, напечатанный на 3D-принтере за 4 шага !: 4 шага
Протез руки, напечатанный на 3D-принтере за 4 шага !: Этот проект - протез руки, напечатанный мной, я хочу получить больше знаний о протезировании и 3D-печати. Хотя это не лучший проект, это отличный способ получить практический опыт и научиться создавать
Интерфейс сенсора ADXL335 на Raspberry Pi 4B в 4 шага: 4 шага
Интерфейс датчика ADXL335 на Raspberry Pi 4B за 4 шага: в этом руководстве мы собираемся связать датчик ADXL335 (акселерометр) на Raspberry Pi 4 с Shunya O / S