Съдържание:

Изход за захранване с интернет: 13 стъпки
Изход за захранване с интернет: 13 стъпки

Видео: Изход за захранване с интернет: 13 стъпки

Видео: Изход за захранване с интернет: 13 стъпки
Видео: Такой хитрости позавидуешь #Shorts 2024, Ноември
Anonim
Image
Image
Необходими консумативи
Необходими консумативи

PowerHub Webserver Project & Internet Enabled Outlet Инструкции за настройка

Централен център за трайни данни за осветление и контакти с интернет в дома ви!

Стъпка 1: PowerHub Webserver Project & Internet Enabled Outlet Инструкции за настройка

Централен център за съхранение на данни за интернет и изходи в дома ви

Мигащ твърд диск на RaspberriPi/Инсталирайте необходимия софтуер (използвайки Ubuntu Linux) Изтеглете „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/

Създайте своя нов твърд диск за DashboardPI

Поставете microSD в компютъра си чрез USB адаптер и създайте образа на диска, като използвате командата dd

Намерете вмъкнатата си microSD карта чрез командата df -h, демонтирайте я и създайте образа на диска с командата dd copy copy

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медия/XXX/1234-5678

$ umount /dev /sdb1

Внимание: уверете се, че командата е напълно точна, можете да повредите други дискове с тази команда

if = местоположението на файла с изображение на RASPBIAN JESSIE LITE на = местоположението на вашата microSD карта

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img на =/dev/sdb (забележка: в този случай това е/dev/sdb,/dev/sdb1 е съществуващ фабричен дял на microSD)

Настройване на вашия RaspberriPi

Поставете новата си microSD карта в raspberrypi и я включете с монитор, свързан към HDMI порта

Влизам

потребител: pi pass: малина

Променете паролата на акаунта си за сигурност

sudo passwd pi

Стъпка 2: Активирайте разширените опции на RaspberriPi

sudo raspi-config

Изберете: 1 Разгънете файлова система

9 Разширени опции

A2 Hostname го променете на „WIFI-OUTLET“

A4 SSH Активиране на SSH сървър

A7 I2C Активиране на i2c интерфейс

Активирайте английската/американската клавиатура

sudo nano/etc/default/keyboard

Променете следния ред: XKBLAYOUT = "нас"

Рестартирайте PI за промени в оформлението на клавиатурата / преоразмеряване на файловата система, за да влезе в сила

$ sudo shutdown -r сега

Автоматично свързване към вашата WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавете следните редове, за да може вашият raspberrypi автоматично да се свърже с домашния ви WiFi (ако вашата безжична мрежа е наречена "linksys" например, в следния пример)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Рестартирайте PI, за да се свържете с WiFi мрежа

$ sudo shutdown -r сега

Сега, когато вашият PI най -накрая е в локалната мрежа, можете да влезете дистанционно в него чрез SSH. Но първо трябва да получите IP адреса, който има в момента.

$ ifconfig Потърсете „inet addr: 192.168. XXX. XXX“в изхода на следната команда за IP адреса на вашия PI

Отидете на друга машина и влезте във вашия raspberrypi чрез ssh

$ ssh [email protected]. XXX. XXX

Стъпка 3: Започнете да инсталирате необходимите пакети

$ sudo apt-get update

$ sudo apt-get надстройка

$ sudo apt-get install vim git python-заявки python-gpiozero python-smbus i2c-tools python-образен python-smbus изграждане-съществен python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

Актуализирайте локалните настройки на часовата зона

$ sudo dpkg-преконфигурирайте tzdata

изберете вашата часова зона с помощта на интерфейса

Настройка на простата команда l от директорията [по избор]

vi ~/.bashrc

добавете следния ред:

псевдоним l = 'ls -lh'

източник ~/.bashrc

Поправете подчертаването на синтаксиса по подразбиране на VIM [по избор]

sudo vi/etc/vim/vimrc

разкомментирайте следния ред:

синтаксисът е включен

Инсталирайте i2c Python драйвери

Стъпка 4: Изградете WEB API

Следващите инструкции ще ви позволят да изградите централния хъб, който обяснява различните разрешени за wifi контакти и стенен превключвател, които можете да изградите, кои устройства се включват и изключват. Това е малък PHP скрипт, който да поставите на уеб хост по ваш избор. Той има следния API, за да получи и зададе информация за него. Забележка: не забравяйте да включите.htaccess файла, за да се осъществи правилното маршрутизиране на URL.

Инсталирайте папката "index.php", "values/" и settings.php (конфигурирана според вашите собствени стойности) на уеб сървър с възможност за PHP по ваш избор. Стойността на секретния ключ във файла "settings.php" трябва да съвпада със стойността на секретния ключ, която бихте задали във файла "settings.py". Това на основно ниво ще попречи на всеки друг уеб трафик да задава / записва стойности, включвайки вашите устройства, сега имате нужда от този хеширан API ключ в заглавката на HTTP заявката, за да го направите.

API поддържа следните функции, за този проект ще използваме само стойностите "флаг", които са булеви стойности, които казват на превключвателя да се включва и изключва. Може би, ако искате да се възползвате от стойностите за „четене“, бихте могли да го имате, така че ако стайната температура стане твърде гореща, като спестите температура там, тя може да включи вентилатор за прозорци и т.н.

Вземете кода

Клонирайте следния проект от GitHub, за да получите кода за стартиране на уеб сървъра и изхода RaspberryPI.

github.com/khinds10/PowerHub

API Крайни точки при изпълнение на уеб сървър

myhost/message (вземете текущия набор от съобщения)

myhost/message/set (HTTP POST необработена низова стойност на този URL адрес, за да зададете ново съобщение)

myhost/flag/{id} (вземете текущото логическо състояние на флага чрез цяло число: {id})

myhost/flag/all (вземете всички текущи булеви състояния на всички флагове като масив)

myhost/flag/{id}/set (задайте текущото логическо състояние на „true“за флага от цяло число: {id})

myhost/flag/{id}/unset (задайте текущото логическо състояние на „false“за флага от цяло число: {id})

myhost/reading/{id} (вземете текущата усреднена стойност за четенето чрез цяло число: {id})

myhost/read/all (вземете текущата усреднена стойност за всички показания като масив)

myhost/reading/{id}/set (HTTP POST необработена цифрова стойност към този URL адрес, за да се добави нова стойност към текущата изчислена средна стойност) - вижте по -долу колко стойности са компилирани общо към средната стойност Конфигуриране Стойностите на „показанията“се изчисляват като средни стойности на определен брой скорошни стойности за четене на цифри. Задайте следната константа за това колко от най -новите показания трябва да бъдат включени, за да се получи средната стойност.

$ readingsAverageLimit = 5;

Сървърът за съхранение на данни ще запази стойностите за прости файлове, разположени чрез конвенции за именуване по -долу. Забележка: {id} ще бъде заменено с реалното цяло число, представено от URL адреса на входящата заявка.

$ valueFileFolder = 'values' (име на папката, която съдържа файловете за измерване) $ messageFileName = 'message.msg' (име на текстовия файл на съобщението) $ readingsFilesNames = 'read {id}.avg' (име на CSV средно файлове за четене) $ flagFilesNames = 'флаг {id}.flg' (име на файла с флаг със стойност на булевия флаг)

Уверете се, че всички файлове със стойности могат да се записват от systemchmod 777 стойности/*

Стъпка 5: Необходими консумативи

Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи

1 инчов трион за отвори (за тренировка)

5V 2 -канален релеен модул

Стенна плоча за дуплекс

Дуплексен съд

Pi Zero W

Surface Mount Backbox Dual Gang

Бели осветени бутони

Стъпка 6: Изграждане на изхода

Изграждане на изхода
Изграждане на изхода

Прекъснете разделите Outlet

Счупете езичето отстрани на контакта, за да можете всеки гнездо да се включва/изключва независимо

Стъпка 7: Инсталирайте бутони

Инсталирайте бутони
Инсталирайте бутони
Инсталирайте бутони
Инсталирайте бутони

На лицевата плоча на изхода с помощта на трион с 1 отвор изрежете 2 отвора за бутоните, които да се поставят до изходите

Тестово оразмеряване на компонентите

Уверете се, че всички компоненти ще се поберат в кутията за монтаж на изходната повърхност

Стъпка 8: Кабелно реле

Кабелно реле
Кабелно реле
Кабелно реле
Кабелно реле

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

Стъпка 9: Допълнителни изображения на окабеляване и монтаж

Допълнителни изображения на окабеляване и монтаж
Допълнителни изображения на окабеляване и монтаж

Стъпка 10: Схема на свързване

Електрическа схема
Електрическа схема

Използвайте диаграмата, за да свържете правилно компонентите, за да работите с кода на RaspberryPI Python.

Стъпка 11: Тествайте работа на сухо

Тестване на сухо движение
Тестване на сухо движение
Тестване на сухо движение
Тестване на сухо движение
Тестване на сухо движение
Тестване на сухо движение

След окончателното сглобяване, преди да завиете модула с отвори, изпълнете устройството на сухо, за да се уверите, че няма къси панталони, лошо окабеляване

Стъпка 12: Задайте скриптове за стартиране

crontab -е

добавете следните редове

@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py

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