Turinys:

„SmartHome“su „Raspberry Pi“: 5 žingsniai
„SmartHome“su „Raspberry Pi“: 5 žingsniai

Video: „SmartHome“su „Raspberry Pi“: 5 žingsniai

Video: „SmartHome“su „Raspberry Pi“: 5 žingsniai
Video: Raspberry pi 5 inch HDMI Screen Installation | #Shorts 2024, Lapkritis
Anonim
„SmartHome“su „Raspberry Pi“
„SmartHome“su „Raspberry Pi“

Šiam projektui sukūriau „SmartHome“, kurį galima valdyti svetainėje ir mobiliajame telefone. Tam aš naudoju Raspberry PI kaip duomenų bazę ir žiniatinklio serverį.

Prekės

Jei norite tai pradėti, jums reikia kelių dalykų:

  • 5 baltos lemputės (5 mm)
  • 1 vieno laido temperatūros jutiklis
  • 1 LDR (nuo šviesos priklausomas rezistorius)
  • 2 servo varikliai
  • 1 „microSD“(skirta „Raspberry Pi“)
  • 1 Maitinimo lentos maitinimo šaltinis
  • 1 „Raspberry Pi 3“modelis B+
  • 3 Putplasčio plokštės
  • 1 žingsninis variklis (5V)
  • 1 RFID-RC522 skaitytuvas
  • 8 rezistoriai (220 omų)
  • 1 rezistorius (10K omų)
  • 2 Duonos lentos
  • 2 pakuotės megztinių
  • 1 16x2 LCD ekranas
  • 1 PCF8574AN
  • 4 maži langai (atspausdinti 3D)
  • 1 durys (3D spausdinta)
  • 2 dideli langai (3D spausdintas)
  • 1 garažo vartai (3D spausdintas)

Jei jums reikia viso to nusipirkti, maksimali kaina bus apie 150 eurų

1 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Lengviausias būdas pradėti nuo laidų, kad jau turėtum pagrindus, šiuo metodu rašydami kodą galite lengvai patikrinti, ar viskas veikia.

Tokiu būdu galite pamatyti, ar turite pakankamai kaiščių „Raspberry Pi“, kad galėtumėte viską sujungti. Šiuo atveju aš naudoju PCF8574AN, norėdamas valdyti LCD ekraną su mažiau GPIO kaiščių.

Norėdami piešti schemą, naudoju „Fritzing“. Tai patogi programa, kurioje galite gerai matyti savo kabelius.

Kaip matote antroje nuotraukoje, yra daug kabelių, todėl vis tiek turite dirbti organizuotai.

2 žingsnis: būstas

Būstas
Būstas
Būstas
Būstas
Būstas
Būstas
Būstas
Būstas

Korpusui kaip sienas naudoju putplasčio plokštes. Aš peiliu supjaustiau norimų formų lentas. Langai, durys ir garažo vartai spausdinami 3D formatu. Žinoma, aš nupiešiau namą iš anksto, todėl žinojau, kokius matmenis turiu naudoti.

Namų piešimui naudojau „SketchUp“. Aš naudoju klijų pistoletą, kad sienos būtų tiesios ir laikytų jas kartu. Jei matote nuotraukose, langas ir garažo durys yra pritvirtintos klijais, kad būtų pakankamai tvirtos. trečioje nuotraukoje yra dėžutė, kurią veždavau, kad viskas liktų nepažeista

3 žingsnis: duomenų bazė

Duomenų bazė
Duomenų bazė

Pirmiausia turite sukurti duomenų bazę naudodami „Mysql Workbench“. Jei tai pavyks, turite įdiegti „Mysql“duomenų bazę „Raspberry Pi“.

Pirmasis žingsnis yra patikrinti, ar jūsų Pi yra atnaujintas. Galite naudoti šią komandą:

sudo apt-get atnaujinimas

ir

sudo apt-get atnaujinimas

Dabar galite įdiegti „Mysql“serverį:

sudo apt-get install mysql-server

Jei įdiegtas „Mysql“serveris, įdiekite „Mysql“klientą

sudo apt-get install mysql-client

Jei dabar pažvelgsite į SQL serverį naudodami komandą:

sudo mysql

Dabar galite importuoti savo duomenų bazės kodą, atidarydami.mwb failą naudodami „SQL“darbastalį ir persiuntimo inžinierių. Nukopijuokite kodą ir įklijuokite jį į „MySQL“iš „Raspberry“. Sukurta duomenų bazė.

Kad vartotojas gautų visus leidimus, tiesiog pridėkite savo vartotojo vardą prie lentelės

suteikti visas privilegijas „smarthome“.* „yourname“@“%“, identifikuotam pagal „yourname“;

Žinoma, dabar reikia atnaujinti lentelę

PLŪŠIMO PRIVILEGIJOS;

Norėdami tai patikrinti, galite tiesiog pabandyti:

naudoti „smarthome“;

pasirinkti * iš istorikų;

Vartotojų lentelėje pateikiami vartotojų vardai ir jų ženklelis, čia galite pridėti naujų vartotojų. Įrenginių lentelėje galite rasti visus aktyvius jutiklius su jų ID. Istorijos lentelėje rodoma viskas, kas vyksta, pavyzdžiui, temperatūros jutiklis, ženklelis su garažo durų būsena ir dar daugiau.

4 žingsnis: sąranka

Norėdami nustatyti vaizdą „Raspberry Pi“, galite naudoti „Putty“, tai nemokama programa. Pagrindinį vaizdo failą galite rasti čia:

Sąsajos

Žinoma, turite įgalinti kai kurias „Pi“sąsajas. Pirmiausia eikite į konfigūracijos puslapį.

sudo raspi-config

Dabar galite pereiti prie kategorijų „1-Wire“ir „Spi“ir abu jas įgalinti. Jų jums reikės temperatūros jutikliui.

bevielis internetas

Atlikite kitus veiksmus, kad gautumėte „Wi -Fi“prie „Pi“.

Pirmiausia prisijunkite kaip root

sudo-i

Tada įveskite savo „wifi“tinklo pavadinimą ir slaptažodį

wpa_passphrase = "wifiname" "slaptažodis" >> /etc/wpa_supplicant/wpa_supplicant.conf

Tada įveskite WPA klientą

wpa_cli

pasirinkite sąsają

sąsaja wlan0

Dabar iš naujo įkelkite konfigūraciją

perkonfigūruoti

Ir dabar galite patikrinti, ar esate prisijungę

ip a

Paketai

Pirmas dalykas, kurį reikia padaryti, yra atnaujinti naujausias versijas

sudo apt atnaujinimas

„Python“įdiegiame ir įsitikiname, kad „Pi“pasirenka teisingą versiją

atnaujinimo alternatyvos-įdiegti/usr/bin/python python /usr/bin/python2.7 1atnaujinti alternatyvas-įdiegti/usr/bin/python python/usr/bin/python3 2

Kad žiniatinklio serveris galėtų paleisti svetainę, turime įdiegti „Apache2“

sudo apt įdiegti apache2 -y

Taip pat reikia įdiegti kai kuriuos „Python“paketus

  • Kolba
  • Kolbos-kamšteliai
  • Kolba-MySQL
  • Kolba-lizdasIO
  • „PyMySQL“
  • „Python-socketIO“
  • prašymus
  • pip
  • gpio
  • Geventas
  • Gevent-websocket

jei kyla problemų dėl nerandamo paketo, tiesiog spustelėkite jį dešiniuoju pelės mygtuku ir leiskite jam įdiegti.

5 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas

backend

Užpakalinei sistemai mes rašome kodą „python“ir rašydami naudodami „pycharm“. Maršrutus iš foninės sistemos galima patikrinti su paštininku. Naudodami šią programą galite naudoti POST ir GET metodus. Užpakalinėje sistemoje naudoju daugiasluoksnį, todėl viskas veikia fone ir gali veikti kartu. Norėdami nustatyti vaizdą „Raspberry Pi“, galite naudoti „Putty“, tai nemokama programa.

sąsaja

Priekinėje dalyje yra keletas mygtukų, kurie gali įjungti šviesą, atidaryti garažo prievadą ir duris. Naudojant „javascript“ir CSS, mygtukų stilius pasikeičia, kai jie yra aktyvūs. Taip pat yra tiesioginė temperatūra ir diagrama su buvusia temperatūra. Vartotojo puslapyje galite pamatyti įvairius vartotojus, taip pat galite įtraukti vartotoją į duomenų bazę ir yra vartotojo istorija, kurioje galite pamatyti, kas paskutinius atidarė ar uždarė garažo duris.

Priekinės ir galinės sistemos kodą rasite adresu

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Rekomenduojamas: