Përmbajtje:

Fanair: një stacion moti për dhomën tuaj: 6 hapa (me fotografi)
Fanair: një stacion moti për dhomën tuaj: 6 hapa (me fotografi)

Video: Fanair: një stacion moti për dhomën tuaj: 6 hapa (me fotografi)

Video: Fanair: një stacion moti për dhomën tuaj: 6 hapa (me fotografi)
Video: Wounded Birds - Эпизод 3 - [Русско-румынские субтитры] Турецкая драма | Yaralı Kuşlar 2019 2024, Korrik
Anonim
Fanair: një stacion moti për dhomën tuaj
Fanair: një stacion moti për dhomën tuaj

Ka mënyra të panumërta për të zbuluar motin aktual, por atëherë ju e njihni vetëm motin jashtë. Po sikur të doni të dini motin brenda shtëpisë tuaj, brenda një dhome të caktuar? Kjo është ajo që unë përpiqem të zgjidh me këtë projekt.

Fanair përdor sensorë të shumtë për të kuptuar:

  • temperatura
  • lagështia
  • dritë
  • gazra të caktuar
  • presioni i ajrit

Veryshtë shumë kompakt dhe përdor Raspberry Pi 3 B, për marrjen e vlerave, ruajtjen e tyre në një bazë të dhënash MySQL dhe pastaj bërjen e tyre lehtësisht të disponueshme në një faqe në internet. E përfshirë në kod dhe uebfaqe është aftësia për të marrë të dhëna aktuale të motit për vendndodhjen tuaj, në mënyrë që faqja e internetit të mund të përdoret për të kontrolluar edhe motin jashtë.

Hapi 1: Merrni të gjithë artikujt e kërkuar

Merrni të gjithë artikujt e kërkuar
Merrni të gjithë artikujt e kërkuar

Para së gjithash ju do të keni nevojë për elektronikë bazë si tela / kabllo kërcyes. Nëse planifikoni të bashkoni gjithçka së bashku si një projekt i përhershëm, padyshim që do t'ju duhet gjithashtu një hekur bashkues, saldues dhe për komoditetin tuaj një PCB për t'i bashkuar gjithçka.

Për artikuj më specifikë kam bërë këtë Faturë të Materialeve.

  • Mjedër Pi 3 B
  • MPC3008-ADC me 8-kanale 10-bitëshe
  • Termometri AM2301 Sensori i Temperaturës dhe Lagështisë
  • WR Rademacher WR-tyoe 930-1 PCB
  • Kasa ABS për prototipim (e zezë)
  • LDR
  • Sensori i gazit MQ135
  • 2x BC517 Transistor Darlington
  • RGB LED
  • Paketa e Rezistencës
  • Zile
  • Telat
  • BMP280 Barometër
  • Tifoz USB i qetë (5V)

E gjithë kjo së bashku duhet të kushtojë rreth 110 €. Mbani në mend se çmimi i përgjithshëm është një përafrim. Gjithashtu, projekti im ka një ekran LCD në foto, por nuk është i lidhur pasi nuk kishte hapësirë të mjaftueshme në rastin tim, kështu që nuk përfshihet në udhëzuesin.

Hapi 2: Bëjeni gati Raspberry Pi tuaj

Merrni Raspian Jessie tuaj me sistemin operativ Pixel nga faqja zyrtare e Raspberry Pi dhe pasi ta keni shkarkuar, hiqeni atë nga zinxhiri. Do të merrni një skedar imazhi. Për ta marrë atë në Pi, duhet ta shkruani në Kartën SD duke përdorur Win32 Disk Imager. Pasi të jetë instaluar, zgjidhni skedarin e figurës dhe njësinë në të cilën ndodheni kartën SD. Pastaj shtypni shkrim dhe prisni derisa të përfundojë.

Kur të përfundojë klikoni në kartën tuaj SD në File Explorer dhe hapni skedarin e quajtur 'cmdline.txt' shkoni në fund të skedarit të tekstit pak para rootwait dhe shkruani 'ip = 254.169.10.2' me hapësira përreth natyrisht. Pasi ta ruani, duhet të klikoni me të djathtën diku brenda dritares dhe të krijoni një skedar të ri të quajtur 'ssh'. Vini re se ky skedar nuk ka një shtrirje skedari. Për t'u siguruar që nuk ka një shtrirje, klikoni në 'shiko' në eksploruesin e skedarëve dhe kontrolloni 'skedarët e fshehur'. Nëse e riemëron dhe fshin shtesën, atëherë thjesht lexon 'ssh'.

Pasi të jetë bërë kjo, më në fund mund ta vendosni kartën tuaj SD në Raspberry Pi. Shkarkoni një klient ssh (unë rekomandoj MobaXterm). Dhe lidheni duke përdorur ssh me IP -në që keni vendosur më parë '254.169.10.2'. Emri i përdoruesit është 'pi', fjalëkalimi 'mjedër'. Nëse dëshironi, mund ta ndryshoni fjalëkalimin duke shtypur komandën 'sudo passwd' në terminal dhe duke ndjekur udhëzimet. Meqenëse ne do të përdorim një pjesë të mirë të Kartës SD për Fanair ju duhet të zgjeroni hapësirën ruajtëse në dispozicion duke shtypur 'sudo rapi-config' duke zgjedhur 'Opsionet e Avancuara' dhe pastaj 'Expand File System'. Nëse kërkohet rinisja.

Ne do të përdorim ndërfaqen me 1 tela, SPI dhe I2C. Për të qenë në gjendje t'i përdorni ato, së pari duhet t'i konfiguroni ato!

Hapi 3: Lidhni gjithçka së bashku

Lidhni gjithçka së bashku
Lidhni gjithçka së bashku
Lidhni gjithçka së bashku
Lidhni gjithçka së bashku

Timeshtë koha për të bërë një qark! Herën e parë ndoshta duhet ta provoni në një pjatë, por nëse nuk keni kohë për këtë mund të përpiqeni ta lidhni së bashku.

Qarku që ju nevojitet duket si më sipër, për lehtësi përfshihet edhe një version i bukës.

Hapi 4: Krijoni bazën tuaj të të dhënave

Për të ruajtur në mënyrë efikase të gjitha të dhënat që do të merrni, ne do të përdorim një bazë të dhënash TSQL MySQL. Para instalimit të MySQL le të sigurohemi që gjithçka është e përditësuar duke shtypur disa komanda në terminal:

  • 'sudo apt-get update'
  • 'sudo apt-get upgrade'
  • 'sudo apt-get dist-upgrade'

Pranoni çdo kërkesë duke shtypur 'y' dhe futni.

Për të instaluar llojin MySQL:

  • 'sudo apt-get install mysql-server'
  • 'sudo apt-get install mysql-client'

Kur ju kërkohet krijoni një fjalëkalim rrënjësor sipas dëshirës tuaj.

Pasi të ketë përfunduar instalimi i hyrjes duke përdorur:

'mysql -uroot -p'

Dhe shtypni fjalëkalimin tuaj.

Merrni kodin Fanair nga My Github! Klikoni në 'Klononi ose shkarkoni' dhe pastaj në 'Shkarkoni ZIP'. Zbërtheni kodin në një dosje sipas dëshirës tuaj. Pyetja për krijimin e bazës së të dhënave plotësisht funksionale është në dosjen e bazës së të dhënave. Hapni skedarin kopjoni kodin dhe ngjiteni në terminal me MySQL hapur. Pastaj klikoni enter dhe baza e të dhënave është bërë!

Hapi 5: Koha për Kodin

Për të përdorur të gjithë sensorët, padyshim që duhet të ekzekutoni një program. Për fat të mirë, kodi tashmë është bërë (në pjesën më të madhe), dhe ne e kemi shkarkuar atë tashmë kur marrim pyetjen SQL të bazës së të dhënave.

Siç thashë, ka disa gjëra që ende duhet të ndryshohen / shtohen që programi të funksionojë siç duhet. Para së gjithash programi përdor Darksky API për të marrë të dhënat e motit bazuar në gjatësinë dhe gjerësinë gjeografike. Për ta përdorur atë, duhet të regjistroheni. 1000 telefonatat e para janë falas dhe më pas kushton 0.0001 dollarë për thirrje. Kam dëgjuar nëse nuk paguani llogaria juaj bllokohet. Për të qenë të drejtë 0.0001 dollarë për thirrje është mjaft e lirë. Fanair thërret të dhënat më të fundit çdo orë që do të thotë se në një vit nëse funksionon me kohë të plotë do t'ju kushtojë vetëm 0.876 dollarë. Ju gjithashtu merrni 41 ditë falas nëse Fanair funksionon me kohë të plotë.

Pasi të regjistroheni, kërkoni çelësin tuaj API. Kërkoni gjatësinë dhe gjerësinë e vendndodhjes tuaj në hartat e Google ose provoni ta kërkoni në Google. Krijoni një skedar teksti të ri drejtorinë rrënjësore të Fanair (me klasa, main.py…). Emërtoni skedarin 'key_location.txt'. Hapni skedarin e tekstit dhe në rreshtin e parë ngjitni çelësin tuaj Darksky API. Në rreshtin e dytë ngjitni gjatësinë tuaj dhe në rreshtin e tretë ngjisni gjerësinë tuaj (të dyja në formatin dhjetor). Kur të keni mbaruar, ruani skedarin.

Në të njëjtën drejtori krijoni një skedar tjetër teksti të quajtur 'database_dsn.txt'. Rreshti i parë duhet të thotë 'localhost'. Rreshti i dytë është 'rrënjë'. Në rreshtin e tretë ju duhet të shkruani fjalëkalimin tuaj që keni bërë për bazën e të dhënave më herët, dhe rreshti i katërt dhe i fundit duhet të shtypni 'fanair'.

Klikoni me të djathtën në skedarin main.py dhe zgjidhni redakto. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' duhet të ndryshohet. Nëse ndiqni figurën, 5 vlerat e para duhet të ndryshohen nga '5, 26, 17, 27, 22, 4' në '20, 21, 26, 19, 13 '. '/home/muhsin/Applications/Fanair' gjithashtu duhet të ndryshohet në rrugën tuaj rrënjësore Fanair (ku është main.py). Sigurohuni që të vendosni një cep para "shtëpisë", por jo pas "Fanair".

Tani kjo është e mrekullueshme, por kodi duhet të futet në Pi. Për fat të mirë për ne protokolli sftp ekziston. Për të vendosur skedarët në Pi përdorni një klient sftp si FileZilla ose nëse keni vendosur të përdorni MobaXterm mund t'i ngarkoni skedarët me lehtësi në ndërfaqen sftp të majtë të terminalit.

Në përvojën time, jo gjithmonë marr datën dhe kohën e duhur në Raspberry Pi. Për t'u siguruar që do të merrni kohën e saktë të të dhënave, ju sugjeroj të ndiqni këtë udhëzues: Data dhe ora e sinkronizimit të Raspberry Pi.

Dhe së fundmi duhet të instalohen disa biblioteka dhe të aktivizohen disa ndërfaqe:

'sudo apt-get install build-thelbësor python-dev'

Adafruit DHT:

'pip3 install adafruit_python_dht'

1-Tela:

  1. 'sudo raspi-config'
  2. "Opsionet e ndërlidhjes"
  3. '1 tela'
  4. Aktivizo
  5. 'sudo nano /boot/config.txt'
  6. Shtoni këtë rresht në skedar: 'dtoverlay = w1-gpio'
  7. 'sudo reboot'

SPI:

  1. 'sudo raspi-config'
  2. "Opsionet e ndërlidhjes"
  3. 'SPI'
  4. Aktivizo
  5. 'sudo reboot'
  6. 'sudo nano /boot/config.txt'
  7. Kërkoni për 'dtparam = spi = on' dhe mos e komentoni duke hequr hashtag.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config'"
  2. "Opsionet e ndërlidhjes"
  3. 'I2C'
  4. Aktivizo
  5. 'sudo reboot'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. Kërkoni për dtparam = i2c_arm = on dhe mos e komentoni duke hequr hashtag.

balonë

pip3 instaloni Flask

lidhës mysql

'pip3 install -Iv mysql -connector == 2.1.4'

spidev

'pip3 install py-spidev'

qiell i erret

'pip3 install darkskylib'

Hapi 6: Provojeni

Nëse keni arritur ta arrini këtë deri tani prekni veten në anën e pasme. Tani gjithçka është bërë për ta bërë Fanair të funksionojë siç duhet. Pra, për ta testuar, shkruani 'cd ""'. Vendndodhja e skedarit është "/home/pi" për shembull nëse sapo keni ngjitur në drejtorinë tuaj të shtëpisë. Pastaj shtypni 'python3 main.py' dhe lëreni të pushojë për 15 minuta në mënyrë që të ketë të dhëna në bazën e të dhënave kur të përfundojë. Pas kësaj shtypni 'ctrl + c' stop programin dhe shkruani 'python3 Flask.py'. Për të parë nëse uebfaqja juaj funksionon ju duhet të lundroni në adresën IP të Pi tuaj që keni bërë me ': 5000' pas saj (si kjo: 169.254.10.1:5000 ').

Për ta bërë atë të funksionojë automatikisht pas nisjes:

'sudo nano /etc/rc.local'

Në fund të skedarit POR para daljes 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Urime tani që skenari juaj duhet të funksionojë që nga fillimi dhe JU KA bërë! Nëse planifikoni ta mbani projektin në punë dhe nuk e keni bërë tashmë, unë do t'ju sugjeroja të bashkoni gjithçka së bashku, vetëm për t'u siguruar që gjithçka të mbetet e vendosur. Edhe pse nëse nuk luani për ta lëvizur shumë, një tabelë buke gjithashtu funksionon sigurisht.

Recommended: