Innehållsförteckning:

Home_X: 5 steg
Home_X: 5 steg

Video: Home_X: 5 steg

Video: Home_X: 5 steg
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Juli
Anonim
Hem_X
Hem_X

Jag är student på Howest Kortrijk som studerar New Media and Communication Technology (NMCT).

Vi var alla tvungna att göra ett projekt som var baserat på hallon och/eller Arduino. Vi var tvungna att använda sensorer och databaser för att visa data på en webbplats, och det var då jag kom på idén att skapa ett minismart hus.

Med det smarta huset kommer du att kunna se alla sensoravläsningar på webbplatsen.

I denna instruerbara guide kommer jag att vägleda dig genom varje steg så att du kan återskapa detta projekt själv.

Steg 1: Material: Vad behöver du

  • Raspberry Pi
  • DHT22
  • Grove - Luftkvalitetssensor
  • Grove - Gassensor (MQ2)
  • Bakbord
  • Hallon Pi T skomakare
  • Manliga/kvinnliga bygeltrådar
  • 5 mm lysdioder
  • Motstånd
  • Trä och verktyg
  • Servomotor
  • GrovePi+

Du kan köpa dessa artiklar online (Ali express, amazon, kiwi -elektronik …) eller i dina lokala butiker.

En detaljerad lista över delar med en länk till butikerna ges nedan i stycklistan.

Steg 2: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

Jag använde Fritzing för kablarna för att ha en bra överblick över hur mina ledningar skulle göras. Jag använde själv en GrovePi+ för 2 av mina sensorer. Om du planerar att göra detta utan GrovePi+ följer du Fritzing -schemat. Jag sensorer fungerar inte för dig, försök använda olika stift.

Du hittar Fritzing -filen nedan.

Steg 3: Databas med MySQL

Databas med MySQL
Databas med MySQL

En av de viktigaste uppgifterna vi var tvungna att genomföra var anslutningen till en MySQL -databas.

Varje gång en sensor får avläsningar eller ett ljus tänds ser du dessa ändringar i databasen.

Databasen skickar sedan dessa data till webbplatsen så att användaren också kan se dem där.

Nedan hittar du min.xml -fil där du har en översikt över hur databasen fungerar, men först måste du installera MySQL och kolv på Raspberry Pi.

Kodningen av sensorerna skedde via pycharm så se till att den också är installerad (på din dator).

Först måste du söka efter uppdateringar och installera paket, så här:

sudo apt-get update && sudo apt-get upgrade

sudo apt installera -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Nu ska vi använda en virtuell miljö:

me@my-rpi: ~ $ python3 -m pip install-upgrade pip setuptools wheel virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/active (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Det ska berätta att mariadb.service är aktivt.

Gå nu till VCS> Importera från versionskontroll> GitHub en klon

Konfigurera sedan distributionskonfigurationen för den katalog som du just skapat, t.ex. /hem/mig/projekt1.

När detta är gjort går du till tolkinställningarna och konfigurerar den virtuella miljön som du just skapat, t.ex. /home/me/project/env/bin/python. Sökvägskartläggning måste också fyllas i.

Om du gjorde allt detta borde databasen redan köras.

sudo systemctl status mysql

Nu måste vi skapa användare för vår databas, så här:

sudo mariadb

SKAPA ANVÄNDARE 'project-admin'@'localhost' IDENTIFIERAD MED 'adminpassword'; SKAPA ANVÄNDARE 'project-web'@'localhost' IDENTIFIERAD MED 'webpassword'; SKAPA ANVÄNDARE 'projektsensor'@'localhost' IDENTIFIERAD MED 'sensorpassword'; SKAPA DATABASE -projekt;

GE ALLA PRIVILEGER PÅ projektet.* Till 'project-admin'@'localhost' MED GRANT-ALTERNATIV; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH PRIVILEGER;

Nu för att se vår databas i pycharm måste vi göra en anslutning.

Vi kan göra detta genom att gå till Visa> Verktygsfönster> Databas och klicka på den gröna "plus" -knappen.

Datakälla> MySQL och klicka (om sådan finns) på knappen Hämta drivrutin som dyker upp.

Gå sedan till SSH/SSL och kolla SSH. Fyll i värd/användare/lösenord för pi: n och använd port 22 om du inte har fyllt i det ännu.

Om du vill att pycharm ska komma ihåg ditt lösenord markerar du kryssrutan "Kom ihåg lösenord".

På fliken "Allmänt", fyll i localhost i värd, projekt i databas och använd projekt-admin med lösenordet för att kunna testa anslutningen.

För att nu göra databasen användbar måste du köra.sql som jag placerar nedan. Försök att använda importalternativet. Om du inte kan importera en dumpfil måste du lägga till tabellerna manuellt.

När detta är gjort måste du hitta conf -katalogen med de två.service -filerna. Där ändras varje seb du hittar med namnet på användaren du använder på din pi. Gruppen måste också vara www-data.

Nästa steg är att starta dessa tjänster på din pi, så här:

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl starta projekt-*

sudo systemctl statusprojekt-*

Du bör se två aktiva tjänster när allt går enligt planen.

Det sista steget är att aktivera nginx.

Sök först efter apache2 på din pi, om du har detta installerat, ta bort det eller inaktivera det.

I filen nginx måste du först ändra uwsgi_pass och sedan köra dessa kommandon.

sudo cp conf/nginx/etc/nginx/sites-available/project

sudo rm/etc/nginx/sites-enabled/default

sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl starta om nginx.service

sudo systemctl status nginx.service

Nginx ska vara aktiv och igång. Om allt är korrekt kan du nu surfa till din pi. Du kommer att se "Hej världen" först men du måste fortfarande ändra innehållet i den filen med min kod nedan.

Du kan aktivera tjänster så att de körs automatiskt när pi startar.

När du gjorde allt detta, se till att du lägger in minst ett hus med adress i databasen. Du kan göra detta med ett enkelt inlägg i.

Steg 4: Kodning

Kodning
Kodning
Kodning
Kodning

Du kan ladda ner koden via Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

Koden för sensorerna ingår i filen sensor.py.

Glöm inte att ändra mitt namn till ditt (eller användaren än du använder på din pi) i servicefilerna så att de kan köra korrekt och placera min kod i de redan befintliga filerna i din Pycharm.

Steg 5: Bostäder

Hus
Hus
Hus
Hus
Hus
Hus
Hus
Hus

Jag gjorde en snabb ritning av hur jag ville ha mitt hus, men ditt kan se helt annorlunda ut. Du måste bara se till att du har en helhet så att servon kan öppna och stänga ett fönster.

Jag använde främst en liten borrmaskin och en såg för att hugga virket. Jag såg också till att väggarna var tillräckligt tjocka så att jag kunde placera min servo inuti dem.

När du är klar med din design och servon är på plats behöver du bara ansluta sensorerna och placera pi inuti huset och du är redo att gå.

Som jag nämnde innan ditt hus kan se exakt likadant ut som mitt, du behöver bara göra plats för servon och fönstret.

Äntligen är du klar med projektet. Jag hoppas att den här guiden är tillräckligt tydlig så att du också kan göra ett fantastiskt smarthus som jag gjorde.

Lycka till.

Rekommenderad: