Orodha ya maudhui:

Kituo cha Hali ya Hewa Kutumia Raspberry Pi Pamoja na BME280 katika Python: Hatua 6
Kituo cha Hali ya Hewa Kutumia Raspberry Pi Pamoja na BME280 katika Python: Hatua 6

Video: Kituo cha Hali ya Hewa Kutumia Raspberry Pi Pamoja na BME280 katika Python: Hatua 6

Video: Kituo cha Hali ya Hewa Kutumia Raspberry Pi Pamoja na BME280 katika Python: Hatua 6
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Julai
Anonim
Image
Image
Muswada wa Vifaa vya Utekelezaji
Muswada wa Vifaa vya Utekelezaji

ni maith an scéalaí an aimir (Hali ya Hewa ni Msimulizi Mzuri wa Hadithi)

Pamoja na masuala ya ongezeko la joto duniani na mabadiliko ya hali ya hewa, hali ya hewa ulimwenguni inazidi kuwa mbaya ulimwenguni kote na kusababisha majanga kadhaa ya asili yanayohusiana na hali ya hewa (ukame, joto kali, mafuriko, dhoruba, na moto wa mwituni), kituo cha hali ya hewa kinaonekana kuwa muhimu uovu nyumbani. Unajifunza mengi juu ya vifaa vya elektroniki vya msingi kutoka kwa mradi wa kituo cha hali ya hewa ukitumia rundo la sehemu za bei rahisi na sensorer. Ni rahisi sana kuanzisha na hakuna wakati unaweza kuwa nayo.

Hatua ya 1: Muswada wa Vifaa vya Kutekelezeka

Muswada wa Vifaa vya Utekelezaji
Muswada wa Vifaa vya Utekelezaji
Muswada wa Vifaa vya Utekelezaji
Muswada wa Vifaa vya Utekelezaji
Muswada wa Vifaa vya Utekelezaji
Muswada wa Vifaa vya Utekelezaji

1. Raspberry Pi

Pata mikono yako kwenye bodi ya Raspberry Pi. Raspberry Pi ni kompyuta moja ya bodi inayotumiwa na Linux. Raspberry Pi kweli ni ya bei rahisi, ndogo na hodari iliyojengwa kwa kompyuta inayoweza kupatikana na inayofaa kwa wanafunzi kufanya misingi ya programu na ukuzaji wa programu.

2. I2C Shield kwa Raspberry Pi

INPI2 (I2C adapta) hutoa Raspberry Pi 2/3 bandari ya I²C kwa matumizi na vifaa vingi vya I2C. Inapatikana kwenye Duka la DCUBE.

3. Unyevu wa dijiti, Shinikizo na Sensorer ya Joto, BME280

BME280 ni unyevu, shinikizo na sensorer ya joto ambayo ina wakati wa kujibu haraka na usahihi wa hali ya juu. Tulinunua sensor hii kutoka Duka la DCUBE.

4. I2C Kuunganisha Cable

Tulitumia kebo ya I²C inayopatikana hapa Duka la DCUBE.

5. kebo ndogo ya USB

Usambazaji wa umeme wa kebo ndogo ya USB ni chaguo bora ya kuwezesha Raspberry Pi.

6. Tafsiri Ufikiaji wa Mtandaoni kupitia EthernetCable / WiFi Adapter

Ufikiaji wa mtandao unaweza kuwezeshwa kupitia kebo ya Ethernet iliyounganishwa na mtandao wa karibu na mtandao. Vinginevyo, unaweza kuungana na mtandao wa wavuti bila kutumia dongle isiyo na waya ya USB, ambayo itahitaji usanidi.

7. Cable ya HDMI (Onyesha na kebo ya muunganisho)

Mfuatiliaji wowote wa HDMI / DVI na Runinga yoyote inapaswa kufanya kazi kama onyesho la Pi. Vinginevyo, unaweza kufikia kijijini Pi kupitia SSH ukipuuza hitaji la mfuatiliaji (watumiaji wa hali ya juu tu).

Hatua ya 2: Uunganisho wa vifaa kwa Mzunguko

Uunganisho wa vifaa kwa Mzunguko
Uunganisho wa vifaa kwa Mzunguko
Uunganisho wa vifaa kwa Mzunguko
Uunganisho wa vifaa kwa Mzunguko

Fanya mzunguko kulingana na skimu iliyoonyeshwa. Kwa ujumla, unganisho ni rahisi sana. Tulia na Fuata maagizo na picha hapo juu, na hupaswi kuwa na shida. Wakati wa kujifunza, tulipata kabisa na misingi ya umeme kuhusu maarifa ya vifaa na programu. Tulitaka kuandaa skimu rahisi ya umeme kwa mradi huu. Hesabu za elektroniki ni kama ramani. Chora ramani na ufuate muundo kwa uangalifu. Dhana chache za kimsingi za umeme zinaweza kuwa muhimu hapa!

Uunganisho wa Raspberry Pi na I2C Shield

Kwanza, chukua Raspberry Pi na uweke I²C Shield juu yake. Bonyeza Shield kwa upole na tumemaliza kwa hatua hii rahisi kama pai (angalia picha).

Uunganisho wa Sensor na Raspberry Pi

Chukua sensorer na Unganisha kebo ya I²C nayo. Hakikisha kuwa Pato la I ALC Daima linaunganisha kwenye Ingizo la I²C. Vivyo hivyo inabidi ifuatwe kwa Raspberry Pi na ngao ya I²C iliyowekwa juu yake pini za GPIO. Tunapendekeza utumiaji wa nyaya za I²C kwani inapuuza hitaji la kusoma pinouts, soldering, na malaise inayosababishwa na hata kuteleza kidogo.. Kwa kuziba hii rahisi na ucheze kebo, unaweza kusanikisha, kubadilisha bodi, au kuongeza bodi zaidi kwa programu kwa urahisi.

Kumbuka: Waya wa hudhurungi inapaswa kufuata uunganisho wa Ardhi (GND) kati ya pato la kifaa kimoja na uingizaji wa kifaa kingine

Uunganisho wa Mtandao ni muhimu

Una chaguo mbili hapa. Ama Unaweza kuunganisha Raspberry Pi kwenye mtandao kwa kutumia kebo ya ethernet au utumie USB kwa Adapter ya WiFi kwa Uunganisho wa WIFI. Kwa njia yoyote, maadamu imeunganishwa kwenye wavuti umefunikwa.

Kuimarisha Mzunguko

Chomeka kebo ndogo ya USB ndani ya jack ya nguvu ya Raspberry Pi. Piga ngumi na voila! Kikosi chetu ni habari.

Uunganisho kwenye Skrini

Tunaweza kuwa na kebo ya HDMI iliyounganishwa na mfuatiliaji au kwenye Runinga. Kwa kuongeza, tunaweza kupata Raspberry Pi bila kuiunganisha kwa mfuatiliaji ukitumia ufikiaji wa mbali. SSH ni zana inayofaa kwa ufikiaji salama wa kijijini. Unaweza pia kutumia programu ya PUTTY kwa hiyo. Chaguo hili ni kwa watumiaji wa hali ya juu kwa hivyo hatutalifunika kwa undani hapa.

Ni njia ya kiuchumi ikiwa hautaki kutumia pesa nyingi

Hatua ya 3: Programu ya Raspberry Pi katika Python

Programu ya Raspberry Pi katika Python
Programu ya Raspberry Pi katika Python

Nambari ya Python ya Raspberry Pi na Sensor ya BME280. Inapatikana katika hazina yetu ya Github.

Kabla ya kuendelea na nambari, hakikisha unasoma maagizo yaliyotolewa kwenye faili ya Readme na Sanidi Raspberry Pi yako kulingana nayo. Kituo kidogo cha hali ya hewa ni kituo, iwe ardhini au baharini, na vyombo na vifaa vya kupima hali ya anga kutoa habari kwa utabiri wa hali ya hewa na kusoma hali ya hewa na hali ya hewa.

Nambari iko wazi mbele yako na iko katika fomu rahisi zaidi ambayo unaweza kufikiria na haupaswi kuwa na shida. Bado uliza ikiwa kuna yoyote (Hata ikiwa unajua vitu elfu moja, bado uliza mtu anayejua).

Unaweza kunakili nambari inayofanya kazi ya Python kwa sensor hii kutoka hapa pia.

# Imesambazwa na leseni ya hiari. # Itumie kwa njia yoyote unayotaka, faida au bure, mradi inalingana na leseni za kazi zake zinazohusiana. # BME280 # Nambari hii imeundwa kufanya kazi na BME280_I2CS I2C Mini Module inayopatikana kutoka ControlEverything.com. # https://www.controleverything.com/content/Humidity?sku=BME280_I2CS #tabs-0-product_tabset-2

kuagiza smbus

muda wa kuagiza

# Pata basi ya I2C

basi = smbus. SMBus (1)

Anwani ya # BME280, 0x76 (118)

# Soma data nyuma kutoka 0x88 (136), 24 ka b1 = basi. Soma_i2c_block_data (0x76, 0x88, 24)

# Badilisha data

Vigawo # vya muda vinachimba_T1 = b1 [1] * 256 + b1 [0] dig_T2 = b1 [3] * 256 + b1 [2] ikiwa dig_T2> 32767: dig_T2 - = 65536 dig_T3 = b1 [5] * 256 + b1 [4] ikiwa dig_T3> 32767: dig_T3 - = 65536

Mgawo wa shinikizo

dig_P1 = b1 [7] * 256 + b1 [6] dig_P2 = b1 [9] * 256 + b1 [8] ikiwa dig_P2> 32767: dig_P2 - = 65536 dig_P3 = b1 [11] * 256 + b1 [10] ikiwa dig_P3 > 32767: dig_P3 - = 65536 dig_P4 = b1 [13] * 256 + b1 [12] ikiwa dig_P4> 32767: dig_P4 - = 65536 dig_P5 = b1 [15] * 256 + b1 [14] ikiwa dig_P5> 32767: dig_P5 - = 65536 dig_P6 = b1 [17] * 256 + b1 [16] ikiwa dig_P6> 32767: dig_P6 - = 65536 dig_P7 = b1 [19] * 256 + b1 [18] ikiwa dig_P7> 32767: dig_P7 - = 65536 dig_P8 = b1 [21] * 256 + b1 [20] ikiwa dig_P8> 32767: dig_P8 - = 65536 dig_P9 = b1 [23] * 256 + b1 [22] ikiwa dig_P9> 32767: dig_P9 - = 65536

Anwani ya # BME280, 0x76 (118)

# Soma data nyuma kutoka 0xA1 (161), 1 baiti dig_H1 = basi. Soma_byte_data (0x76, 0xA1)

Anwani ya # BME280, 0x76 (118)

# Soma data nyuma kutoka 0xE1 (225), baiti 7 b1 = basi. Soma_i2c_block_data (0x76, 0xE1, 7)

# Badilisha data

Vipengee vya unyevu vya kuchimba_H2 = b1 [1] * 256 + b1 [0] ikiwa dig_H2> 32767: dig_H2 - = 65536 dig_H3 = (b1 [2] & 0xFF) dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF) ikiwa dig_H4> 32767: dig_H4 - = 65536 dig_H5 = (b1 [4] / 16) + (b1 [5] * 16) ikiwa dig_H5> 32767: dig_H5 - = 65536 dig_H6 = b1 [6] ikiwa dig_H6> 127: dig_H6 - = 256

Anwani ya # BME280, 0x76 (118)

# Chagua daftari la unyevu, 0xF2 (242) # 0x01 (01) Upimaji wa unyevu = 1 basi. 39) Kiwango cha shinikizo na kiwango cha kupindukia kwa joto = 1 # Njia ya kawaida basi. andika_data_data (0x76, 0xF5, 0xA0)

saa. kulala (0.5)

Anwani ya # BME280, 0x76 (118)

# Soma data nyuma kutoka 0xF7 (247), 8 ka # Shinikizo MSB, Shinikizo LSB, Shinikizo xLSB, Joto MSB, Joto LSB # Joto xLSB, Humidity MSB, Humidity LSB data = bus.read_i2c_block_data (0x76, 0xF7, 8)

# Badilisha data ya shinikizo na joto kuwa 19-bits

adc_p = ((data [0] * 65536) + (data [1] * 256) + (data [2] & 0xF0)) / 16 adc_t = ((data [3] * 65536) + (data [4] * 256) + (data [5] & 0xF0)) / 16

# Badilisha data ya unyevu

adc_h = data [6] * 256 + data [7]

# Mahesabu ya kukabiliana na joto

var1 = ((adc_t) / 16384.0 - (dig_T1) / 1024.0) * (dig_T2) var2 = (((adc_t) / 131072.0 - (dig_T1) / 8192.0) * ((adc_t) /131072.0 - (dig_T1) /8192.0)) * (dig_T3) t_fine = (var1 + var2) cTemp = (var1 + var2) / 5120.0 fTemp = cTemp * 1.8 + 32

# Mahesabu ya kukabiliana na shinikizo

var1 = (t_fine / 2.0) - 64000.0 var2 = var1 * var1 * (dig_P6) / 32768.0 var2 = var2 + var1 * (dig_P5) * 2.0 var2 = (var2 / 4.0) + ((dig_P4) * 65536.0) var1 = ((dig_P3) * var1 * var1 / 524288.0 + (dig_P2) * var1) / 524288.0 var1 = (1.0 + var1 / 32768.0) * (dig_P1) p = 1048576.0 - adc_p p = (p - (var2 / 4096.0)) * 6250.0 / var1 var1 = (dig_P9) * p * p / 2147483648.0 var2 = p * (dig_P8) / 32768.0 shinikizo = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100

# Mahesabu ya kukabiliana na unyevu

var_H = ((t_fine) - 76800.0) var_H = (adc_h - (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 67108864.0 * var_H * (1.0 + dig_H3 / 67108864.0 * var_H) unyevu) = var_H * (1.0 - dig_H1 * var_H / 524288.0) ikiwa unyevu> 100.0: unyevu = 100.0 unyevu wa 0.0 <unyevu: 0.0

# Pato data kwa screen

chapisha "Joto katika Celsius:%.2f C"% cTempe ya kuchapisha "Joto katika Fahrenheit:%.2f F"% fTemp magazeti "Shinikizo:%.2f hPa"% shinikizo la uchapishaji "Unyevu wa Jamaa:%.2f %%"% unyevu

Hatua ya 4: Nambari ya Kuendesha

Nambari ya Kuendesha
Nambari ya Kuendesha

Sasa, pakua (au git vuta) nambari na uifungue kwenye Raspberry Pi.

Endesha amri za kukusanya na kupakia nambari kwenye terminal na uone matokeo kwenye Onyesho. Baada ya sekunde chache, itaonyesha vigezo vyote. Baada ya kuhakikisha kuwa kila kitu hufanya kazi vizuri, unaweza kukuza zingine za kupendeza zaidi.

Hatua ya 5: Matumizi katika Ulimwengu wa Vitendo

BME280 inafikia utendaji wa hali ya juu katika programu zote zinazohitaji unyevu na kipimo cha shinikizo. Programu hizi zinazojitokeza ni ufahamu wa Muktadha, k.v. Kugundua Ngozi, Kugundua Mabadiliko ya Chumba, Ufuatiliaji wa Usawa / Ustawi, Onyo kuhusu Ukame au Joto la juu, Upimaji wa Kiasi na Mtiririko wa Hewa, Udhibiti wa Nyumbani, Udhibiti wa Joto, Uingizaji hewa, Kiyoyozi (HVAC), Mtandao wa Vitu (IoT), Uboreshaji wa GPS (kwa mfano Uboreshaji wa Muda-wa-Kwanza-Kurekebisha, Mahesabu ya Wafu, Kugundua Mteremko), Urambazaji wa ndani (Mabadiliko ya Kugundua Sakafu, Kugundua Elevator), Urambazaji wa nje, Burudani na Maombi ya Michezo, Utabiri wa Hali ya Hewa Na Dalili ya Wima ya Velocity (Inuka / Kuzama Kasi).

Hatua ya 6: Hitimisho

Natumahi mradi huu unahamasisha majaribio zaidi. Kutengeneza kituo cha hali ya hewa cha kisasa zaidi kunaweza kuhusisha sensorer zingine kama Upimaji wa Mvua, sensa ya Mwanga, anemometer (kasi ya upepo) nk. Unaweza kuziongeza na kurekebisha nambari. Tunayo mafunzo ya video kwenye YouTube yenye utendaji wa kimsingi wa kihisi cha I²C na Rasp Pi. Inashangaza sana kuona matokeo na kufanya kazi kwa mawasiliano ya I²C. Iangalie pia. Kuwa na jengo la kujifurahisha na ujifunze! Tafadhali tujulishe maoni yako juu ya hii inayoweza kufundishwa. Tunapenda kufanya maboresho ikiwa ni lazima.

Ilipendekeza: