ዝርዝር ሁኔታ:

Tweeting Weather Station: 8 ደረጃዎች (ከስዕሎች ጋር)
Tweeting Weather Station: 8 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Tweeting Weather Station: 8 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Tweeting Weather Station: 8 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: የፍቅር ግንኙነታችን ስህተት እንደሆነ የምናውቅባቸው 6 መንገዶች 2024, ህዳር
Anonim
Tweeting የአየር ሁኔታ ጣቢያ
Tweeting የአየር ሁኔታ ጣቢያ

የከተማዎን ወቅታዊ የአየር ሁኔታ ሁኔታዎች ፣ የካርቦን አሻራ ፣ ጫጫታ እና ብክለት ደረጃዎችን ለመከታተል መቼም ፈልገዋል? የአየር ንብረት ለውጥ አድካሚ መሆን ወይም የራስዎን የትዊተር የአየር ሁኔታ ጣቢያ ማቋቋም እና የአከባቢዎን የአየር ሁኔታ ሁኔታዎችን ለዓለም ማጋራት ይፈልጋሉ?

Tweeting Weather IoT Station aka TWIST ን ይተዋወቁ - DIY ፣ ክፍት ምንጭ የአካባቢ ክትትል እና ሜትሮሎጂ መረጃ ማግኛ መድረክ። የ TWIST ዓላማ ግለሰቦች እና ማህበረሰቦች በእውነቱ በአካባቢያቸው ምን እየተከናወነ እንዳለ መረጃ መሰብሰብ እና ይህንን መረጃ እንደ ትዊተር ባሉ ማህበራዊ ሚዲያ ላይ ማጋራት ነው።

  • TWIST የነገሮች በይነመረብ (IoT) የተጎላበተ መድረክ ነው።
  • የ TWIST አንጎል ኢንቴል ኤዲሰን ቦርድ ነው።
  • TWIST ከተለያዩ ዳሳሾች ጋር ተኳሃኝ ነው።
  • ሁሉም ኮድ ፣ የንድፍ ፋይሎች (መርሃግብሮች እና ፒሲቢ አቀማመጥ) ክፍት ምንጭ ናቸው። ይህ ማለት ለተለያዩ ዳሳሾች ኮድን እና መርሃግብሮችን በማጋራት ማንኛውም ሰው ለ TWIST መድረክ አስተዋፅኦ ሊያበረክት ይችላል።

TWIST ሶስት የቴክኖሎጂ ንብርብሮችን ያቀፈ ነው-

የመጀመሪያው ንብርብር ‹ዳሳሽ ቦርድ› በመባል የሚታወቁትን ሁሉንም የአየር ሁኔታ እና የአካባቢ ዳሳሾችን የያዘ የሃርድዌር ሰሌዳ ነው። ስሙ እንደሚያመለክተው የአየር ቅንብርን ፣ ሙቀትን ፣ እርጥበትን ፣ ዝናብን የሚለኩ ዳሳሾችን ይይዛል። እንደ ሴሰሚክ እንቅስቃሴ ፣ የአልትራቫዮሌት መረጃ ጠቋሚ ፣ የባሮሜትሪክ ግፊት ፣ ከፍታ ፣ ሉክስ (ብሩህነት) ፣ የድምፅ ደረጃዎች ፣ የንፋስ ፍጥነት እና አቅጣጫ ፣ ወዘተ ያሉ ተጨማሪ ዳሳሾች እንዲሁ ሊታከሉ ይችላሉ። አንዴ ከተዋቀረ የአነፍናፊ ቦርድ በአነፍናፊዎቹ የሚለካውን መረጃ ወደ ሁለተኛው ንብርብር ማስተላለፍ ይችላል። ሁለተኛው ንብርብር ከአነፍናፊ ቦርድ መረጃን የሚቀበል ፣ የሚያከናውን እና ወደሚቀጥለው ንብርብር የሚልክ የ Intel ኤዲሰን ቦርድ ነው። ሦስተኛው ንብርብር በኤዲሰን ቦርድ ላይ ያለውን ገመድ አልባ ሞዱል እና የአሁኑን የአየር ሁኔታ እና የአካባቢ ሁኔታዎችን Tweet's በመጠቀም የኤዲሰን ቦርድዎን በ Wi-Fi በኩል ከበይነመረቡ ጋር ያገናኛል።

ለመሣሪያው ኃይል በሶላር ፓነል ወይም በኤሲ አስማሚ ሊሰጥ ይችላል።

በስሪት ቁጥጥር ስር ያሉ ማከማቻዎች

ሦስቱ የ TWIST የቴክኖሎጂ ንብርብሮች ክፍት ምንጭ ናቸው ፣ እና ስለሆነም ለኮድ ፣ ለፒሲቢ ልማት ፣ ለሜካኒካዊ ዲዛይን ፣ ወዘተ የምንጠቀምባቸው ፋይሎች በሙሉ በ Github ማከማቻችን ላይ በቀላሉ ይገኛሉ።

የውድድር ግቤቶች

ኢንቴል IoT ግብዣ

የ Intel ኤዲሰን ቦርድ ስለሰጠኝ Intel+Instructables ን ማመስገን እፈልጋለሁ። የኤዲሰን ሰሌዳ በመጠቀም ብዙ ተጨማሪ ከአይኦ ጋር ተዛማጅነት ያላቸው ትምህርቶችን ለመሥራት እቅድ አለኝ።

#iotweatherstn

TWIST ን ከሠሩ ፣ #iotweatherstn ን በመጠቀም የአየር ሁኔታን መለጠፍዎን አይርሱ። #iotweatherstn በሁሉም IoT የተጎላበተው የትዊተር የአየር ሁኔታ ጣቢያዎች የሚጠቀሙበት ሃሽታግ ሊሆን ይችላል።

ደረጃ 1: ክፍሎች እና ቁሳቁሶች

ክፍሎች እና ቁሳቁሶች
ክፍሎች እና ቁሳቁሶች
ክፍሎች እና ቁሳቁሶች
ክፍሎች እና ቁሳቁሶች
ክፍሎች እና ቁሳቁሶች
ክፍሎች እና ቁሳቁሶች

የቁጥር ክፍል ዝርዝሮች 1

ኢንቴል ኤዲሰን

ከአርዱዲኖ Breakout ቦርድ ጋር

1

MQ2 ተቀጣጣይ ጋዝ ዳሳሽ

1

YL-83

የዝናብ ዳሳሽ

1

SL-HS-220

የሙቀት እና እርጥበት ዳሳሽ

1

ተከላካይ

32 ኪ

4.7 ኪ

3 የብረት ጥንካሬ 1 ኢንች

1

ተከላካይ

32 ኪ

4.7 ኪ

2

የእንጨት ሉህ A4 መጠን

በኋላ በመጠን ሊቆረጥ ይችላል

3

የብረት ጥንካሬ

1 ኢንች

ደረጃ 2 የኤሌክትሪክ ንድፍ

ኃይል

ጠቅላላው ስርዓት ከ 5V 1A የኃይል አቅርቦት የተጎላበተ ነው። አነፍናፊዎቹ (የሙቀት መጠን ፣ እርጥበት ፣ ዝናብ ፣ ጋዝ) በግምት 200 mA ፣ ኤዲሰን በ 500 mA ዙሪያ ይስላሉ ፣ አጠቃላይ የአሁኑ የሚፈለገው ከ 1 ማህተም በታች ስለሆነ የ 1 አምፕ አቅርቦት በጥሩ ሁኔታ መሥራት አለበት። በኤዲሰን ቦርድ ዲጂታል ፒን 13 ላይ አብሮ የተሰራ አረንጓዴ LED የኃይል ሁኔታን ለማሳየት ያገለግላል።

ControlAn Intel ኤዲሰን ትዕይንቱን ለ TWIST ያካሂዳል። ኤዲሰን በአርዱኢኖ የመገንጠያ ሰሌዳ ላይ ተጭኗል ፣ ይህም አነፍናፊዎቹን ዲጂታል እና አናሎግ ምልክቶችን ለማንበብ ቀላል ያደርገዋል። ኤዲሰን በማይክሮ ዩኤስቢ ገመድ በኩል ከ 5 ቮ ባቡር ጋር ተገናኝቷል። ኤዲሰን አብሮገነብ የ Wi-Fi ሬዲዮ አለው ፣ ይህም ምንም ተጨማሪ ሃርድዌር ሳያስፈልግ ወደ ትዊተር እንዲገናኝ ያስችለዋል።

የእውነተኛ ሰዓት ሰዓት (RTC)

ለእያንዳንዱ ትዊተር በትዊተር በራስ-ሰር የሚከናወነው የጊዜ-ማህተም ከ Tweeting ጊዜ ጀምሮ በጠቅላላ ቀናት ብዛት ላይ የተወሰነ ውሳኔ ስላለው ፣ በእውነተኛ ሰዓት ሰዓት ቀኑን እና ሰዓቱን በሰዓት-ደቂቃ ውስጥ በትክክል ለማተም ያገለግላል። ሁለተኛ ቅርጸት። በ TWIST መድረክ ውስጥ ጥቅም ላይ የዋለው የእውነተኛ ሰዓት ሰዓት DS-1307 RTC ሞዱል ነው።

የዚህ ሥርዓት በጣም መሠረታዊ ቅንብር ከኤዲሰን ጋር የሚገናኙ አራት ዳሳሾች (ሙቀት ፣ እርጥበት ፣ ዝናብ ፣ ጋዝ) አሉት። ተጨማሪ ዳሳሾች እንደ ጫጫታ ፣ ንፋስ ፣ ወዘተ የመሳሰሉት ሊጨመሩ ይችላሉ። እያንዳንዱ ዳሳሽ በቀጥታ ከ 5 ቮ ባቡር የተጎላበተ ሲሆን በኤዲሰን መለያየት ቦርድ ላይ ከአናሎግ ፒኖች A0 እስከ A2 እና ዲጂታል ፒን 2 በቅደም ተከተል ተገናኝቷል። አነፍናፊዎቹ እያንዳንዳቸው በእያንዳንዱ ዳሳሽ ሰሌዳ ላይ የተጫነ የስሜት ማስተካከያ ፖታቲሞሜትር አላቸው። MQ-2 ተቀጣጣይ የጋዝ ዳሳሽ (ፈሳሽ ነዳጅ ጋዝ ፣ ፕሮፔን ፣ ሃይድሮጂን እና ሚቴን) ነው። SL-HS-220 የሙቀት መጠኑን የሚሰጥ የሙቀት መቆጣጠሪያ አለው። የ thermistor ውፅዓት መስመራዊ ስላልሆነ ተጓዳኝ የሙቀት ሰንጠረዥን በአነፍናፊ ማከማቻ ውስጥ ይሰጣል። በወረዳ ዲያግራም ላይ እንደሚታየው ኤዲሰን ቦርድ ጋር ሲገናኝ ቴርሞስታሩ የቮልቴጅ መከፋፈያ ወረዳ ይፈልጋል። SL-HS-220 እንዲሁ እርጥበት የሚለካ እና ከቋሚ እርጥበት እሴት ጋር የሚዛመድ የአናሎግ ቮልቴጅን የሚያወጣ ውስጠ ግንቡ ሃይድሮሜትር አለው። የእርጥበት-ቮልቴጅ ሰንጠረዥ እንዲሁ በአነፍናፊ ማጠራቀሚያዎች ውስጥ ይሰጣል። ለ SL-HS-220 የተለመደው ምትክ የ DHT11 ዳሳሽ ነው። የዝናብ ዳሳሽ/የውሃ አነፍናፊ ስሜቱ በተጠቃሚው ሊስተካከል የሚችል ለተወሰነ የዝናብ መጠን ዲጂታል ውፅዓት ለመስጠት የተስተካከለ ፖታቲሞሜትር አለው።

የአየር ሁኔታ ጣቢያ.fzz

ደረጃ 3 ሜካኒካል ዲዛይን

የ TWIST አካል ከሁለት ሳህኖች ከእንጨት ወረቀቶች የተሠራ ነው። ምንም እንኳን እኔ 1/4 “ፓንኬክ” ብጠቀምም ፣ ክፍተቱ (በ 1”የአሉሚኒየም ማቆሚያዎች) ብቸኛው ወሳኝ አካል ስለሆነ ዲዛይኑ ከማንኛውም የሉህ ቁሳቁስ ሊሰበሰብ ይችላል። ከላይ ለማውረድ የቬክተር ፋይሎችን አያይዣለሁ።

ሌዘር መቁረጥ

ሁለቱን ሳህኖች በጨረር ለመቁረጥ ለሚፈልጉ ሁሉ ፣ ከዚህ በታች ለማውረድ የሌዘር አጥራቢ ፋይሎችን አያይዣለሁ። በተጨማሪም በዲዛይኑ ውስጥ ተጨማሪ የአየር ጥራት ዳሳሽ ያካትታል። ስለዚህ በእርስዎ ምርጫ ላይ በመመስረት የ MQ2 ዳሳሽ ሞዱል ወይም የአየር ጥራት ዳሳሽ ሞዱል መጠቀም ይችላሉ።

ደረጃ 4 የፍሬም ስብሰባ - ፊት እና መሠረት

የፊት ገጽታ

ዳሳሾቹ በሚዛመዱ ቀዳዳዎች እና በመቁረጫዎቻቸው ውስጥ ይጣጣማሉ እና ዊንጮችን ወይም ሙጫ በመጠቀም ሊስተካከሉ ይችላሉ።

መሠረት

የኤዲሰን ቦርድ ልዩነቶች በ Baseplate ላይ ተጣብቀዋል። ከዝናብ ዳሳሽ ጋር የተገናኘው የአናሎግ-ወደ-ዲጂታል መቀየሪያ (ኤዲሲ) እንዲሁ በባስፕሌት ላይ ሊሰካ ይችላል።

ለፀሐይ ግቤት እንደ ባዝተሮች ወይም የ voltage ልቴጅ ተቆጣጣሪ ወረዳ ያሉ ተጨማሪ ክፍሎች እንዲሁ በባስፕሌት ላይ ሊሰኩ ይችላሉ።

ቤዝፕሌት እና የፊት መጋጠሚያ ሁለቱም በ 1 ኢንች ተለያይተዋል።

ደረጃ 5 ኤሌክትሮኒክስ እና ዳሳሽ ስብሰባ

ኃይል

ለስርዓቱ ኃይል በቀጥታ ከኤዲሰን በርሜል አያያዥ ጋር በተገናኘ በመደበኛ በርሜል መሰኪያ ባለው የግድግዳ አስማሚ ይሰጣል። በተጨማሪም ስርዓቱ በኤዲሰን ሰሌዳ ላይ ባለው የዩኤስቢ ወደብ በኩል ሊሠራ ይችላል። እንዲሁም ሰሌዳውን ከውጭ የፀሐይ ፓነል ኃይል መስጠት ይችላሉ።

ዳሳሾች

አነፍናፊዎቹ ከወንዶች ራስጌዎች ጋር ከተሰነጣጠሉ ቦርዶች ጋር ተያይዘዋል እናም ስለሆነም በቀጥታ ከኤዲሰን ጋር ከወንድ-ወደ-ሴት ዝላይ ሽቦዎች ሊገናኙ ይችላሉ።

ደረጃ 6 - የትዊተር ውቅር

ወደ ትዊተር Inorder ፣ እኛ በኤዲሰን ሰሌዳዎ ለመለጠፍ የሚያስፈልግዎትን የትዊተር ምልክትን የሚያገኝ በ NeoCat የተገነባ የሶስተኛ ወገን መተግበሪያን እየተጠቀምን ነው። ማስመሰያዎችም ከትዊተር ገንቢዎች ድረ -ገጽ ሊገኙ ይችላሉ።

ስለዚህ ፣ ለመጀመር ፣ የ NeoCat ን ድር ጣቢያ ይጎብኙ ፣ የቲዊተር ቤተ -መጽሐፍትዎን እና የትዊተርዎን ማስመሰያ ለማግኘት የእሱን/የእርሷን ትምህርት ይከተሉ። NeoCat በጣቢያቸው ላይ እንደጠቀሰው እባክዎን አገልግሎቱን አላግባብ አይጠቀሙ። ትዊቶችዎ ትንሽ ይሁኑ። በየ 6 ሰከንዶች የሚለዋወጥ አንድ ነገር ከፈለጉ ፣ የራስዎን አገልጋይ እና የትዊተር መተግበሪያን ማቀናበር አለብዎት እና ስለዚህ የጻፍኩት ኮድ የ NeoCat አገልጋይ ከመጠን በላይ አለመጫኑን ያረጋግጣል (በየ 6 ሰዓታት TWIST ትዊቶች)።

ቤተ -መጽሐፍቱ ይህንን የ NeoCat ድር ጣቢያ ለ OAuth ነገሮች እንደ ተኪ አገልጋይ ይጠቀማል። የዚህ የ NeoCat ድር ጣቢያ ጥገና በሚደረግበት ጊዜ የእርስዎ ትዊተር ላይተገበር ይችላል። ትዊተር ከተመሳሳይ ይዘት ጋር ተደጋጋሚ ትዊቶችን የማይቀበል ይመስላል (ስህተት 403 ይመልሳል)።

ትዊተር ማስመሰያ

አርዱዲኖ ትዊት ቤተ -መጽሐፍት

ደረጃ 7: ሶፍትዌር እና ውቅር

ኮድ መስጠትን ከመጀመርዎ በፊት ለ Intel Edsion የአቀማመጥ መመሪያን ይከተሉ።

ፕሮግራሙ በኤዲሰን ላይ የሚሠራ የአርዱዲኖ ንድፍ ነው። ከዚህ በታች እያንዳንዱን ዋና የኮድ ብሎኮች አብራራሁ።

ኮዱ አንዳንድ ቅድመ -ተለይተው የሚታወቁ ቋሚዎችን ፣ የፒን መግለጫዎችን እና መላ ፍለጋ ውስጥ የሚረዱ ሁለት ተከታታይ የህትመት መግለጫዎችን ያጠቃልላል።

Tweet መዘግየት

ትዊተር ተመሳሳይ ይዘት ያላቸውን ትዊቶችን በማጣራት እና በእያንዳንዳቸው መካከል በአጭር ጊዜ ውስጥ በትዊተር የሚለጠፍ በመሆኑ በእያንዳንዱ ትዊተር መካከል መደበኛ 3 ሰዓት (10800000 ሚሊ ሰከንድ) መዘግየት ተዘጋጅቷል።

tweetMessage ();

መዘግየት (10800000);

Casting ይተይቡ

ከአነፍናፊዎቹ የምናገኛቸው ብዙ ንባቦች በ 'int' ወይም 'float' datatype ውስጥ ናቸው። ግን እነዚህን እሴቶች በትዊተር ላይ ስለምንሆን እነሱን ወደ ‹ሕብረቁምፊ› የውሂብ ዓይነት መለወጥ አለብን። ለዚህ እኛ ልዩ ዓይነት የመጣል ዘዴን እንጠቀማለን።

char *dtostrf (ድርብ ቫል ፣ የተፈረመ ቻር ወርድ ፣ ያልተፈረመ ቻር ቅድመ ፣ ቻር *ሶው) {

char fmt [100]; sprintf (fmt ፣ “%%% d.%df” ፣ ስፋት ፣ ቅድመ); sprintf (sout, fmt, val); ሶት መመለስ; }

ትዊተር ማስመሰያ

የትዊተር ማስመሰያው በ NeoCat ድርጣቢያ ላይ የተፈጠረ ሲሆን እዚህ ወደ ማስመሰያ ቦታ መለጠፍ አለበት።

ባዶ ትዊተር መልእክት () {

ትዊተር ትዊተር (“እዚህ TWITTER TOKEN ያስገቡ”);

ትዊተር ዳሳሽ እሴቶችን

የአነፍናፊውን እሴት ለመለጠፍ በመጀመሪያ እኛ የአነፍናፊ ዓይነትን እናካትታለን። ምሳሌ - “እርጥበት”። በመቀጠልም የቁምፊ መግለጫ እና ለጽሕፈት ማተም የሚያስፈልገው የኮድ መስመር ይከተላል። በመቀጠልም ለመለኪያ አሃድ መግለጫ እንጨምራለን ፤ ምሳሌ - "%RH"። በተመሳሳይ ሁኔታ የሌሎች ዳሳሾች እሴቶችን ማከል መቀጠል እንችላለን።

እርጥበት (); ተንሳፋፊ እርጥበት;

// የትዊተር መልእክት ሕብረቁምፊ stringMsg = "እርጥበት:"; char tmp [10]; dtostrf (እርጥብ ፣ 1 ፣ 2 ፣ tmp); stringMsg += tmp; stringMsg += "%RH";

የአየር ሁኔታ ጣቢያ አቀማመጥ እና መለያ መስጠት

በመቀጠል ለቦታው (ከተማ ፣ አካባቢያዊነት ፣ ወዘተ) እና እንደ #iotweatherstn ያሉ ሌሎች መለያዎችን መለያ እናደርጋለን።

stringMsg += " #ሙምባይ #ባንድራ #iotweatherstn";

የእውነተኛ ሰዓት ሰዓት (RTC)

ቀደም ሲል እንደተገለፀው TWIST እንዲሁ የእውነተኛ ሰዓት ሰዓት መረጃን Tweet ማድረግ ይችላል። ከዚህ በታች የ RTC የ ‹ቀን› ልኬት እገዳ ምሳሌ ነው። ሞጁሉ ለየብቻ ስለሚመጣ በእውነተኛ ሰዓት ሰዓት ባህሪ በ TWIST መድረክ ውስጥ እንደ አማራጭ ነው። ስለዚህ በእውነተኛ ሰዓት ሰዓት ቅርንጫፍ ኮድ እና መርሃግብሮች በ TWIST ማከማቻ ውስጥ የተፈጠረ የተለየ ቅርንጫፍ አለ።

TwistDateTime (); DateTime now = rtc.now (); int ጠመዝማዛ ፣ ጠመዝማዛ ፣ ዓመታዊ ፣ ዓመታ ፣ አጭበርባሪ ሰዓት ፣ ማዞሪያ ፣ ጠማማ; ሕብረቁምፊ stringMsg = ""; ቻር ds1307day [10]; dtostrf (ጠማማ ቀን ፣ 1 ፣ 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 የቁምፊ ወሰን

ይህ የኮድ እገዳ የትዊተር ድርድርን ለመለጠፍ ዝግጁ ወደ 140 የቁምፊ ድርድር ይሸፍናል።

char msg [140];

stringMsg.toCharArray (msg ፣ 140);

መልዕክት እና ግንኙነት መላ መፈለግ

ይህ የኮድ እገዳ ተጠቃሚው መልዕክቱን እና የትዊተር ሁኔታን እንዲፈትሽ ለመርዳት በተከታታይ ሞኒተር ውስጥ ሁለት የጽሑፍ መስመሮችን ያትማል።

// ያንን ጠቢባ Tweet ያድርጉ!

ከሆነ (twitter.post (msg)) {int status = twitter.wait (); ከሆነ (ሁኔታ == 200) {Serial.println («እሺ»)); Serial.println ("መልዕክት Tweeted"); } ሌላ {// የግንኙነት ሙከራ Serial.print ("አልተሳካም: ኮድ"); Serial.println ("መልዕክት አልተለጠፈም"); Serial.println (ሁኔታ); }} ሌላ {Serial.println (“ግንኙነት አልተሳካም”) ፤ Serial.println ("መልዕክት አልተለጠፈም"); }

ሁሉም ሌሎች የኮድ ብሎኮች በቀላሉ የአናሎግን ወይም ዲጂታል ንባብን ከአነፍናፊዎቹ ወደ ሊጠቀመው ውሂብ ይቀይራሉ።

ኮዱ ከዚህ ወይም ከዋናው ማከማቻ ማውረድ ይችላል-

የአየር ሁኔታ ጣቢያ.ino

ደረጃ 8 - ለአነፍናፊ ማከማቻ ማከማቻ ማበርከት

በ TWIST ውስጥ ለአዲስ ባህሪ ጥሩ ሀሳብ ያለው የፕሮግራም ባለሙያ ፣ መሐንዲስ ወይም ዲዛይነር ነዎት? ምናልባት ለሳንካ ጥገና ጥሩ ሀሳብ ይኖርዎታል? ከ Github የእኛን ኮድ ፣ መርሃግብሮች እና የ CAD ፋይሎችን ለመያዝ ነፃነት ይሰማዎት እና ከእሱ ጋር ለማሰላሰል።

TWIST GitHub

Intel® IoT ግብዣ
Intel® IoT ግብዣ
Intel® IoT ግብዣ
Intel® IoT ግብዣ

በ Intel® IoT ግብዣ ውስጥ ሁለተኛ ሽልማት

የሚመከር: