Мазмуну:

Интернет иштетилген электр розеткасы: 13 кадам
Интернет иштетилген электр розеткасы: 13 кадам

Video: Интернет иштетилген электр розеткасы: 13 кадам

Video: Интернет иштетилген электр розеткасы: 13 кадам
Video: УМНЫЕ ОТКАТНЫЕ ВОРОТА | Управление "Алисой" 2024, Июль
Anonim
Image
Image
Керектелүүчү материалдар
Керектелүүчү материалдар

PowerHub Webserver долбоору жана Интернетти иштеткен Outlet Setup Instructions

Үйүңүздөгү Интернетти колдогон жарык жана розеткалар үчүн борбордук маалымат туруктуулук борбору!

1 -кадам: PowerHub Webserver долбоору жана Интернетти иштеткен Outlet Setup Instructions

Үйүңүздөгү Интернетти колдогон жарык жана розеткалар үчүн борбордук маалымат туруктуулук борбору

Жаркыраган RaspberriPi Hard Disk/Керектүү Программаны Орнотуу (Ubuntu Linuxту колдонуу менен) "RASPBIAN JESSIE LITE" жүктөп алыңыз

DashboardPI үчүн жаңы катуу дискти түзүңүз

USB адаптери аркылуу microSDди компьютериңизге киргизиңиз жана dd командасын колдонуп дисктин сүрөтүн түзүңүз

Киргизилген microSD картаңызды df -h буйругу аркылуу таап, аны ажыратып, dd буйругу менен дисктин сүрөтүн түзүңүз.

$ 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 of//dev/sdb (note: in this case, it's this/dev/sdb,/dev/sdb1 was in the existing zavod partition on microSD)

RaspberriPi орнотуу

Жаңы microSD картаңызды raspberrypiге салып, HDMI портуна туташкан монитор менен күйгүзүңүз

Кирүү

колдонуучу: pi pass: малина

Коопсуздук үчүн каттоо эсебиңиздин сырсөзүн өзгөртүңүз

sudo passwd pi

2 -кадам: RaspberriPi Advanced Options иштетүү

sudo raspi-config

Тандоо: 1 Файл системасын кеңейтүү

9 Advanced Options

A2 Hostname аны "WIFI-OUTLET" кылып өзгөртөт

A4 SSH SSH серверин иштетүү

A7 I2C i2c интерфейсин иштетүү

Англисче/АКШ баскычтобун иштетүү

sudo nano/etc/default/keyboard

Төмөнкү сапты өзгөртүңүз: XKBLAYOUT = "us"

Клавиатуранын жайгашуусун өзгөртүү үчүн / файл системасынын өлчөмүн өзгөртүү үчүн PIди кайра жүктөө

$ sudo өчүрүү -r азыр

WiFiга автоматтык түрдө туташуу

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Сиздин raspberrypi автоматтык түрдө үй WiFiңызга кошулушу үчүн төмөнкү саптарды кошуңуз (эгер сиздин зымсыз тармагыңыз "linksys" деп аталып калса, мисалы, төмөнкү мисалда)

network = {ssid = "linksys" psk = "БУЛ ЖЕРДЕ ЗАПСЫЗ ПАРОЛЬ"} WiFi тармагына туташуу үчүн PIди кайра жүктөңүз

$ sudo өчүрүү -r азыр

Эми сиздин PI акыры жергиликтүү тармакта болгондуктан, ага алыстан SSH аркылуу кире аласыз. Бирок адегенде азыркы учурда бар болгон IP дарегин алышыңыз керек.

$ ifconfig "inet addr: 192.168. XXX. XXX" издеңиз, PIнин IP дареги үчүн төмөнкү буйруктун чыгарылышында.

Башка машинага өтүп, 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-Imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

Жергиликтүү убакыт алкагынын жөндөөлөрүн жаңыртуу

$ sudo dpkg-маалыматты кайра конфигурациялоо

интерфейс аркылуу убакыт алкагыңызды тандаңыз

Жөнөкөй каталогду орнотуу l буйругу [милдеттүү эмес]

vi ~/.bashrc

төмөнкү сапты кошуу:

каймана аты l = 'ls -lh'

булак ~/.bashrc

VIM демейки синтаксисин бөлүп көрсөтүүнү оңдоңуз [милдеттүү эмес]

sudo vi/etc/vim/vimrc

төмөнкү сапка комментарий бербеңиз:

синтаксис күйгүзүлгөн

I2c Python драйверлерин орнотуңуз

4 -кадам: WEB API КУРУ

Төмөнкү көрсөтмөлөр сиз кура турган ар кандай wifi иштетилген розеткаларды жана дубалдын өчүргүчтөрүн түшүндүргөн борбордук хабды курууга мүмкүндүк берет, кайсы түзмөктөр күйгүзүлүп жана өчүрүлөт. Бул сиз тандаган веб -хостко жайгаштыруу үчүн кичинекей PHP скрипти. Бул маалыматты алуу жана орнотуу үчүн төмөнкү APIге ээ. Эскертүү: туура URL багыттоо үчүн.htaccess файлын кошууну унутпаңыз.

"Index.php", "баалуулуктар/" папкасын жана settings.php (өзүңүздүн баалуулуктарыңызга конфигурацияланган) орнотууну PHP иштетилген веб -серверге өзүңүз тандагыла. "Settings.php" файлындагы жашыруун ачкычтын мааниси сиз "settings.py" файлында койгон жашыруун ачкыч маанисине дал келиши керек. Бул негизги деңгээлде башка веб -трафик баалуулуктарды коюуга / жазууга, түзмөктөрүңүздү күйгүзүүгө тоскоол болот, эми муну үчүн HTTP өтүнүчүнүн башындагы бул хэштелген API ачкычы керек.

API төмөнкү функцияларды колдойт, бул долбоор үчүн биз "ту" маанилерин гана колдонобуз, алар логикалык маанилер, алар которгучту күйгүзүүнү жана өчүрүүнү айтышат. Балким, эгер сиз "окуу" баалуулуктарынан пайдаланууну кааласаңыз, анда сизде болушу мүмкүн, эгерде бөлмө температурасы температураны сактоо менен өтө ысып кетсе, анда ал терезе желдеткичин күйгүзүшү мүмкүн.

Кодду алыңыз

GitHubдан төмөнкү долбоорду клондоштуруп, веб -серверди жана RaspberryPI розеткасын иштетүү үчүн кодду алыңыз.

github.com/khinds10/PowerHub

Веб -серверде иштеп жатканда API Endpoints

myhost/message (учурдагы билдирүүлөр топтомун алуу)

myhost/message/set (HTTP POST бул билдирүүгө чийки сап маанисин билдирүү үчүн)

myhost/flag/{id} (желектин учурдагы логикалык статусун бүтүн сан боюнча алуу: {id})

myhost/flag/all (бардык желектердин учурдагы логикалык статусун массив катары алуу)

myhost/flag/{id}/set (учурдагы логикалык статусту туу үчүн бүтүн сан боюнча "чыныгы" деп коюңуз: {id})

myhost/flag/{id}/unset (учурдагы логикалык статусун флаг үчүн "false" деп коюңуз: {id})

myhost/reading/{id} (бүтүн сан боюнча окуу үчүн учурдагы орточо маанини алыңыз: {id})

myhost/reading/all (бардык окуу үчүн учурдагы орточо маанини массив катары алуу)

myhost/reading/{id}/set (HTTP POST бул URLге чийки сандык маанини учурдагы орточо эсепке жаңы маанини кошуу үчүн) - жалпысынан канча маанинин орточо мааниге топтолгонун төмөндөн караңыз. Конфигурация "Окуулардын" мааниси акыркы кездеги сандык маанилердин белгилүү бир санынын орточо көрсөткүчү катары эсептелет. Орточо көрсөткүчтү алуу үчүн эң акыркы окуулардын канчасы киргизилиши керектигине төмөнкү константаны коюңуз.

$ readingsAverageLimit = 5;

Datastore Server төмөндөгү конвенцияларды атоо менен жайгашкан жөнөкөй файлдарга баалуулуктарды сактап калат. Эскертүү: {id} кирүүчү сурамдын URLи менен берилген чыныгы бүтүн сан менен алмаштырылат.

$ valueFileFolder = 'баалуулуктар' (өлчөө файлдарын камтыган папканын аталышы) $ messageFileName = 'message.msg' (билдирүүнүн текст файлынын аталышы) $ readingsFilesNames = 'окуу {id}.avg' (орточо CSV аталышы) окуу файлы) $ flagFilesNames = 'байрак {id}.flg' (логикалык желектин мааниси желек файлынын аталышы)

Бардык маани файлдары systemchmod 777 баалуулуктары тарабынан жазылаарын текшериңиз/*

5 -кадам: Керектелүүчү материалдар

Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар

1 дюйм тешик араа (бургулоо үчүн)

5V 2 Channel Relay Module

Дуплекстүү Рецепт дубал плитасы

Duplex Receptacle

Pi Zero W

Surface Mount Backbox Dual Gang

Ак жарык баскычтар

6 -кадам: розетканы куруу

Розетканы куруу
Розетканы куруу

Break Outlet Tabs

Ар бир розетканы өз алдынча күйгүзүү/өчүрүү үчүн розетканын капталындагы өтмөктү сындырыңыз

7 -кадам: Баскычтарды орнотуңуз

Баскычтарды орнотуу
Баскычтарды орнотуу
Баскычтарды орнотуу
Баскычтарды орнотуу

Outlet бетинде 1 дюймдук араа колдонуп, розеткалардын жанына жайгаштыруу үчүн 2 тешикти кесип салыңыз

Тест компоненттеринин өлчөмү

Бардык компоненттер розетканын бетине орнотуу кутусуна туура келерин текшериңиз

8 -кадам: Зым реле

Wire Relay
Wire Relay
Wire Relay
Wire Relay

Релени розеткага узартуу шнурунан дубалга чейин, жерге (жашыл) жана нейтралдуу (ак) түздөн -түз розеткага туташтырыңыз Ыстык (кара) үчүн релеге, андан кийин реледен ар бир розеткага ысык туташтыргычтарга туташтырыңыз. жекече

9 -кадам: Кошумча зым жана монтаж сүрөттөрү

Кошумча зым жана монтаж сүрөттөрү
Кошумча зым жана монтаж сүрөттөрү

10 -кадам: Кабелдик диаграмма

Кабелдик диаграмма
Кабелдик диаграмма

RaspberryPI Python коду менен иштөө үчүн компоненттерди туура зымдоо үчүн диаграмманы колдонуңуз.

11 -кадам: Кургак чуркоону сыноо

Кургак чуркоо
Кургак чуркоо
Кургак чуркоо
Кургак чуркоо
Кургак чуркоо
Кургак чуркоо

Тешик бирдигин буроодон мурун акыркы жыйноодон кийин, шорты жок, начар зым бар экенине ынануу үчүн түзмөктү кургак иштетиңиз.

12 -кадам: Баштоо скрипттерин орнотуңуз

crontab -e

төмөнкү саптарды кошуу

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

Сунушталууда: