Talaan ng mga Nilalaman:
- Hakbang 1: Kunin ang Lahat ng Mga Kinakailangan na Item
- Hakbang 2: Ihanda ang Iyong Raspberry Pi
- Hakbang 3: Ikonekta Sama-sama ang Lahat
- Hakbang 4: Lumikha ng Iyong Database
- Hakbang 5: Oras para sa Code
- Hakbang 6: Subukan Ito
Video: Fanair: isang Weather Station para sa Iyong Kwarto: 6 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Mayroong maraming mga paraan upang malaman ang kasalukuyang panahon, ngunit pagkatapos ay alam mo lamang ang lagay ng panahon sa labas. Paano kung nais mong malaman ang panahon sa loob ng iyong bahay, sa loob ng isang tukoy na silid? Iyon ang tinatangka kong lutasin sa proyektong ito.
Gumagamit ang Fanair ng maraming sensor upang maunawaan:
- temperatura
- halumigmig
- ilaw
- ilang gass
- presyon ng hangin
Ito ay napaka-compact at gumagamit ng Raspberry Pi 3 B, para sa pagkuha ng mga halaga, i-save ang mga ito sa isang database ng MySQL at pagkatapos ay madali itong magamit sa isang website. Kasama sa code at website ay ang kakayahang makakuha ng aktwal na data ng panahon para sa iyong lokasyon upang magamit ang website upang suriin din ang labas ng panahon.
Hakbang 1: Kunin ang Lahat ng Mga Kinakailangan na Item
Una sa lahat kakailanganin mo ang pangunahing mga electronics tulad ng mga wire / jumper cable. Kung balak mong maghinang ng sama-sama bilang isang permanenteng proyekto kung gayon malinaw na kakailanganin mo rin ng isang panghinang, panghinang, at para sa iyong sariling ginhawa isang PCB upang maghinang ng lahat.
Para sa mas tiyak na mga item na ginawa ko ang Bill of Materials na ito.
- Raspberry Pi 3 B
- MPC3008 - 8-Channel 10-Bit ADC
- AM2301 Thermometer Temperature at Humidity Sensor
- WR Rademacher WR-tyoe 930-1 PCB
- Kaso ng ABS para sa prototyping (itim)
- LDR
- MQ135 gass sensor
- 2x BC517 Darlington Transistor
- RGB LED
- Resistor Pack
- Buzzer
- Mga wire
- BMP280 Barometer
- Tahimik na USB fan (5V)
Ang lahat ng sama-sama ay nagkakahalaga ng halos € 110. Tandaan na ang kabuuang presyo ay isang pagtatantya. Gayundin, ang aking proyekto ay may isang LCD screen sa larawan ngunit hindi ito konektado dahil walang sapat na puwang sa aking kaso, kaya't hindi ito kasama sa itinuro.
Hakbang 2: Ihanda ang Iyong Raspberry Pi
Kunin ang iyong Raspian Jessie na may operating system na Pixel mula sa opisyal na site ng Raspberry Pi at sa sandaling na-download ito ay i-zip ito. Makakakuha ka ng isang file ng imahe. Upang makuha ito sa Pi kakailanganin mong isulat ito sa SD-Card gamit ang Win32 Disk Imager. Kapag na-install na ito piliin ang file ng imahe at ang drive kung saan ka naninirahan sa SD-Card. Pagkatapos ay pindutin ang sumulat at maghintay hanggang matapos ito.
Kapag natapos itong mag-click sa iyong SD-Card sa File Explorer at buksan ang file na tinatawag na 'cmdline.txt' pumunta sa dulo ng file ng teksto bago mag-rootwait at isulat ang 'ip = 254.169.10.2' na may mga puwang sa paligid ng kurso. Pagkatapos mong mai-save ito dapat mong mag-right click sa isang lugar sa loob ng window at lumikha ng isang bagong file na tinatawag na 'ssh'. Pansinin na ang file na ito ay walang extension ng file. Upang matiyak na wala itong isang extension na pag-click sa 'view' sa file explorer at suriin ang 'nakatagong mga file'. Kung papangalanan ang pangalan nito at tanggalin ang extension kaya't babasahin lamang nito ang 'ssh'.
Pagkatapos nito ay maaari mo nang ilagay sa wakas ang iyong SD-Card sa Raspberry Pi. Mag-download ng isang ssh client (inirerekumenda ko ang MobaXterm). At kumonekta gamit ang ssh sa IP na itinakda mo nang mas maaga '254.169.10.2'. Ang username ay 'pi', ang password na 'raspberry'. Kung nais mo maaari mong baguhin ang password sa pamamagitan ng pag-type ng utos na 'sudo passwd' sa terminal at pagsunod sa mga tagubilin. Dahil gagamitin namin ang isang mahusay na tipak ng SD-Card para sa Fanair dapat mong palawakin ang magagamit na imbakan sa pamamagitan ng pag-type ng 'sudo rapi-config' pagpili ng 'Mga Advanced na Opsyon' at pagkatapos ay 'Palawakin ang File System'. Kung na-prompt na restart.
Gagamitin namin ang interface ng 1-wire, SPI, at I2C. Upang magamit ang mga ito kailangan mo munang i-set up ang mga ito!
Hakbang 3: Ikonekta Sama-sama ang Lahat
Oras na upang gumawa ng isang circuit! Sa unang pagkakataon marahil ay dapat mong subukan ito sa isang breadboard, ngunit kung wala kang oras para doon maaari mong subukang i-solder ito nang magkasama.
Ang circuit na kakailanganin mo ay mukhang nasa itaas, para sa kaginhawaan kasama rin ang isang bersyon ng breadboard.
Hakbang 4: Lumikha ng Iyong Database
Upang mahusay na mai-save ang lahat ng data na matatanggap mo gagamitin namin ang isang database ng TSQL MySQL. Bago i-install ang MySQL siguraduhin nating tiyakin na ang lahat ay napapanahon sa pamamagitan ng pagta-type ng ilang mga utos sa terminal:
- 'sudo apt-get update'
- 'sudo apt-get upgrade'
- 'sudo apt-get dist-upgrade'
Tanggapin ang bawat prompt sa pamamagitan ng pag-type ng 'y' at ipasok.
Upang mai-install ang uri ng MySQL:
- 'sudo apt-get install mysql-server'
- 'sudo apt-get install mysql-client'
Kapag sinenyasan lumikha ng isang root password na iyong pinili.
Matapos itong mag-install ng pag-login sa pamamagitan ng paggamit ng:
'MySQL -uroot -p'
At pagta-type ng iyong password.
Kunin ang Fanair code mula sa My Github! Mag-click sa 'I-clone o i-download' at pagkatapos ay sa 'I-download ang ZIP'. I-zip ang code sa isang folder na iyong pinili. Ang query upang likhain ang buong pagpapatakbo ng database ay nasa folder ng database. Buksan ang file kopyahin ang code at i-paste ito sa terminal na bukas ang MySQL. Pagkatapos i-click ang enter at tapos na ang database!
Hakbang 5: Oras para sa Code
Upang magamit ang lahat ng mga sensor malinaw na kailangan mong magpatakbo ng isang programa. Sa kabutihang palad ang code ay tapos na (para sa pinaka bahagi), at na-download na namin ito kapag nakakakuha ng query sa database ng SQL.
Tulad ng sinabi ko na may ilang mga bagay na kailangan pang baguhin / idagdag para gumana nang maayos ang programa. Una sa lahat ang programa ay gumagamit ng Darksky API upang makuha ang data ng panahon batay sa longitude at latitude. Upang magamit ito kailangan mong mag-sign up. Ang unang 1000 na tawag ay libre at pagkatapos ay nagkakahalaga ito ng $ 0,0001 bawat tawag. Narinig ko kung hindi ka magbabayad ang iyong account ay ma-block. Upang maging patas ng $ 0,0001 bawat tawag ay medyo mura. Ang Fanair ay tumatawag sa pinakabagong data bawat oras na nangangahulugang sa isang taon kung tatakbo ang buong oras ay babayaran ka lamang ng $ 0.876. Makakakuha ka rin ng 41 araw na libre kung ang Fanair ay nagpapatakbo ng buong oras.
Kapag nag-sign up hanapin ang iyong API key. Hanapin ang longitude at latitude ng iyong lokasyon sa mga mapa ng google o subukang i-google ito. Lumikha ng isang bagong file ng teksto ang root direktoryo ng Fanair (na may mga klase, main.py…). Pangalanan ang file na 'key_location.txt'. Buksan ang file ng teksto at sa unang linya i-paste ang iyong Darksky API key. Sa pangalawang linya idikit ang iyong longitude at sa ikatlong linya idikit ang iyong latitude (pareho sa decimal format). Kapag tapos ka na i-save ang file.
Sa parehong direktoryo lumikha ng isa pang file ng teksto na tinatawag na 'database_dsn.txt'. Dapat sabihin ng unang linya ang 'localhost'. Ang pangalawang linya ay 'ugat'. Ang sa pangatlong linya dapat mong i-type ang iyong password na ginawa mo para sa database nang mas maaga, at ang ika-apat at huling linya na dapat mong i-type ang 'fanair'.
Mag-right click sa main.py file at piliin ang i-edit. Ang 'fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' ay kailangang baguhin. Kung sinundan mo ang larawan ang unang 5 halaga ay dapat mabago mula '5, 26, 17, 27, 22, 4' hanggang '20, 21, 26, 19, 13 '. Ang '/ home / muhsin / Applications / Fanair' ay dapat ding mabago sa iyong Fanair root path (kung saan ang main.py ay). Tiyaking maglagay ng slash sa harap ng 'home' ngunit hindi pagkatapos ng 'Fanair'.
Ngayon ito ay mahusay lahat ngunit ang code ay kailangang makakuha ng sa Pi. Sa kabutihang-palad para sa amin ang umiiral na sftp protocol. Upang mailagay ang mga file sa Pi gumamit ng isang sftp client tulad ng FileZilla o kung nagpasya kang gumamit ng MobaXterm maaari mong madaling mai-upload ang mga file sa sftp interface na natitira sa terminal.
Sa aking karanasan hindi ako palaging nakakakuha ng tamang petsa at oras sa Raspberry Pi. Upang matiyak na matatanggap mo ang tamang datime iminumungkahi kong sundin ang gabay na ito: Raspberry Pi petsa at oras ng pag-sync.
At ang panghuli ngunit hindi bababa sa ilang mga aklatan ay kailangang mai-install at ang ilang mga interface ay kailangang buhayin:
'sudo apt-get install build-essential python-dev'
Adafruit DHT:
'pip3 install adafruit_python_dht'
1-Wire:
- 'sudo raspi-config'
- 'Mga Pagpipilian sa Interfacing'
- '1 Wire'
- Paganahin
- 'sudo nano /boot/config.txt'
- Idagdag ang linyang ito sa file: 'dtoverlay = w1-gpio'
- 'sudo reboot'
SPI:
- 'sudo raspi-config'
- 'Mga Pagpipilian sa Interfacing'
- 'SPI'
- Paganahin
- 'sudo reboot'
- 'sudo nano /boot/config.txt'
- Maghanap para sa 'dtparam = spi = on' at i-uncment ito sa pamamagitan ng pag-aalis ng hashtag.
- 'sudo apt-get install python3-dev
Smbus:
- 'sudo raspi-config' '
- 'Mga Pagpipilian sa Interfacing'
- 'I2C'
- Paganahin
- 'sudo reboot'
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tool'
- 'sudo nano /boot/config.txt'
- Maghanap para sa dtparam = i2c_arm = on at i-uncment ito sa pamamagitan ng pag-aalis ng hashtag.
prasong
pip3 i-install ang Flask
konektor ng MySQL
'pip3 i-install -SvvQL-konektor == 2.1.4'
spidev
'pip3 install py-spidev'
madilim na langit
'pip3 install darkskylib'
Hakbang 6: Subukan Ito
Kung nagawa mong gawin ito hanggang sa i-tap ang iyong sarili sa likod. Ngayon ay tapos na ang lahat upang gumana nang maayos ang Fanair. Kaya upang subukan ito i-type ang 'cd ""'. Ang lokasyon ng file ay "/ home / pi" halimbawa kung nag-paste ka lamang sa iyong direktoryo sa bahay. Pagkatapos i-type ang 'python3 main.py' at hayaan itong magpahinga ng 15 minuto upang magkaroon ito ng data sa database kapag tapos na. Pagkatapos nito pindutin ang 'ctrl + c' ihinto itigil ang programa at i-type ang 'python3 Flask.py'. Upang makita kung gumagana ang iyong website kailangan mong mag-surf sa IP address ng iyong Pi na ginawa mo gamit ang ': 5000' pagkatapos nito (tulad nito: 169.254.10.1900000 ').
Upang ito ay awtomatikong tumakbo pagkatapos ng boot:
'sudo nano /etc/rc.local'
Sa pagtatapos ng file NGUNIT BAGO MAG-exit 0:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
Binabati kita ngayon na ang script ay dapat tumakbo mula sa pagsisimula at TAPOS NA KAYO! Kung balak mong panatilihin ang pagpapatakbo ng proyekto at hindi ko pa iminumungkahi sa iyo na maghinang ng sama-sama, tiyakin lamang na ang lahat ay mananatiling maayos. Kahit na kung hindi mo nilalaro upang ilipat ito sa paligid ng isang tinapay ay gumagana rin ng kurso.
Inirerekumendang:
NaTaLia Weather Station: Arduino Solar Powered Weather Station Tapos na sa Tamang Daan: 8 Hakbang (na may Mga Larawan)
NaTaLia Weather Station: Arduino Solar Powered Weather Station Tapos na ang Tamang Daan: Matapos ang 1 taon ng matagumpay na operasyon sa 2 magkakaibang mga lokasyon binabahagi ko ang aking mga plano sa proyekto ng istasyon ng solar Powered na solar at ipinapaliwanag kung paano ito nabago sa isang system na maaaring mabuhay nang matagal panahon mula sa solar power. Kung susundin mo
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Panahon ng Panahon ay Tugma): 5 Mga Hakbang (na may Mga Larawan)
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Weather Stations ay Tugma): Nang binili ko ang Acurite 5 sa 1 istasyon ng panahon nais kong masuri ang lagay ng panahon sa aking bahay habang wala ako. Nang makauwi ako at naayos ko ito napagtanto ko na dapat kong magkaroon ng display na konektado sa isang computer o bumili ng kanilang smart hub,
Sine-save ang Iyong Mga Larawan para sa Iyong Gawain: 4 Mga Hakbang (na may Mga Larawan)
Sine-save ang Iyong Mga Larawan para sa Iyong Gawain: 1. Magbukas ng isang bagong Google doc at gamitin ang pahinang ito upang ligtas ang iyong mga larawan.2. Gumamit ng ctrl (control) at ang " c " susi upang kopyahin.3. Gumamit ng ctrl (control) at ang " v " susi upang i-paste
Bumuo ng isang Tunay na Bell-striking Clock para sa Iyong PC at isang Fire Extinguisher-Striking Clock .: 3 Mga Hakbang (na may Mga Larawan)
Bumuo ng isang Real Bell-striking Clock para sa Iyong PC at isang Fire Extinguisher-Striking Clock .: Isang tanso na kampanilya, isang maliit na relay ng maraming mga bagay at isang tunay na kampana ay maaaring hampasin ang oras sa iyong desktop. Kahit na ang proyektong ito ay tumatakbo sa Windows at Mac Ang OS X din, nag-idecide ako upang mai-install ang Ubuntu Linux sa isang PC na nakita ko sa basurahan at ginagawa iyon: Hindi ko kailanman
Paano Magbabago ng isang IKEA Vase Sa Isang Istasyon ng Pagsingil para sa Iyong Mga Gadget .: 4 na Hakbang (na may Mga Larawan)
Paano Magbabago ng isang IKEA Vase Sa Isang Istasyon ng Pagsingil para sa Iyong Mga Gadget .: … isang simpleng ideya na may isang mas simpleng diskarte at hellip; ~ ANG KWENTO ~ Nakatira ako sa isang maliit na apartment at nagmamay-ari ako ng maraming maliliit na aparato na masigla sa enerhiya. Sinubukan ko sa nakaraan upang ilaan ang ilang puwang malapit sa isang wall plug, upang singilin ang mga ito al