ዝርዝር ሁኔታ:

በፓይዘን ውስጥ ከ BME280 ጋር Raspberry Pi ን በመጠቀም የአየር ሁኔታ ጣቢያ 6 ደረጃዎች
በፓይዘን ውስጥ ከ BME280 ጋር Raspberry Pi ን በመጠቀም የአየር ሁኔታ ጣቢያ 6 ደረጃዎች

ቪዲዮ: በፓይዘን ውስጥ ከ BME280 ጋር Raspberry Pi ን በመጠቀም የአየር ሁኔታ ጣቢያ 6 ደረጃዎች

ቪዲዮ: በፓይዘን ውስጥ ከ BME280 ጋር Raspberry Pi ን በመጠቀም የአየር ሁኔታ ጣቢያ 6 ደረጃዎች
ቪዲዮ: 😖 ከፍተኛ ደረጃ ወይስ ደካማ ጥራት? የትኩረት 3 የትኞቹ ስሪቶች ያነሱ ችግሮች አሏቸው? 2024, ሀምሌ
Anonim
Image
Image
አስፈላጊ መሣሪያዎች ቢል
አስፈላጊ መሣሪያዎች ቢል

ሚኢት እስክላላይ ኢላማ ነው (የአየር ሁኔታ ጥሩ ታሪክ ሰሪ ነው)

በአለም ሙቀት መጨመር እና በአየር ንብረት ለውጥ ጉዳዮች ፣ የአለም የአየር ሁኔታ ሁኔታ ወደ በርካታ የአየር ሁኔታ ነክ የተፈጥሮ አደጋዎች (ድርቅ ፣ ከፍተኛ ሙቀት ፣ ጎርፍ ፣ አውሎ ነፋስ እና የዱር እሳቶች) የሚያመራ የአየር ሁኔታ ጣቢያ የአየር ሁኔታ ጣቢያ አስፈላጊ ይመስላል። በቤት ውስጥ ክፋት። ብዙ ርካሽ ክፍሎችን እና ዳሳሾችን በመጠቀም ስለ መሰረታዊ ኤሌክትሮኒክስ ከአየር ሁኔታ ጣቢያ ፕሮጀክት ብዙ ይማራሉ። ለማዋቀር በጣም ቀላል እና በአጭር ጊዜ ውስጥ ሊያገኙት አይችሉም።

ደረጃ 1 - አስፈላጊ መሣሪያዎች ቢል

አስፈላጊ መሣሪያዎች መሣሪያዎች ቢል
አስፈላጊ መሣሪያዎች መሣሪያዎች ቢል
አስፈላጊ መሣሪያዎች መሣሪያዎች ቢል
አስፈላጊ መሣሪያዎች መሣሪያዎች ቢል
አስፈላጊ መሣሪያዎች ቢል
አስፈላጊ መሣሪያዎች ቢል

1. አንድ Raspberry Pi

በ Raspberry Pi ሰሌዳ ላይ እጆችዎን ያግኙ። Raspberry Pi በሊኑክስ የተደገፈ ነጠላ ቦርድ ኮምፒተር ነው። Raspberry Pi የፕሮግራም እና የሶፍትዌር ልማት መሰረታዊ ልምዶችን ለተማሪዎች ተደራሽ እና ተግባራዊ በሆነ ኮምፒተር የተገነባ በእውነቱ ርካሽ ፣ ጥቃቅን እና ሁለገብ ነው።

2. I2C ጋሻ ለ Raspberry Pi

INPI2 (I2C አስማሚ) ከ I2C መሣሪያዎች ጋር ለመጠቀም Raspberry Pi 2/3 አንድ I²C ወደብ ይሰጣል። በ DCUBE መደብር ላይ ይገኛል።

3. ዲጂታል እርጥበት ፣ ግፊት እና የሙቀት ዳሳሽ ፣ BME280

BME280 ፈጣን ምላሽ ጊዜ እና ከፍተኛ አጠቃላይ ትክክለኛነት ያለው እርጥበት ፣ ግፊት እና የሙቀት ዳሳሽ ነው። ይህንን ዳሳሽ ከ DCUBE መደብር ገዝተናል።

4. I2C የግንኙነት ገመድ

እኛ እዚህ የሚገኘውን የ I²C ገመድ ተጠቅመን DCUBE መደብር።

5. ማይክሮ ዩኤስቢ ገመድ

የማይክሮ ዩኤስቢ ገመድ የኃይል አቅርቦቱ Raspberry Pi ን ለማብራት ተስማሚ ምርጫ ነው።

6. በኤተርኔት ገመድ/WiFi አስማሚ በኩል የበይነመረብ መዳረሻን መተርጎም

ከአካባቢያዊ አውታረመረብ እና ከበይነመረቡ ጋር በተገናኘ በኤተርኔት ገመድ በኩል የበይነመረብ መዳረሻ ሊነቃ ይችላል። እንደአማራጭ ፣ ውቅረትን የሚፈልግ የዩኤስቢ ገመድ አልባ ዶንግልን በመጠቀም ወደ ገመድ አልባ አውታረመረብ መገናኘት ይችላሉ።

7. የኤችዲኤምአይ ገመድ (ማሳያ እና የግንኙነት ገመድ)

ማንኛውም የኤችዲኤምአይ/DVI መቆጣጠሪያ እና ማንኛውም ቴሌቪዥን ለ Pi ማሳያ ሆኖ መሥራት አለበት። በአማራጭ ፣ የሞኒተር (የላቁ ተጠቃሚዎች ብቻ) ፍላጎትን በመከልከል በኤስኤስኤች በኩል Pi ን በርቀት መድረስ ይችላሉ።

ደረጃ 2 የሃርድዌር ግንኙነቶች ለወረዳ

የሃርድዌር ግንኙነቶች ለወረዳ
የሃርድዌር ግንኙነቶች ለወረዳ
የሃርድዌር ግንኙነቶች ለወረዳ
የሃርድዌር ግንኙነቶች ለወረዳ

በሚታየው መርሃግብር መሠረት ወረዳውን ያድርጉ። በአጠቃላይ ፣ ግንኙነቶች በጣም ቀላል ናቸው። ይረጋጉ እና ከላይ ያሉትን መመሪያዎች እና ምስሎች ይከተሉ ፣ እና ምንም ችግሮች የለብዎትም። በሚማርበት ጊዜ የሃርድዌር እና የሶፍትዌር ዕውቀትን በተመለከተ ከኤሌክትሮኒክስ መሠረታዊ ነገሮች ጋር በደንብ ተገናኘን። ለዚህ ፕሮጀክት ቀለል ያለ የኤሌክትሮኒክስ ንድፍ ለማውጣት ፈልገን ነበር። የኤሌክትሮኒክስ መርሃግብሮች እንደ ንድፍ አውጪዎች ናቸው። ንድፍ አውጡ እና ንድፉን በጥንቃቄ ይከተሉ። ጥቂት የኤሌክትሮኒክስ መሠረታዊ ፅንሰ ሀሳቦች እዚህ ጠቃሚ ሊሆኑ ይችላሉ!

የ Raspberry Pi እና I2C ጋሻ ግንኙነት

በመጀመሪያ ፣ Raspberry Pi ን ይውሰዱ እና I²C Shield ን በእሱ ላይ ያድርጉት። ጋሻውን በእርጋታ ይጫኑ እና እኛ በዚህ ደረጃ ልክ እንደ ፓይ ቀላል እናደርጋለን (ፎቶውን ይመልከቱ)።

የአነፍናፊ እና Raspberry Pi ግንኙነት

አነፍናፊውን ይውሰዱ እና የ I²C ገመዱን ከእሱ ጋር ያገናኙ። የ I²C ውፅዓት ሁልጊዜ ከ I²C ግብዓት ጋር መገናኘቱን ያረጋግጡ። የ GPIO ፒኖች በላዩ ላይ ከተቀመጠ የ I²C ጋሻ ጋር ለ Raspberry Pi ተመሳሳይ መከተል አለበት። በትንሽ መንሸራተት እንኳን የሚከሰተውን ፒኖዎችን ፣ ብየዳውን እና የአካል ጉዳትን የማንበብን አስፈላጊነት ስለሚከለክል የ I²C ገመዶችን እንዲጠቀሙ እንመክራለን።. በዚህ ቀላል መሰኪያ እና ገመድ ገመድ አማካኝነት በቀላሉ በቀላሉ ወደ ትግበራ መጫን ፣ ሰሌዳዎችን መለዋወጥ ወይም ተጨማሪ ሰሌዳዎችን ማከል ይችላሉ።

ማሳሰቢያ -ቡናማ ሽቦው በአንድ መሣሪያ ውፅዓት እና በሌላ መሣሪያ ግብዓት መካከል የ Ground (GND) ግንኙነትን ሁል ጊዜ መከተል አለበት።

የበይነመረብ ግንኙነት ቁልፍ ነው

እዚህ ሁለት ምርጫዎች አሉዎት። ወይም የኤተርኔት ገመድ በመጠቀም Raspberry Pi ን ከአውታረ መረቡ ጋር ማገናኘት ወይም ለ WIFI ግንኙነት ዩኤስቢ ወደ WiFi አስማሚ መጠቀም ይችላሉ። ያም ሆነ ይህ ፣ እርስዎ ከተሸፈኑት በይነመረብ ጋር እስከተገናኘ ድረስ።

የወረዳውን ኃይል ማጎልበት

በ Raspberry Pi የኃይል መሰኪያ ውስጥ የማይክሮ ዩኤስቢ ገመዱን ይሰኩ። ተኩስ እና voila! ቡድናችን መረጃ ነው።

ከማያ ገጽ ጋር ግንኙነት

የኤችዲኤምአይ ገመድ ከተቆጣጣሪ ወይም ከቴሌቪዥን ጋር እንዲገናኝ ማድረግ እንችላለን። በተጨማሪም ፣ የርቀት መዳረሻን በመጠቀም ከአንድ ተቆጣጣሪ ጋር ሳንገናኝ Raspberry Pi ን መድረስ እንችላለን። ኤስኤስኤች ደህንነቱ የተጠበቀ የርቀት መዳረሻ ምቹ መሣሪያ ነው። ለዚያም የ PUTTY ሶፍትዌርን መጠቀም ይችላሉ። ይህ አማራጭ ለላቁ ተጠቃሚዎች ነው ስለዚህ እኛ እዚህ በዝርዝር አንሸፍነውም።

ብዙ ማውጣት የማይፈልጉ ከሆነ ኢኮኖሚያዊ ዘዴ ነው።

ደረጃ 3 - በፓይዘን ውስጥ Raspberry Pi Programming

በፓይዘን ውስጥ Raspberry Pi Programming
በፓይዘን ውስጥ Raspberry Pi Programming

ለ Raspberry Pi እና ለ BME280 ዳሳሽ የፒቶን ኮድ። በእኛ Github ማከማቻ ውስጥ ይገኛል።

ወደ ኮዱ ከመሄድዎ በፊት ፣ በ Readme ፋይል ውስጥ የተሰጡትን መመሪያዎች ማንበብዎን እና በእሱ መሠረት የእርስዎን Raspberry Pi ማቀናበርዎን ያረጋግጡ። ለአየር ሁኔታ ትንበያዎች መረጃን ለመስጠት እና የአየር ሁኔታን እና የአየር ሁኔታን ለማጥናት የከባቢ አየር ሁኔታዎችን ለመለካት መሣሪያዎች እና መሣሪያዎች ያሉት በመሬት ወይም በባህር ላይ መገልገያ መሳሪያ ነው።

ኮዱ በግልጽ ከፊትዎ ነው እና እርስዎ ሊገምቱት በሚችሉት በጣም ቀላል በሆነ መልኩ እና ምንም ችግሮች ሊኖሩዎት አይገባም። አሁንም ካለ ይጠይቁ (አንድ ሺህ ነገሮችን ቢያውቁም አሁንም የሚያውቅ ሰው ይጠይቁ)።

ለዚህ ዳሳሽ የሚሰራውን የ Python ኮድ ከዚህ መቅዳትም ይችላሉ።

# በነፃ ፈቃድ ፈቃድ ተሰራጭቷል።# በተጓዳኝ ሥራዎቹ ፈቃዶች ውስጥ የሚስማማ ከሆነ በፈለጉት መንገድ ፣ ትርፍም ሆነ ነፃ ይጠቀሙበት። # BME280 # ይህ ኮድ ከ ControlEverything.com ከሚገኘው BME280_I2CS I2C ሚኒ ሞዱል ጋር አብሮ ለመስራት የተነደፈ ነው። #

ማስመጣት smbus

የማስመጣት ጊዜ

# I2C አውቶቡስ ያግኙ

አውቶቡስ = smbus. SMBus (1)

# BME280 አድራሻ ፣ 0x76 (118)

# ከ 0x88 (136) ፣ 24 ባይቶች b1 = bus.read_i2c_block_data (0x76 ፣ 0x88 ፣ 24) መልሰው ያንብቡ።

# ውሂቡን ይለውጡ

# የሙቀት ተባባሪዎች ቆፍረው_T1 = b1 [1] * 256 + b1 [0] dig_T2 = b1 [3] * 256 + b1 [2] dig_T2> 32767 ከሆነ dig_T2 -= 65536 dig_T3 = b1 [5] * 256 + b1 [4] ከሆነ dig_T3> 32767: dig_T3 -= 65536

# የግፊት መለኪያዎች

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

# BME280 አድራሻ ፣ 0x76 (118)

# ከ 0xA1 (161) ፣ 1 ባይት dig_H1 = bus.read_byte_data (0x76 ፣ 0xA1) መልሰው ያንብቡ

# BME280 አድራሻ ፣ 0x76 (118)

# ከ 0xE1 (225) ፣ 7 ባይት b1 = bus.read_i2c_block_data (0x76 ፣ 0xE1 ፣ 7) መልሰው ያንብቡ

# ውሂቡን ይለውጡ

# የእርጥበት ተባባሪዎች ቆፍረው_H2 = b1 [1] * 256 + b1 [0] dig_H2> 32767 ከሆነ dig_H2 -= 65536 dig_H3 = (b1 [2] & 0xFF) dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF) dig_H4> 32767 ከሆነ dig_H4 -= 65536 dig_H5 = (b1 [4] / 16) + (b1 [5] * 16) dig_H5> 32767 ከሆነ dig_H5 -= 65536 dig_H6 = b1 [6] ቢቆፍር_H6> 127: dig_H6 -= 256

# BME280 አድራሻ ፣ 0x76 (118)

# የመቆጣጠሪያ እርጥበት መመዝገቢያ ይምረጡ ፣ 0xF2 (242) # 0x01 (01) እርጥበት ከመጠን በላይ ማወዛወዝ = 1 bus.write_byte_data (0x76 ፣ 0xF2 ፣ 0x01) # BME280 አድራሻ ፣ 0x76 (118) # የቁጥጥር መለኪያ መመዝገቢያ ይምረጡ ፣ 0xF4 (244) # 0x27 (39) የግፊት እና የሙቀት መጠን ተሻጋሪ ፍጥነት = 1 # መደበኛ ሞድ bus.write_byte_data (0x76 ፣ 0xF4 ፣ 0x27) # BME280 አድራሻ ፣ 0x76 (118) # የውቅረት ምዝገባን ይምረጡ ፣ 0xF5 (245) # 0xA0 (00) Stand_by time = 1000 ms አውቶቡስ.ጽፋ_በቴ_ዳታ (0x76 ፣ 0xF5 ፣ 0xA0)

ጊዜ። እንቅልፍ (0.5)

# BME280 አድራሻ ፣ 0x76 (118)

# መረጃን ከ 0xF7 (247) ፣ 8 ባይት # ግፊት MSB ፣ ግፊት LSB ፣ ግፊት xLSB ፣ የሙቀት MSB ፣ የሙቀት መጠን LSB # የሙቀት መጠን xLSB ፣ እርጥበት MSB ፣ እርጥበት LSB ውሂብ = አውቶቡስ።

# የግፊት እና የሙቀት መጠን መረጃን ወደ 19-ቢት ይለውጡ

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

# የእርጥበት መረጃን ይለውጡ

adc_h = ውሂብ [6] * 256 + ውሂብ [7]

# የሙቀት ማካካሻ ስሌቶች

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

# የግፊት ማካካሻ ስሌቶች

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 = (ገጽ - (var2 / 4096.0)) * 6250.0 / var1 var1 = (dig_P9) * p * p / 2147483648.0 var2 = p * (dig_P8) / 32768.0 ግፊት = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100

# የእርጥበት ማካካሻ ስሌቶች

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 * varH))) እርጥበት = var_H * (1.0 - dig_H1 * var_H / 524288.0) እርጥበት> 100.0 ከሆነ እርጥበት = 100.0 ኤሊፍ እርጥበት <0.0: እርጥበት = 0.0

# የውጤት ውሂብ ወደ ማያ ገጽ

"የሙቀት መጠን በሴልሲየስ %.2f C" %cTemp print "ሙቀት በፋራናይት ውስጥ %.2f F" %fTemp print "ግፊት %.2f hPa" %ግፊት ህትመት "አንጻራዊ እርጥበት %.2f %%" %እርጥበት

ደረጃ 4 - የሩጫ ኮድ

የሩጫ ኮድ
የሩጫ ኮድ

አሁን ኮዱን ያውርዱ (ወይም git pull) እና በ Raspberry Pi ውስጥ ይክፈቱት።

በኮርሚናል ላይ ኮዱን ለማጠናቀር እና ለመስቀል ትዕዛዞቹን ያሂዱ እና ውጤቱን በማሳያው ላይ ይመልከቱ። ከጥቂት ሰከንዶች በኋላ ሁሉንም መለኪያዎች ያሳያል። ሁሉም ነገር በጥሩ ሁኔታ እንደሚሠራ ካረጋገጡ በኋላ አንዳንድ የበለጠ ሳቢዎችን ማዳበር ይችላሉ።

ደረጃ 5 - በተግባራዊ ዓለም ውስጥ አጠቃቀም

BME280 እርጥበት እና የግፊት መለካት በሚያስፈልጋቸው ሁሉም መተግበሪያዎች ውስጥ ከፍተኛ አፈፃፀም ያስገኛል። እነዚህ ብቅ ያሉ መተግበሪያዎች አውድ ግንዛቤ ናቸው ፣ ለምሳሌ። የቆዳ መፈለጊያ ፣ የክፍል ለውጥ ማወቂያ ፣ የአካል ብቃት ክትትል / ደህንነት ፣ ደረቅነትን ወይም ከፍተኛ ሙቀትን በተመለከተ ማስጠንቀቂያ ፣ የድምፅ መጠን እና የአየር ፍሰት መለካት ፣ የቤት አውቶማቲክ ቁጥጥር ፣ የመቆጣጠሪያ ማሞቂያ ፣ የአየር ማናፈሻ ፣ የአየር ማቀዝቀዣ (ኤች.ቪ.ሲ.) ፣ የነገሮች በይነመረብ (IoT) ፣ የጂፒኤስ ማሻሻያ (ለምሳሌ-ጊዜ-ወደ-መጀመሪያ ማሻሻል ፣ የሞተ ቆጠራ ፣ ተዳፋት መለየት) ፣ የቤት ውስጥ አሰሳ (የወለል ማወቂያ ለውጥ ፣ የአሳንሰር መፈለጊያ) ፣ ከቤት ውጭ አሰሳ ፣ መዝናኛ እና የስፖርት ትግበራዎች ፣ የአየር ሁኔታ ትንበያ እና አቀባዊ የፍጥነት አመላካች (መነሳት/መንፋት) ፍጥነት)።

ደረጃ 6 መደምደሚያ

ይህ ፕሮጀክት ተጨማሪ ሙከራን እንደሚያነሳሳ ተስፋ ያድርጉ። ይበልጥ የተራቀቀ የአየር ሁኔታ ጣቢያ መሥራት እንደ ዝናብ መለኪያ ፣ ቀላል ዳሳሽ ፣ አናሞሜትር (የንፋስ ፍጥነት) ወዘተ ያሉ አንዳንድ ዳሳሾችን ሊያካትት ይችላል እነሱን ማከል እና ኮዱን ማሻሻል ይችላሉ። የ I²C ዳሳሽ ከ Rasp Pi ጋር መሠረታዊ ሥራ ያለው በ YouTube ላይ የቪዲዮ ትምህርት አለን። የ I²C ግንኙነቶችን ውጤቶች እና ሥራ ማየት በእውነት አስደናቂ ነው። እንዲሁም ይመልከቱት። አስደሳች ግንባታ እና ትምህርት ይኑርዎት! እባክዎን ስለዚህ ትምህርት ሰጪ ምን እንደሚያስቡ ያሳውቁን። አስፈላጊ ከሆነ አንዳንድ ማሻሻያዎችን ማድረግ እንወዳለን።

የሚመከር: