Съдържание:

Монитор за захранване на домашни уреди Raspberry PI: 14 стъпки
Монитор за захранване на домашни уреди Raspberry PI: 14 стъпки

Видео: Монитор за захранване на домашни уреди Raspberry PI: 14 стъпки

Видео: Монитор за захранване на домашни уреди Raspberry PI: 14 стъпки
Видео: System For Advanced Electricity Measurement Electricity Meater Video 2024, Ноември
Anonim
Монитор за захранване на домашни уреди Raspberry PI
Монитор за захранване на домашни уреди Raspberry PI
Монитор за захранване на домашни уреди Raspberry PI
Монитор за захранване на домашни уреди Raspberry PI

Това беше малък проект, който направих, за да наблюдавам консумацията на енергия от отделни уреди в къщата и да показвам графики на тяхната консумация на енергия във времето. Това всъщност е един от по -лесните проекти, базирани на Raspberry PI, които съм правил, без да се изисква запояване или хакване на отворени продукти. Не е задължително да е Raspberry PI проект, лесно може да се направи на Linux кутия или може би Windows.

Цената е $ 50 AUD за комплекта от 4 монитора за захранване/интелигентни щепсели и цената на Raspberry PI. Това може да работи на Pi Zero или Original PI, въпреки че открих, че е малко бавно. Единственият друг PI, който имам, е PI 3 и ми се стори много бърз, така че това бих препоръчал. Обърнете внимание, че ако искате да го стартирате на по -стар PI, можете да намалите честотата на събиране на данни (използвах 10 секунди).

Този проект също има допълнителна полза или освобождава интелигентния щепсел от фърмуера на производителя, така че не е нужно да използвате техните специфични приложения и облачни услуги. Така че те могат да се използват с Home Assist или просто със собствени скриптове на python.

Моля, обърнете внимание, предполагам, че знаете как да инсталирате операционната система на PI, да се свържете с нея и да изпълните някои основни команди на Linux. Предполагам също, че знаете как да намерите IP адреса на вашия интелигентен щепсел, след като той се свърже с вашата WiFi.

Консумативи

2 опаковки или 4 пакета интелигентни щепсели от тук:

www.kogan.com/au/buy/kogan-smarterhome-sma…

1 Малина PI

Умения:

Възможност за настройка на малинов PI

Основен команден ред на Linux

Текстов редактор като vi или nano (nano е по -удобен за потребителя, vi е по -бърз, след като го опознаете)

Възможност за намиране на IP на устройства във вашата мрежа.

Стъпка 1: Купете някои интелигентни щепсели

Купете няколко интелигентни щепсела
Купете няколко интелигентни щепсела

Интелигентният щепсел, който използвах, беше от тук:

www.kogan.com/au/buy/kogan-smarterhome-sma…

Имайте предвид, че има цяла гама от интелигентни щепсели, които са съвместими, повечето (всички?) Са устройства, базирани на ESP8266 (WEMOS) и са много лесни за мигане. Не забравяйте да вземете нещо, което има мониторинг на мощността, тъй като мнозина нямат. Тази страница показва голям списък със съвместими устройства:

templates.blakadder.com/plug.html

Стъпка 2: Мига на устройството

Тази част беше изненадващо лесна. По принцип просто изтегляте софтуера, стартирате го и той ще ви преведе.

За това ще ви е необходима Raspberry PI или Linux кутия с WiFi. Ще трябва да имате основната си връзка с това устройство, НЕ като WiFi. За моя PI3 това беше лесно, тъй като бях свързан чрез Ethernet. Ако имате PI Zero, тогава ще трябва да свържете по старомоден начин, с клавиатура и монитор.

Предполагам, че знаете как да настроите PI и да се свържете с него чрез SSH или клавиатура, така че няма да премина през това. Ако не сте сигурни, има много уроци в мрежата.

Преди да започнем, само малко фон на устройствата. В Китай има компания, наречена Tuya, която изпомпва интелигентни щепсели за различни клиенти. Те правят персонализиране за различни клиенти и предоставят фърмуер по подразбиране и позволяват на компаниите да правят свои собствени модификации. Проблемът с това е, че ако имате куп продукти от различни доставчици, в крайна сметка ще трябва да стартирате куп приложения, някои от които работят по -добре от други. С мигането на фърмуер с отворен код се освобождавате от всичко това. Така че това е добре за общата домашна автоматизация.

Така …. без да се замислям, ето инструкциите:

1) Изпълнете тези команди на PI, това ще инсталира необходимия софтуер.

# git clone https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert#./install_prereq.sh

2) Включете интелигентния щепсел в захранването

3) Включете го с бутона

4) Задръжте бутона за захранване, докато синята светлина започне да мига

5) Изчакайте 10 секунди. Това не е от съществено значение, но открих, че работи по -добре, ако го направите.

6) Изпълнете тази команда

./start_flash.sh

От тук просто следвайте подканите, освен в края изберете "2. Tasmota". Има опция за различен фърмуер, но не съм го пробвал, така че не съм сигурен как е.

Обърнете внимание, че трябваше да направя това повече от веднъж, в началото си помислих, че съм зазидал устройството, нямах светлини, няма щракване на релето, няма признаци на живот. Но го изключих и пуснах последната команда отново и тя работи. Трябваше да направя това с 3 от 4 -те устройства, които мигах, само едно минаваше направо, мисля, поради стъпка 5.

Пълни инструкции тук:

github.com/ct-Open-Source/tuya-convert

Стъпка 3: Свързване към фърмуера за първи път

Свързване към фърмуера за първи път
Свързване към фърмуера за първи път
Свързване към фърмуера за първи път
Свързване към фърмуера за първи път
Свързване към фърмуера за първи път
Свързване към фърмуера за първи път

След като поставите tasmota на устройството, той няма да показва много признаци на живот. Причината за това е, че тя трябва да бъде конфигурирана. Правенето на това е доста лесно, намерих най -добре да го направя с телефона си. Стъпките са:

1) Потърсете точки за достъп до WiFi

2) Свържете се с етикета tasmota_xxxx (където x е числа)

3) Телефонът трябва да ви насочи към страницата по подразбиране, ако не отидете на 192.168.4.1

Обърнете внимание, че на някои телефони може да ви изпрати съобщение „няма достъп до интернет, искате ли да останете свързани“, изберете „да“.

4) На страницата, която се показва, въведете името на вашата WiFi мрежа и паролата в първите 2 полета. Щракнете върху опцията за показване на парола и тройна проверка, че сте въвели правилната парола. Ако сте въвели грешна парола, вярвам, че може да е трудно да се върнете към този екран за конфигуриране. Обърнете внимание, че можете също да сканирате за WiFi мрежи, въпреки че очевидно все още трябва да въведете паролата.

5) Щепселът вече трябва да е свързан към вашата WiFi мрежа. Ще трябва да отидете на страницата за конфигуриране на вашия рутер и да намерите IP на вашето устройство.

6) Отворете уеб браузър на вашия компютър и отидете на https:// [device_ip] Трябва да видите екрана за конфигуриране от Tasmota.

Поздравления, успешно включихте щепсела.

Стъпка 4: Конфигуриране на щепсела

Конфигуриране на щепсела
Конфигуриране на щепсела

Компанията, която произвежда тези устройства, очевидно произвежда 10 000 устройства с много различни конфигурации. Току -що прехвърлихме нов фърмуер и фърмуерът не знае на кои устройства е бил прехвърлен. Така че, преди нещо да работи, ще трябва да го конфигурираме. За да го направим, трябва да намерим подробностите за нашето устройство в мрежата и да заредим тази конкретна конфигурация.

За целта намерете вашето устройство на тази страница:

templates.blakadder.com/plug.html

За устройството, което използвах, конфигурацията е тук:

templates.blakadder.com/kogan-KASPEMHUSBA….

За да зададем конфигурацията, просто копираме текста под шаблон. В случая това е:

Тогава

1) Отидете на страницата за конфигуриране на вашето устройство https:// [IP на интелигентния щепсел]

2) Щракнете върху конфигуриране, конфигуриране на други

3) Поставете низа на шаблона

4) Отметнете „Активиране на MQTT“

5) Щракнете върху активиране и запазване.

За да проверите дали това работи, щракнете върху „Главно меню“, за да се върнете към началната страница и сега трябва да видите цифрите за консумация на енергия. Всички те ще бъдат нула, дори напрежението, но това е добър знак. Щракнете върху бутона за превключване и ще чуете щракването на релето и ще видите как напрежението се повишава.

Стъпка 5: Калибрирайте напрежението

Калибриране на напрежение
Калибриране на напрежение

Установих, че напрежението се показва доста високо. Ако имате друг източник на отчитане на напрежението в къщата (напр. Интелигентен измервателен уред може би ??), тогава можете да калибрирате щепсела много лесно. Да го направя

1) Вземете правилното отчитане на напрежението

2) Включете релето в интелигентния щепсел

3) Щракнете върху Конзола в началната страница на устройството

4) Въведете командата "VoltageSet 228" и натиснете enter (заменете 228 с вашето напрежение)

Напрежението сега трябва да се показва правилно.

Стъпка 6: Инсталиране на софтуер на PI

Има няколко пакета, които трябва да бъдат инсталирани на PI. Те са лесни за инсталиране и могат да бъдат направени следвайки инструкциите от различните пакети. Ще дам инструкциите тук, но имайте предвид, че те могат да се променят с течение на времето, така че инструкциите ми ще датират. Пакетите са:

Графана (за показване на графики)

Influxdb (база данни с времеви редове, която ще съхранява нашите данни)

Телеграф (използван за изпращане на данни в Influxdb)

Mosquitto (шина за съобщения, използвана за предаване на данни наоколо, интелигентният щепсел избутва данните тук)

Веригата от потоци от данни е следната:

Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

Ако питате защо не можем да пропуснем Mosquitto и Telegraf, това е добър въпрос. На теория интелигентният щепсел може да доведе до вливане. Проблемът с това е, че тогава той ще трябва да бъде конфигуриран за 100 -те различни крайни точки и ще ни блокира от някои възможности за избор. Повечето неща в домашната автоматизация използват Mosquitto за предаване на съобщения. Като пример можем да включим и изключим щепсела, като изпратим съобщения до Mosquitto и интелигентният щепсел ще ги получи и отговори.

Стъпка 7: Инсталиране на Grafana

Инсталиране на Grafana
Инсталиране на Grafana

От:

grafana.com/grafana/download?platform=arm

Или много други опции тук:

grafana.com/grafana/download

За Pi 1 и Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1#намерете най-новата версия от страницата на topwget https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg -i grafana-rpi_7.0.1_armhf. debsudo /bin /systemctl daemon-reloadsudo /bin /systemctl активира grafana-serversudo /bin /systemctl стартира grafana-сървър

За по -нови PI (ARMv7)

sudo apt -get install -y adduser libfontconfig1#намерете най -новата версия от страницата на topwget https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo/ bin/systemctl daemon-reloadsudo/bin/systemctl активира grafana-serversudo/bin/systemctl стартира grafana-сървър

За тестване:

Отидете на https:// [IP на PI]: 3000

потребителско име/парола е admin/admin, ще ви помоли да го промените, можете да пропуснете засега

Ако получите графичен интерфейс, всичко е наред, преминете към следващата стъпка

Стъпка 8: Инсталиране на InfluxDB

Изпълнете тези команди на PI:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -source/etc/os-releasetest $ VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.listsсудо apt-get актуализации sudo apt-get инсталиранеfluxdbsudo systemctl активиране наfluxdbsudo systemctl стартиране на fluxdb

Тествайте, като напишете „приток“. Това трябва да ви постави в командния ред на fluxdb. Въведете „покажи бази данни“, все още няма да има бази данни, но ако получите празен списък без грешки, всичко е наред.

Стъпка 9: Инсталиране на Telegraf

Това е наистина лесно, тъй като добавихме рефпоса на fluxdb, които можем просто да напишем:

sudo apt-get инсталирайте telegrafsudo systemctl активирайте telegrafsudo systemctl стартирайте telegraf

Към този момент Telegraf вече ще регистрира системни показатели за притока на данни. Можете да ги видите, като въведете тези команди:

бази данни за поточно показванеизползвайте телеграфни сериалиИЗБЕРИ * ОТ ГРАНИЦА на процесора 10;

Стъпка 10: Инсталирайте Mosquitto

Тази част е лесна, тъй като просто инсталираме версията по подразбиране, опакована с raspian:

sudo apt -get -y инсталирайте mosquittosudo apt -get -y инсталирайте mosquitto -clientssudo systemctl активирайте mosquittosudo systemctl стартирайте mosquitto# създайте парола за mosquittosudo mosquitto_passwd -c/etc/mosquitto/tasmota tasmota# въведете парола. Запишете тази парола, тъй като ще трябва да я предоставим на интелигентния щепсел

За тестване:

изпълнете това в една SSH сесия:

mosquitto_sub -t тест

Пуснете това в друг

mosquitto_pub -t тест -m мое съобщение

Трябва да видите съобщението си в първата SSH сесия

Стъпка 11: Изпращане на данни от Smart Plug към Mosquitto

Изпращане на данни от Smart Plug към Mosquitto
Изпращане на данни от Smart Plug към Mosquitto

Сега имаме пуснат комар, трябва да конфигурираме интелигентния щепсел за изпращане на данни до комари. Това е доста лесно да се направи. Ще се нуждаем от паролата, въведена за комар от предишната стъпка.

1) Влезте в уеб страницата на вашите интелигентни щепсели

2) Щракнете върху Configuration, след това Configure Logging

3) Задайте период на телеметрия на 10 и щракнете върху запазване.

4) Щракнете върху Конфигуриране на MQTT

5) За хост въведете IP адреса на вашия PI

6) За потребителско име въведете tasmota

7) За парола въведете паролата от предишната стъпка

8) За тема въведете tasmota1

9) Щракнете върху запазване

За да тествате:

В PI въведете командата по -долу. В рамките на 10 секунди трябва да видите данните, които преминават.

mosquitto_sub -t теле/tasmota1/СЕНЗОР

Данните трябва да изглеждат така:

Стъпка 12: Използвайте Telegraf, за да преместите данни от Mosquitto към Influx

Сега ще конфигурираме Telegraf да чете данните от mosquitto и да натиска към fluxdb. На PI:

1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak

2) sudo vi /etc/telegraf/telegraf.conf

Забележка vi не е супер приятелска за нови потребители, ако предпочитате текстов редактор, базиран на меню, използвайте nano вместо това:

sudo nano /etc/telegraf/telegraf.conf

3) Поставете конфигурацията от прикачения файл

4) sudo systemctl рестартирайте telegraf

За да тествате, въведете това на PI:

приток

показват бази данни

трябва да видите тестовата база данни. Ако тестът за име не ви харесва, можете да промените dest_db във файла telegraf.conf.

Стъпка 13: Накрая създайте графики в Grafana

И накрая, създайте графики в Grafana
И накрая, създайте графики в Grafana

Най-накрая ще видим някои данни:-):-)

Първо трябва да създадем връзка с базата данни. Отидете на уеб страницата на grafana http: [ip на PI]: 3000

1) Влезте с admin/admin

2) В лявата колона щракнете върху иконата на зъбно колело и източниците на данни

3) Щракнете върху добавяне на източник на данни

4) Щракнете върхуfluxdb

5) За URL въведете https:// localhost: 8086

6) За база данни въведете тест

7) За HTTP въведете GET

8) За минимален интервал от време въведете 10s

9) Щракнете върху Запазване и тестване, трябва да пише „Източникът на данни работи“

Добре, сега имаме връзка с базата данни, можем да създадем графика … накрая.

1) В лявата колона щракнете върху + и след това Dashboard и Add New Panel

2) За база данни щракнете върху InfluxDB

3) Щракнете върху измерване и изберете Kogan

4) За полето изберете Energy_Power.

5) За псевдоним дайте име на вашата серия (напр. Съдомиялна машина)

6) От дясната страна на заглавието на панела му дайте име, напр. Захранване.

7) Това е, трябва да видите данни. Щракнете върху бутона със стрелка наляво, за да излезете от редактирането, след което щракнете върху запазване, дайте име на таблото си за управление.

Ако сте стигнали дотук, чудесна работа, сериозно.

Стъпка 14: Още няколко съвета

Още няколко съвета
Още няколко съвета
Още няколко съвета
Още няколко съвета

Конфигурацията по подразбиране на Telegraf, която предоставих, беше малко интензивна за поддръжка, тъй като трябва да се добави нов раздел за всяко устройство и да се направи рестартиране на Telegraf. С промените по -долу прави нещата много по -динамични, тъй като устройствата могат да се добавят или преименуват в конфигурацията на Tasmota, без да е необходимо да се променя Telegraf.

Първата промяна е да поставите + в името на темата, това е основно заместващ знак. Това само по себе си би било достатъчно, освен когато правите графики в Grafana, устройствата се появяват като неща като „tele/WashingMachine/SENSOR“. Втората част от конфигурацията на Telegraf по -долу е регекс процесорът. Той издърпва текста „Перална машина“от центъра и го превръща в нов маркер, който се премества в InfluxDB.

Забележка: не забравяйте да настроите различно име на тема в конфигурацията на Tasmota за всяко устройство

[inputs.mqtt_consumer.tags] dest_db = "тест"

След като това стане, е много лесно да конфигурирате Grafana да показва множество устройства на една графика. Снимката, приложена към тази стъпка, показва какво трябва да се направи. Просто щракнете върху знака + на групата по ред и изберете маркер (устройство). В долната част на псевдонима чрез въведете $ tag_device. Сега трябва да видите няколко серии на една графика. Можете да щракнете върху текста на всеки елемент, за да ги включите и изключите (ctrl click работи, за да изберете множество)

Препоръчано: