Turinys:

Maitinimo lizdas su internetu: 13 žingsnių
Maitinimo lizdas su internetu: 13 žingsnių

Video: Maitinimo lizdas su internetu: 13 žingsnių

Video: Maitinimo lizdas su internetu: 13 žingsnių
Video: Verslodara: 10 žingsnių, kaip pradėti savo verslą 2024, Liepa
Anonim
Image
Image
Reikalingos medžiagos
Reikalingos medžiagos

„PowerHub“žiniatinklio serverio projektas ir interneto įjungimo lizdo sąrankos instrukcijos

Centrinis duomenų išsaugojimo centras, skirtas jūsų namuose esančiai šviesai ir lizdams!

1 veiksmas: „PowerHub“žiniatinklio serverio projektas ir interneto įjungimo lizdo sąrankos instrukcijos

Centrinis duomenų ištvermės centras, skirtas jūsų namuose esančiai šviesai ir lizdams

Mirksintis „RaspberriPi“kietasis diskas/įdiekite reikiamą programinę įrangą (naudodami „Ubuntu Linux“) Atsisiųskite „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/

Sukurkite naują standųjį diską, skirtą „DashboardPI“

Įdėkite „microSD“į kompiuterį per USB adapterį ir sukurkite disko vaizdą naudodami komandą dd

Suraskite įdėtą „microSD“kortelę naudodami komandą df -h, atjunkite ją ir sukurkite disko atvaizdą naudodami komandą disk copy dd

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

$ umount /dev /sdb1

Atsargiai: įsitikinkite, kad komanda yra visiškai tiksli, naudodami šią komandą galite sugadinti kitus diskus

if = RASPBIAN JESSIE LITE vaizdo failo vieta = jūsų „microSD“kortelės vieta

$ sudo dd bs = 4M, jei =/kelias/į/raspbian-jessie-lite.img iš =/dev/sdb (pastaba: šiuo atveju tai yra/dev/sdb,/dev/sdb1 buvo esamas gamyklos skaidinys „microSD“)

„RaspberriPi“nustatymas

Įdėkite naują „microSD“kortelę į avietę ir įjunkite ją naudodami monitorių, prijungtą prie HDMI prievado

Prisijungti

vartotojas: pi pass: avietė

Saugumo sumetimais pakeiskite paskyros slaptažodį

sudo passwd pi

2 veiksmas: įgalinkite „RaspberriPi“išplėstines parinktis

sudo raspi-config

Pasirinkite: 1 Išplėskite failų sistemą

9 Išplėstinės parinktys

A2 pagrindinio kompiuterio pavadinimą pakeiskite į „WIFI-OUTLET“

A4 SSH Įgalinti SSH serverį

A7 I2C Įgalinti i2c sąsają

Įgalinti anglų/JAV klaviatūrą

sudo nano/etc/default/klaviatūra

Pakeiskite šią eilutę: XKBLAYOUT = "mes"

Iš naujo paleiskite PI, kad pakeistumėte klaviatūros išdėstymą / pakeistumėte failų sistemos dydį

$ sudo išjungimas -r dabar

Automatinis prisijungimas prie „WiFi“

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Pridėkite šias eilutes, kad jūsų raspberrypi automatiškai prisijungtų prie jūsų namų „WiFi“(jei jūsų belaidis tinklas pavadintas „linksys“, pvz., Šiame pavyzdyje)

tinklas = {ssid = "linksys" psk = "BEVIELIS PASLAPTIS ČIA"} Iš naujo paleiskite PI, kad prisijungtumėte prie „WiFi“tinklo

$ sudo išjungimas -r dabar

Dabar, kai jūsų PI pagaliau yra vietiniame tinkle, galite prie jo prisijungti nuotoliniu būdu per SSH. Bet pirmiausia turite gauti dabartinį IP adresą.

$ ifconfig Ieškokite „inet addr: 192.168. XXX. XXX“šioje komandos išvestyje, skirtoje jūsų PI IP adresui

Eikite į kitą mašiną ir prisijunkite prie savo raspberrypi per ssh

$ ssh [email protected]. XXX. XXX

3 veiksmas: pradėkite diegti reikalingus paketus

$ sudo apt-get atnaujinimas

$ sudo apt-get atnaujinimas

$ sudo apt-get install vim git python-request 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

Atnaujinkite vietinės laiko juostos nustatymus

$ sudo dpkg-reconfigure tzdata

naudodamiesi sąsaja pasirinkite savo laiko juostą

Nustatykite paprastą katalogo komandą l [neprivaloma]

vi ~/.bashrc

pridėkite šią eilutę:

slapyvardis l = 'ls -lh'

šaltinis ~/.bashrc

Ištaisykite numatytąjį VIM sintaksės paryškinimą [neprivaloma]

sudo vi/etc/vim/vimrc

nekomentuokite šios eilutės:

sintaksė įjungta

Įdiekite „i2c Python“tvarkykles

4 veiksmas: sukurkite žiniatinklio API

Šios instrukcijos leis jums sukurti centrinį centrą, kuriame būtų paaiškinta įvairioms „Wi -Fi“jungtims ir sieniniams jungikliams, kuriuos galite sukurti, kurie įrenginiai yra įjungti ir išjungti. Tai mažas PHP scenarijus, kurį galite įdėti į jūsų pasirinktą žiniatinklio prieglobą. Ji turi šią API, kad gautų ir nustatytų informaciją. Pastaba: nepamirškite įtraukti.htaccess failo, kad būtų tinkamai nukreiptas URL.

Įdiekite aplanką „index.php“, „values/“ir settings.php (sukonfigūruotą pagal savo vertes) į pasirinktą PHP palaikantį žiniatinklio serverį. Slapto rakto reikšmė faile „settings.php“turi sutapti su slapto rakto verte, kurią nustatytumėte faile „settings.py“. Tai iš esmės neleis jokiam kitam žiniatinklio srautui nustatyti / rašyti reikšmes, įjungti jūsų įrenginius. Dabar jums reikia šio maišos API rakto HTTP užklausos antraštėje.

API palaiko šias funkcijas, šiam projektui naudosime tik „vėliavos“reikšmes, kurios yra loginės vertės, nurodančios jungikliui įjungti ir išjungti. Galbūt, jei norėtumėte pasinaudoti „skaitymo“reikšmėmis, galite ją gauti, kad jei kambario temperatūra per daug įkaista, išsaugodama ten temperatūrą, ji galėtų įjungti lango ventiliatorių ir pan.

Gaukite kodą

Klonuokite šį projektą iš „GitHub“, kad gautumėte kodą, skirtą paleisti žiniatinklio serverį ir „RaspberryPI“lizdą.

github.com/khinds10/PowerHub

API galiniai taškai, kai jie veikia žiniatinklio serveryje

myhost/message (gauti dabartinį pranešimų rinkinį)

myhost/message/set (HTTP POST šio URL neapdorotą eilutės vertę, kad būtų nustatytas naujas pranešimas)

myhost/flag/{id} (gaukite dabartinę vėliavos loginę būseną sveiku skaičiumi: {id})

myhost/flag/all (gauti visą dabartinę visų vėliavų loginę būseną kaip masyvą)

myhost/flag/{id}/set (nustatykite dabartinę loginės būsenos reikšmę „true“vėliavai pagal sveikąjį skaičių: {id})

myhost/flag/{id}/unset (nustatykite dabartinę loginės būsenos reikšmę „false“, skirtą vėliavai pagal sveikąjį skaičių: {id})

myhost/reading/{id} (gauti dabartinę vidutinę skaitymo vertę pagal sveikąjį skaičių: {id})

myhost/reading/all (gauti dabartinę vidutinę visų rodmenų vertę kaip masyvą)

myhost/reading/{id}/set (HTTP POST PASIRINKITE neapdorotą skaitinę šio URL reikšmę, kad pridėtumėte naują vertę prie dabartinio apskaičiuoto vidurkio) - žr. Konfigūracija „Rodmenų“reikšmės apskaičiuojamos kaip tam tikro skaičiaus pastaruoju metu išlikusių skaitinių reikšmių vidurkiai. Nustatykite šią konstantą, kiek paskutinių rodmenų turėtų būti įtraukta, kad būtų gautas vidurkis.

$ readingsAverageLimit = 5;

Duomenų saugyklos serveris išsaugos reikšmes paprastiems failams, esantiems toliau nurodant pavadinimus. Pastaba: „{id}“bus pakeistas tikru sveiku skaičiumi, pateikiamu gaunamos užklausos URL.

$ valueFileFolder = 'vertės' (aplanko, kuriame yra matavimo failai, pavadinimas) $ messageFileName = 'message.msg' (pranešimo teksto failo pavadinimas) $ readingsFilesNames = 'reading {id}.avg' (CSV pavadinimas $ flagFilesNames = 'vėliava {id}.flg' (loginės vėliavos vertės vėliavos failo pavadinimas)

Įsitikinkite, kad visi reikšmių failai yra įrašomi pagal systemchmod 777 reikšmes/*

5 žingsnis: reikalingos medžiagos

Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos

1 colio skylės pjūklas (gręžtuvui)

5V 2 kanalų relės modulis

Dvipusio talpyklos sieninė plokštė

Dvipusis talpykla

Pi Zero W

„Surface Mount Backbox Dual Gang“

Baltos spalvos šviečiantys mygtukai

6 žingsnis: išleidimo angos kūrimas

Išleidimo angos kūrimas
Išleidimo angos kūrimas

„Break Outlet“skirtukai

Nutraukite skirtuką išleidimo angos šone, kad kiekvienas lizdas būtų įjungtas/išjungtas atskirai

7 žingsnis: įdiekite mygtukus

Įdiekite mygtukus
Įdiekite mygtukus
Įdiekite mygtukus
Įdiekite mygtukus

Išleidimo angos priekinėje plokštėje, naudodami 1 colio pjūklo pjūklą, iškirskite 2 skyles, kad mygtukai būtų dedami šalia išleidimo angų

Išbandykite komponentų dydį

Įsitikinkite, kad visi komponentai tilps į išleidimo paviršiaus tvirtinimo dėžę

8 žingsnis: vielos relė

Vielos relė
Vielos relė
Vielos relė
Vielos relė

Prijunkite relę prie lizdo, nuo ilginimo laido prie sienos, prijunkite įžeminimą (žalią) ir neutralųjį (baltą) tiesiai prie lizdo. Karštai (juodai) prijunkite juos prie relės, tada iš relės į kiekvieną išleidimo angą individualiai

9 veiksmas: papildomi laidų ir surinkimo vaizdai

Papildomi laidų ir surinkimo vaizdai
Papildomi laidų ir surinkimo vaizdai

10 žingsnis: laidų schema

Elektros schema
Elektros schema

Naudokite diagramą, kad tinkamai prijungtumėte komponentus, kad jie veiktų su „RaspberryPI Python“kodu.

11 veiksmas: išbandykite sausą važiavimą

Sauso važiavimo bandymas
Sauso važiavimo bandymas
Sauso važiavimo bandymas
Sauso važiavimo bandymas
Sauso važiavimo bandymas
Sauso važiavimo bandymas

Po galutinio surinkimo prieš susukdami skylių bloką, atlikite sausą prietaiso paleidimą, kad įsitikintumėte, jog nėra šortų, netinkamų laidų

12 veiksmas: nustatykite paleisties scenarijus

crontab -e

pridėkite šias eilutes

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

Rekomenduojamas: