Съдържание:
- Стъпка 1: PowerHub Webserver Project & Internet Enabled Outlet Инструкции за настройка
- Стъпка 2: Активирайте разширените опции на RaspberriPi
- Стъпка 3: Започнете да инсталирате необходимите пакети
- Стъпка 4: Изградете WEB API
- Стъпка 5: Необходими консумативи
- Стъпка 6: Изграждане на изхода
- Стъпка 7: Инсталирайте бутони
- Стъпка 8: Кабелно реле
- Стъпка 9: Допълнителни изображения на окабеляване и монтаж
- Стъпка 10: Схема на свързване
- Стъпка 11: Тествайте работа на сухо
- Стъпка 12: Задайте скриптове за стартиране
Видео: Изход за захранване с интернет: 13 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
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
Препоръчано:
Захранване на компютъра с захранване: 8 стъпки (със снимки)
Захранване на Sleak Bench от PC захранване: Актуализация: Причината, поради която не се наложи да използвам резистор, за да спра автоматичното изключване на PSU, е, че (според мен …) светодиодът в превключвателя, който използвах, извлича достатъчно ток, за да предотврати Захранването се изключва. Имах нужда от настолно захранване и реших да направя
Регулируемо линейно захранване с двоен изход: 10 стъпки (със снимки)
Регулируемо линейно захранване с двоен изход: Характеристики: AC-DC преобразуване Двойно изходно напрежение (положително-заземяване-отрицателно) Регулируеми положителни и отрицателни релси Само едноизходен променливотоков трансформатор Изходен шум (20MHz-BWL, без товар): Около 1.12mVpp ниско шум и стабилни изходи (идеален
Скрито ATX захранване към бенч захранване: 7 стъпки (със снимки)
Скрито ATX захранване към бенч захранване: Захранването с пейка е необходимо при работа с електроника, но наличното в търговската мрежа лабораторно захранване може да бъде много скъпо за всеки начинаещ, който иска да изследва и учи електроника. Но има евтина и надеждна алтернатива. По конвенция
220V до 24V 15A захранване - Импулсно захранване - IR2153: 8 стъпки
220V до 24V 15A захранване | Импулсно захранване | IR2153: Здравейте, днес правим захранване от 220V до 24V 15A | Импулсно захранване | IR2153 от ATX захранване
Захранване с лабораторен стационарен изход (ATX хакнат): 15 стъпки
Лабораторно захранване с фиксиран изход (ATX хакнат): Ако се занимавате с електроника, може би знаете, че правилното променливо захранване на лабораторния стенд има свои собствени предимства, например тестване на вашите DIY вериги, познаване на напрежението напред на светодиод с висока мощност, зареждане на батерии и този списък продължава-n