Mundarija:

Internet yoqilgan quvvat manbai: 13 qadam
Internet yoqilgan quvvat manbai: 13 qadam

Video: Internet yoqilgan quvvat manbai: 13 qadam

Video: Internet yoqilgan quvvat manbai: 13 qadam
Video: Telefonni to’g’ri quvvatlash | Batareya ishlashi | Texnoplov 2024, Noyabr
Anonim
Image
Image
Kerakli materiallar
Kerakli materiallar

PowerHub veb -server loyihasi va Internet yoqilgan rozetkalarni sozlash bo'yicha ko'rsatmalar

Sizning uyingizdagi Internetga ulangan yorug'lik va rozetkalar uchun markaziy ma'lumotni saqlash markazi!

1 -qadam: PowerHub veb -server loyihasi va Internet yoqilgan rozetkalarni sozlash bo'yicha ko'rsatmalar

Sizning uyingizdagi Internetga ulangan yorug'lik va rozetkalar uchun markaziy ma'lumotni saqlash markazi

RaspberriPi qattiq diskining yonishi/kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida) "RASPBIAN JESSIE LITE" ni yuklab oling

DashboardPI uchun yangi qattiq diskni yarating

USB adapter orqali microSD -ni kompyuterga joylashtiring va dd buyrug'i yordamida disk tasvirini yarating

O'rnatilgan microSD kartani df -h buyrug'i orqali toping, uni ajratib oling va dd buyrug'i yordamida disk tasvirini yarating.

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678

$ umount /dev /sdb1

E'tibor bering: buyruq to'liq aniqligiga ishonch hosil qiling, siz bu buyruq bilan boshqa disklarga zarar etkazishingiz mumkin

if = RASPBIAN JESSIE LITE rasm faylining joylashuvi = microSD kartangiz joylashuvi

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (eslatma: bu holda, bu/dev/sdb,/dev/sdb1-bu zavod bo'limi microSD)

RaspberriPi -ni sozlash

Yangi microSD kartani malinaga joylashtiring va HDMI portiga ulangan monitor bilan yoqing

Kirish

foydalanuvchi: pi pass: malina

Xavfsizlik uchun hisob parolini o'zgartiring

sudo passwd pi

2 -qadam: RaspberriPi kengaytirilgan parametrlarini yoqing

sudo raspi-config

Tanlang: 1 Fayl tizimini kengaytiring

9 Kengaytirilgan imkoniyatlar

A2 xost nomi uni "WIFI-OUTLET" ga o'zgartiradi.

A4 SSH SSH serverini yoqish

A7 I2C i2c interfeysini yoqish

Ingliz/AQSh klaviaturasini yoqing

sudo nano/etc/default/klaviatura

Quyidagi qatorni o'zgartiring: XKBLAYOUT = "us"

Klaviatura tartibining o'zgarishi / fayl tizimining o'lchamlari kuchga kirishi uchun PIni qayta ishga tushiring

$ sudo yopilishi -r

Wi-Fi tarmog'iga avtomatik ulanish

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Raspberrypi avtomatik ravishda uy Wi -Fi tarmog'iga ulanishi uchun quyidagi qatorlarni qo'shing (agar simsiz tarmog'ingiz "linksys" deb nomlangan bo'lsa, masalan, quyidagi misolda).

tarmoq = {ssid = "linksys" psk = "Bu yerda simsiz parol"} Wi -Fi tarmog'iga ulanish uchun PIni qayta yoqing.

$ sudo yopilishi -r

Endi sizning PI mahalliy tarmoqda, siz unga SSH orqali masofadan kirishingiz mumkin. Lekin avval siz hozirda mavjud bo'lgan IP -manzilni olishingiz kerak.

$ ifconfig PI -ning IP -manzili uchun quyidagi buyruq chiqishida "inet addr: 192.168. XXX. XXX" ni qidiring.

Boshqa mashinaga o'ting va sasp orqali raspberrypi -ga kiring

$ ssh [email protected]. XXX. XXX

3 -qadam: Kerakli paketlarni o'rnatishni boshlang

$ sudo apt-get yangilanishi

$ sudo apt-get yangilanishi

$ sudo apt-get install vim git python-request python-gpiozero python-smbus i2c-tools python-views python-smbus build-muhim python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

Mahalliy vaqt mintaqasi sozlamalarini yangilang

$ sudo dpkg-tzdata-ni qayta sozlang

interfeys yordamida vaqt mintaqangizni tanlang

Oddiy katalogni o'rnating l buyrug'i [ixtiyoriy]

vi ~/.bashrc

quyidagi qatorni qo'shing:

taxallus l = 'ls -lh'

manba ~/.bashrc

VIM standart sintaksisini ajratib ko'rsatish [ixtiyoriy]

sudo vi/etc/vim/vimrc

quyidagi qatorga izoh qoldiring:

sintaksis yoqilgan

I2c Python drayverlarini o'rnating

4 -qadam: WEB API -ni yarating

Quyidagi ko'rsatmalar sizga Wi -Fi tarmog'iga ulangan turli rozetkalar va devor kalitlarini tushuntiradigan, qaysi qurilmalar yoqilgan va o'chirilganligini tushuntirib beradigan markaziy uyani qurishga imkon beradi. Bu siz tanlagan veb -xostga joylashtirish uchun kichik PHP skriptidir. Unda ma'lumot olish va sozlash uchun quyidagi API mavjud. Eslatma: URL manzilini to'g'ri yo'naltirish uchun.htaccess faylini qo'shishni unutmang.

"Index.php", "values/" papkasini va settings.php -ni (o'z qadriyatlaringizga ko'ra tuzilgan) tanlagan PHP -ga ega veb -serverga o'rnating. "Settings.php" faylidagi maxfiy kalit qiymati "settings.py" faylidagi maxfiy kalit qiymatiga mos kelishi kerak. Bu asosiy darajada har qanday boshqa veb -trafik qiymatlarni belgilash / yozish, qurilmalaringizni yoqishining oldini oladi, buning uchun sizga hozir HTTP so'rov sarlavhasida bu xeshli API kaliti kerak bo'ladi.

API quyidagi funktsiyalarni qo'llab -quvvatlaydi, bu loyiha uchun biz faqat tugmachani yoqish va o'chirishni bildiradigan "bayroq" qiymatlaridan foydalanamiz. Ehtimol, agar siz "o'qish" qiymatlaridan foydalanishni xohlasangiz, bunga ega bo'lishingiz mumkin, shuning uchun agar u erda haroratni saqlash orqali xona harorati juda qizib ketsa, u deraza foniyini yoqishi mumkin va hokazo.

Kodni oling

Quyidagi loyihani GitHub -dan klonlang va veb -server va RaspberryPI -ni ishga tushirish kodini oling.

github.com/khinds10/PowerHub

Veb -serverda ishlayotganda API so'nggi nuqtalari

myhost/xabar (joriy xabarlar to'plamini oling)

myhost/message/set (HTTP POST yangi xabarni o'rnatish uchun ushbu URL manzilining mag'lubiyatli qiymati)

myhost/flag/{id} (bayroqning hozirgi boolean holatini tamsayı bo'yicha oling: {id})

myhost/flag/all (barcha bayroqlarning hozirgi boolean holatini qator sifatida oling)

myhost/flag/{id}/set (joriy mantiqiy holatni bayroq uchun "rost" qilib belgilang: {id})

myhost/flag/{id}/unset (joriy mantiqiy holatni bayroq uchun "false" deb belgilang: {id})

myhost/reading/{id} (tamsayı bo'yicha o'qishning joriy o'rtacha qiymatini oling: {id})

myhost/reading/all (barcha o'qishlar uchun joriy o'rtacha qiymatni qator sifatida oling)

myhost/reading/{id}/set (HTTP POST joriy hisoblangan o'rtacha qiymatga yangi qiymat qo'shish uchun ushbu URL manziliga raqamli qiymat) - o'rtacha qiymatga jami nechta qiymat jamlanganini quyida ko'ring. Konfiguratsiya "O'qish" qiymatlari ma'lum miqdordagi oxirgi o'qilgan raqamli qiymatlarning o'rtacha ko'rsatkichlari sifatida hisoblanadi. O'rtacha qiymatni olish uchun eng oxirgi o'qishlar qancha bo'lishi kerakligi haqida quyidagi doimiyni o'rnating.

$ readingsAverageLimit = 5;

Ma'lumotlar ombori serveri quyidagi fayllarni nomlash orqali joylashtirilgan oddiy fayllar qiymatini saqlaydi. Eslatma: {id} o'rniga kiruvchi so'rov URL manzili ko'rsatiladigan haqiqiy tamsayı qo'yiladi.

$ valueFileFolder = 'qadriyatlar' (o'lchov fayllari joylashgan papkaning nomi) $ messageFileName = 'message.msg' (xabar matnli fayl nomi) $ readingsFilesNames = 'o'qish {id}.avg' (CSV nomi o'rtacha o'qishlar fayli) $ flagFilesNames = 'flag {id}.flg' (boolean bayroq qiymati bayroq faylining nomi)

Barcha qiymat fayllari systemchmod 777 qiymatlari tomonidan yozilishi mumkinligiga ishonch hosil qiling/*

5 -qadam: Kerakli materiallar

Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar

1 dyuymli teshikli arra (matkap uchun)

5V 2 kanalli o'rni moduli

Dupleks idishni devor plitasi

Dupleks qabul qilgich

Pi nol Vt

Surface Mount Backbox Dual Gang

Oq yoritilgan tugmalar

6 -qadam: chiqish joyini qurish

Chiqish qurilishi
Chiqish qurilishi

Chiqish yorliqlarini sindirish

Har bir rozetkani mustaqil ravishda yoqish/o'chirish uchun rozetkaning yon qismidagi yorliqni sindiring

7 -qadam: tugmachalarni o'rnating

Tugmalar o'rnatish
Tugmalar o'rnatish
Tugmalar o'rnatish
Tugmalar o'rnatish

Chiqish yuzasida 1 dyuymli arra yordamida rozetkalarning yonida joylashgan tugmachalar uchun 2 teshik kesilgan

Sinov komponentlarining o'lchami

Barcha komponentlar chiqish yuzasiga o'rnatish qutisiga mos kelishiga ishonch hosil qiling

8 -qadam: simli o'rni

Tel -o'rni
Tel -o'rni
Tel -o'rni
Tel -o'rni

O'rnimizni rozetkaga ulang, uzaytirgich kabelidan devorga, erga (yashil) va neytral (oq) to'g'ridan -to'g'ri rozetkaga ulang. Issiq (qora) uchun ularni o'rni bilan, keyin o'rni bilan har bir rozetkaga ulang. alohida -alohida

9 -qadam: Qo'shimcha simlar va montaj rasmlari

Qo'shimcha simlar va montaj rasmlari
Qo'shimcha simlar va montaj rasmlari

10 -qadam: ulanish sxemasi

Ulanish diagrammasi
Ulanish diagrammasi

RaspberryPI Python kodi bilan ishlash uchun komponentlarni to'g'ri ulash uchun diagrammadan foydalaning.

11 -qadam: Quruq yugurishni sinovdan o'tkazing

Quruq yugurishni sinovdan o'tkazish
Quruq yugurishni sinovdan o'tkazish
Quruq yugurishni sinovdan o'tkazish
Quruq yugurishni sinovdan o'tkazish
Quruq yugurishni sinovdan o'tkazish
Quruq yugurishni sinovdan o'tkazish

Teshik qurilmasini bir -biriga ulashdan oldin yakuniy yig'ilgandan so'ng, qisqa tutashuv va yomon simlar yo'qligiga ishonch hosil qilish uchun qurilmani quruq ishga tushiring.

12 -qadam: ishga tushirish skriptlarini o'rnating

crontab -e

quyidagi qatorlarni qo'shing

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

Tavsiya: