ዝርዝር ሁኔታ:

በ Android ላይ የሶዲየም አቧራ ዳሳሽ 6 ደረጃዎች
በ Android ላይ የሶዲየም አቧራ ዳሳሽ 6 ደረጃዎች

ቪዲዮ: በ Android ላይ የሶዲየም አቧራ ዳሳሽ 6 ደረጃዎች

ቪዲዮ: በ Android ላይ የሶዲየም አቧራ ዳሳሽ 6 ደረጃዎች
ቪዲዮ: Как штукатурить откосы на окнах СВОИМИ РУКАМИ 2024, ሀምሌ
Anonim
በ Android ላይ የሶዲየም አቧራ ዳሳሽ
በ Android ላይ የሶዲየም አቧራ ዳሳሽ

ከአንድ ዓመት በፊት አንድ ጓደኛዬ ስለ አካባቢያዊ ክትትል በሳምንቱ መጨረሻ ወርክሾፕ ነበረው። የአውደ ጥናቱ ዓላማ በተደጋጋሚ የዘመኑ የአቧራ ማሰባሰብ ካርታዎችን በሚሰጥ በአንዳንድ አገልጋይ ላይ የመለኪያ መረጃን ከራስቤሪ ፒ ቦርድ ጋር የተገናኘ የአቧራ ዳሳሽ መገንባት ነበር። ጓደኛዬ ለክትትል እና ለመመዝገብ የስማርት ውሂቡን በቀጥታ በስማርትፎኑ ላይ የሚያገኝበት መንገድ ካለ ጠየቀ። ስለዚህ በይነመረቡን ለ datasheet ቆፍሬ አነፍናፊው ከ 9600Baud 8N1 ፕሮቶኮል ጋር ቀላል የ UART በይነገጽ እንዳለው አየሁ። ግን UART ን ወደ ስማርትፎን እንዴት ማገናኘት እንደሚቻል? ደህና ፣ ያ ቀላል ነው። እኔ በ android ላይ የተከተተ ኮምፖተር ከሚሰጡት እነዚያ በየቦታው ከሚገኙት ትንሽ የብሉቱዝ ሞጁሎች አንዱን መጠቀም ነበረብኝ። አሁን እንዴት እንደሠራሁ ይመልከቱ።

ደረጃ 1: የሚያስፈልግዎት

ምንድን ነው የሚፈልጉት
ምንድን ነው የሚፈልጉት
ምንድን ነው የሚፈልጉት
ምንድን ነው የሚፈልጉት

የሚከተሉትን ክፍሎች ያስፈልግዎታል

  • የሽቦ ማያያዣ JST XH 7-pin ለሶዲዲያ በይነገጽ ከሽቦዎች ጋር። ኢቤይ ላይ የኔን ገዛሁ።
  • የብሉቱዝ ሞዱል HC05 ወይም 06 ከ UART አያያዥ ጋር ተኳሃኝ
  • ከ TTL ደረጃ በይነገጽ ጋር የዩኤስቢ-ተከታታይ መለወጫ። እኛ ለ BT- ሞዱል ልዩ ስም ለመስጠት ይህንን እንጠቀማለን
  • ሶዲየም SDS011 የአቧራ ዳሳሽ። የእኔን ከኤባይ አግኝቻለሁ
  • የ veroboard ቁራጭ
  • የዩኤስቢ-ቢ አያያዥ
  • ሽቦ
  • ሁሉንም ነገር ለመጫን የእንጨት ቁራጭ

ከዚያ አንዳንድ ቀላል መሣሪያዎች ያስፈልጉዎታል-

  • እንጨቱን ለመቁረጥ ቡቃያ
  • ጠመዝማዛዎች
  • ብየዳ ብረት እና ብየዳ
  • ሽቦ መቁረጫ
  • ሙቅ ሙጫ ጠመንጃ
  • 8 ሚሜ የሲሊኮን እጀታ (በስዕሉ ላይ አይደለም)

የሶዲየም SDS011 የውሂብ ሉህ እዚህ ማውረድ ይችላሉ ሶዲየም SDS011 የውሂብ ሉህ

ደረጃ 2 የብሉቱዝ ሞጁሉን ማዘጋጀት

የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት
የብሉቱዝ ሞጁሉን ማዘጋጀት

የ BT- ሞዱል ከ TTL- ደረጃ ጋር የ UART በይነገጽ አለው። በጥንት ዘመን እንደነበረው በበይነመረብ ሞደሞች እንዳደረግነው በ “AT” ትዕዛዞች እንደገና ሊዋቀር ይችላል። በማሽንዎ ላይ ካለው ተርሚናል ፕሮግራም ጋር ለማገናኘት UART ን ከኮምፒዩተርዎ ጋር ማላመድ አለብዎት። እኔ በአማዞን የገዛሁትን የዩኤስቢ- RS232 መለወጫ ተጠቀምኩ። ለ BT- ሞዱል አገናኝን ተግባራዊ አድርጌ 3 ፣ 3V የኃይል አቅርቦትን እና GND ን ከመቀየሪያው ወደ BT- ሞዱል አዛውሬአለሁ። ከዚያ በመስቀለኛ መንገድ ውስጥ የየ TXD እና RxD መስመሮችን አገናኘሁ። TxD ከዩኤስቢ-መለወጫ ወደ RxD ከ BT- ሞዱል እና በተቃራኒው።

እኔ የሊኑክስ ማሽን አለኝ እና cutecom ን ተጠቅሜያለሁ። የዩኤስቢ መለወጫውን ካገናኙ በኋላ ኮምፖሬሽኑ “ttyUSB0” ነበር። በእርስዎ የሊኑክስ ማሽን ላይ በ “/dev” ማውጫ ውስጥ የኮምፕተር ስሞችን ማግኘት ይችላሉ። ለዊንዶውስ ተጠቃሚዎች እኔ ‹Hterm› ን እመክራለሁ። ለመሥራት ቀላል ነው። “AT” ብለው ይተይቡ እና እንደ ምላሽ “AT” ማግኘት አለብዎት። ከዚያ ለ BT- ሞዱል “ዳሳሽ” የሚለውን ስም ለመስጠት “AT+NameSensor” ብለው ይተይቡ

ደረጃ 3: ክፍሎቹን መትከል

ክፍሎችን መትከል
ክፍሎችን መትከል
ክፍሎችን መትከል
ክፍሎችን መትከል
ክፍሎችን መትከል
ክፍሎችን መትከል
ክፍሎችን መትከል
ክፍሎችን መትከል

ሁሉንም ክፍሎች ለመውሰድ ተስማሚ በሆነ መጠን አንድ እንጨት ይቁረጡ። በስዕላዊ መግለጫው ውስጥ እንደተመለከተው ሁሉንም ምልክቶች ያገናኙ። እነሱን ለመጠበቅ የሲሊኮን እጀታ በሽቦዎቹ ዙሪያ ማድረጉ ጥሩ ሀሳብ ነው። በመጽሔቱ ሰሌዳ ላይ የዩኤስቢ-ቢ መሰኪያውን ያሽጡ። እሱ ለኃይል አቅርቦት ብቻ ጥቅም ላይ ይውላል። በእንጨት መሰረቱ ላይ ሁሉንም ክፍሎች በዊንች ያስተካክሉ። በመጨረሻ ትኩስ ሙጫ ኬብሎችን በእንጨት ላይ ለማስተካከል።

ደረጃ 4: ማጣመር

ማጣመር
ማጣመር
ማጣመር
ማጣመር

የዩኤስቢ የኃይል አቅርቦትን በመሰካት የአነፍናፊውን ትግበራ ያብሩ። በ BT- ሞዱል ላይ ቀይ LED ብልጭ ድርግም ይላል። ከእርስዎ የ android ዘመናዊ ስልክ ጋር ለማጣመር አይሞክሩ። የፒን ኮድ ማስገባት አለብዎት። ይህ "1234" ነው። ኮዱን ከገቡ በኋላ ስማርትፎንዎ ከ BT- ሞዱል ጋር ማጣመር አለበት።

ደረጃ 5 - ሶፍትዌሩ

በዒላማው መድረክ ላይ የ Android መተግበሪያዎችን መጻፍ እወዳለሁ። ከ Android ስቱዲዮ ጋር እየሰሩ ከሆነ ሊጨነቁዎት ከሚገቡት የማስመሰል ነገሮች ሁሉ ያድንዎታል። በ Android ራሱ ላይ ሶስት ተስማሚ የልማት መሳሪያዎችን አገኘሁ

  • ሚንቶሪስ መሰረታዊ። በ android ላይ ከሞላ ጎደል ሁሉንም ነገር ለማጤን የበለፀጉ ትዕዛዞች ስብስብ ያለው መሠረታዊ ተርጓሚ። ለመተግበሪያዎችዎ አቋራጮች መፍጠር ይችላሉ። ሚንቶሪስ መሰረታዊ ማጠናከሪያ አልያዘም። ስለዚህ በሚጠቀሙበት እያንዳንዱ መሣሪያ ላይ Mintoris ን መጫን አለብዎት። ግን አንድ ጊዜ ብቻ መክፈል አለብዎት (ወደ 7 about ገደማ)
  • መሠረታዊ! እጅግ በጣም ጥሩ መሠረታዊ አስተርጓሚ እና አጠናቃሪ (ለተጨማሪ € ተጨማሪ)። በ android ውስጥ ባለው ነገር ሁሉ ላይ ይንጠለጠላል እና መሰረታዊ ሳይኖራቸው እነሱን ለማሰራጨት እውነተኛ መተግበሪያዎችን ማጠናቀር ይችላሉ! በታለመው መሣሪያ ላይ። በሚያሳዝን ሁኔታ መሠረታዊ! የማይንቶሪስ ግሩም የንድፍ ገበታ ተግባራት ይጎድለዋል
  • AIDE በ android ላይ በጃቫ ውስጥ የ android ልማት ለማካሄድ ከፊል ባለሙያ IDE ነው። በ AIDE እጅግ በጣም ተጣጣፊነት አለዎት ግን ጃቫን መማር ያስፈልግዎታል። AIDE ዓመታዊ ወጪዎች ወደ 50 about ገደማ ነው

Mintoris ን መርጫለሁ። በዚህ ክፍል እኔ በሚንቶሪስ ውስጥ የፕሮግራም ማጠናከሪያ ትምህርት አልሰጥዎትም ነገር ግን የተግባር ማገጃዎች አጭር መግለጫ።

በቀጣዩ ክፍል ሶስት ድርድሮች ለሁለቱም አነፍናፊ የመረጃ መስመሮች እና ለሚመለከታቸው የጊዜ ማህተሞች ይታወቃሉ። የሰዓት ማህተሙ ውሂብ የዲያግራሙን ኤክስ-ዘንግ ለመሰየም ያገለግላል። ሶዲያው እያንዳንዳቸው ለልዩ ቅንጣት መጠን የተገለጹ ሁለት የውሂብ ዥረቶችን ያወጣል። ሁለቱ የአቧራ-ድርድር ድርድሮች እነዚህን እሴቶች ይወስዳሉ።

WakeLock ከፊል

TextColor 100 ፣ 75 ፣ 10

TextColorA 50 ፣ 50 ፣ 50

TextAlign 0

የጽሑፍ መጠን 24

CLS

ብቅ -ባይ "የአቧራ ዳሳሽ መለኪያ (ሐ) ARJ 2017"

ግሎባል አቧራ ውሂብ () ፣ dustDataF () ፣ የጊዜ ማህተም () ዓለም አቀፍ መረጃ ጠቋሚ ፣ ምርጫ ፣ maxData ፣ ፋይል ስም $

የደበዘዘ ጊዜ ማህተም (59)

ደብዛዛ አቧራ ውሂብ (59)

ደብዛዛ አቧራ ውሂብ (59)

ዲም ምናሌ $ (4) = "ከፍተኛ። 100 የውሂብ ስብስቦች" ፣ "ከፍተኛ። 1000 የውሂብ ስብስቦች" ፣ "ከፍተኛ። 5000 የውሂብ ስብስቦች" ፣ "ከፍተኛ። 10000 የውሂብ ስብስቦች" ፣ "ውጣ"

'ድርድሮችን ያስገቡ

ለ እኔ = ከ 0 እስከ 59

dustData (i) = 0

dustDataF (i) = 0

timeStamp (i) = እኔ

ቀጥሎ እኔ

በመቀጠል የዝርዝሩ ዝርዝር ተዋቅሯል። ይህ ለተጠቃሚው ለመሰብሰብ ከፍተኛውን የውሂብ መጠን ለመምረጥ ምርጫን ይሰጣል። ይህ ስማርትፎን ማለቂያ በሌለው መረጃ እንዳይጠባ ለመከላከል የደህንነት መቀየሪያ ብቻ ነው። ተግባሮቹ BTgetPaired $ () በ android መሣሪያ ፣ በስማቸው እና በ BT- አድራሻ ላይ ካሉ ሁሉም የተጣመሩ መሣሪያዎች ጋር ዝርዝር ይመልሳል።

L ist Menu $ () ፣ ምርጫ

'ውሂብ የሚከማች ከሆነ ከፍተኛውን መጠን ይምረጡ

runLevel = 1

ምርጫ ይምረጡ

መያዣ 0 maxData = 100

ጉዳይ 1 maxDate = 1000

ጉዳይ 2 maxData = 5000

መያዣ 3 maxData = 10000

ጉዳይ 4 maxData = 0

ጨርስ ይምረጡ

አነፍናፊን ያገናኙ

ደብዛዛ ጥንድ $ (0)

ጥንድ $ () = BTGetPaired $ ()

ጥንድ $ (0) = “የለም” ከዚያ

አትም "ምንም የተጣመሩ መሣሪያዎች አልተገኙም። BT በርቷል?" አትም "ፕሮግራም ተቋርጧል"

ጨርስ

Endif

የዝርዝር ጥንድ $ () ፣ የመሣሪያ $

ስም $ = ንጥል Extract $ (መሣሪያ $ ፣ 0)

አድራሻ $ = ንጥል Extract $ (መሣሪያ $ ፣ 1)

BTC አገናኝ 1 ፣ አድራሻ $

'ግንኙነትን ይጠብቁ

እድገት በርቷል

«ለመገናኘት በመሞከር ላይ» ያትሙ ፤ አድራሻ $

ለ እኔ = 1 እስከ 20

እድገት i/2

BTGetstate (1) = 4 ከሆነ ለ 1000 ይጠብቁ

ቀጥሎ እኔ

እድገት ጠፍቷል

'በስኬት ላይ ከ BT መሣሪያ ጋር ይገናኙ

BTGetState (1) = 4 ከሆነ ከዚያ «ተገናኝቷል» ሌላ ህትመት «ማገናኘት አልተቻለም» ን ያትሙ ፤ $ ን ይሰይሙ

አትም "ፕሮግራም ተቋርጧል"

ጨርስ

Endif

ቀጣዩ እገዳ የውሂብ የውሃ አቅርቦትን ያሳያል። ለእያንዳንዱ የውሂብ ክፍለ ጊዜ ፋይል በራስ -ሰር ተከፍቶ በጊዜ እና ቀን ስም ይሰየማል። ከዚያ ቀለበቱ የአነፍናፊውን ውሂብ እያነበበ ነው። ውሂቡ በበርካታ ባይት ተሞልቷል። የባይት ስብስብ በሁለት ASCII ቁምፊዎች 170 እና 171 ተለይቷል። የሚከተለው መረጃ እንደገና ተደራጅቶ ወደ አቧራ-ድርድር ተሞልቷል

ግራፊክስ በርቷል

'ለመፃፍ የውሂብ ፋይልን ይክፈቱ

fileName $ = FormatTime $ (t ፣ "yyyy-MM-dd-kk-mm-ss") + ".dat"

1 ይክፈቱ ፣ የፋይል ስም $ ፣ “w+“አትም”የተከፈተ የውሂብ ፋይል” ፤ የፋይል ስም $ Writeln 1 ፣ FormatTime $ (ሰዓት () ፣ “yy-MM-dd”)

Writeln 1 ፣ “የጊዜ አቧራ 2.5 አቧራ 10”

'በሚለካው ውሂብ ድርድርን ይሙሉ

ውሂብ $ = "" ፓኬት $ = ""

መረጃ ጠቋሚ = 0

MaxData> 0 ን ያድርጉ

BTRead 1 ፣ ፓኬት $ ፣ 10

ውሂብ $ = ውሂብ $+ፓኬት $

ሌን (ውሂብ $)> = 10 ከዚያ

ከሆነ (ASCII (ግራ $ (ውሂብ $ ፣ 1)) = 170) እና (ASCII (ቀኝ $ (ውሂብ $ ፣ 1)) = 171) ከዚያ

dustDataF (መረጃ ጠቋሚ) = ASCII (መካከለኛ $ (የውሂብ $ ፣ 2 ፣ 1))

dustDataF (መረጃ ጠቋሚ) = (dustDataF (መረጃ ጠቋሚ)+256*ASCII (መካከለኛ $ (የውሂብ $ ፣ 3 ፣ 1)))/10

dustData (መረጃ ጠቋሚ) = ASCII (መካከለኛ $ (የውሂብ $ ፣ 4 ፣ 1))

dustData (መረጃ ጠቋሚ) = (dustData (መረጃ ጠቋሚ)+256*ASCII (መካከለኛ $ (ውሂብ $ ፣ 5 ፣ 1)))/10

Writeln 1 ፣ FormatTime $ (ጊዜ () ፣ “kk: mm: ss”) +”” + Str $ (dustDataF (መረጃ ጠቋሚ)) +”” + Str $ (dustData (መረጃ ጠቋሚ))

ውሂብ $ = ""

maxData = maxData-1

መረጃ ጠቋሚ = መረጃ ጠቋሚ+1

መረጃ ጠቋሚ ከሆነ> 59 ከዚያም መረጃ ጠቋሚ = 0

dustData (መረጃ ጠቋሚ) = 0

dustDataF (መረጃ ጠቋሚ) = 0

Endif

Endif

DrawGraph ()

100 ይጠብቁ

ሉፕ

ዝጋ 1

ግራፊክስ ጠፍቷል

CLS ህትመት "ፕሮግራም ተቋርጧል"

ጨርስ

የመጨረሻው ክፍል ከእያንዳንዱ የውሂብ መቀበያ በኋላ የሚጠራ ንዑስ ክፍል ነው። እሱ ማያ ገጹን ያጸዳል ፣ በአቧራ ውስጥ በተከማቸ ትክክለኛ መረጃ ንድፉን እንደገና ይለውጣል- እና የጊዜ ማህተም ድርድር።

መጋጠሚያዎችን ፣ መለያዎችን ፣ መዥገሮችን እና እንዲሁም የውሂብ ኩርባዎችን ይሳሉ

ንዑስ DrawGraph ()

በግራፊክስ ሞድ ውስጥ ማያ ገጹ ከአሁኑ ቀለም ይጸዳል

ቀለም 0 ፣ 0 ፣ 0

CLS

ቀለም 0 ፣ 0 ፣ 100

'የፍርግርግ መስመሮችን ለመሳል የግራፊክስ ቀለሙን ያዘጋጁ

TextColor 100 ፣ 100 ፣ 100 ፣ 50

'TextColor የፍርግርግ ዋና ርዕስ ቀለም ነው

TextColorA 100 ፣ 100 ፣ 100

‹TextColorA ለአክሲስ ማዕረጎች እና ፍርግርግ ማብራሪያዎች ጥቅም ላይ ይውላል።

'የዘንግ ርዕስ ጽሑፍን መጠን ያዘጋጁ

'የፍርግርግ ዋናው ርዕስ ይህ መጠን 2x ነው

TextSize 20

FixDecimal 0

2 የአስርዮሽ ቦታዎችን ለማሳየት ተዘጋጅቷል

PadDigits 2

'ለግራፉ ፍርግርግ ይሳሉ' የ X & Y ክልል እና ርዕስ ያዘጋጁ

Axis AxisX 0, 59 ፣ "ሰዓት/ሰ"

AxisY 0, 10000 ፣ "ug/m3"

ፍርግርግ 3 ፣ “የአቧራ ክምችት”

'የአቧራ ግራፎችን ይሳሉ

ቀለም 100 ፣ 0 ፣ 0

የግራፊክስ ጊዜ ማህተም () ፣ አቧራ ውሂብ ()

ቀለም 0 ፣ 100 ፣ 0

የግራፊክስ ጊዜ ማህተም () ፣ የአቧራ ውሂብ ()

TextColor 100 ፣ 0 ፣ 0

DrawText “PM2.5” ፣ 30 ፣ Int (ScreenY ()-60) ፣ 90 ፣ 1

የጽሑፍ ቀለም 0 ፣ 100 ፣ 0

DrawText “PM10” ፣ 30 ፣ Int (ScreenY ()-150) ፣ 90 ፣ 1

TextColor 100 ፣ 100 ፣ 100 ፣ 50

ተመለስ

የምንጭ ኮዱን እዚህ ያውርዱ

ደረጃ 6: ሙከራ

Image
Image
ሙከራ
ሙከራ
ሙከራ
ሙከራ
ሙከራ
ሙከራ

አነፍናፊውን ያብሩ እና መተግበሪያውን ያስጀምሩ። ከተጣመሩ መሣሪያዎች ዝርዝር ውስጥ “ዳሳሽ” የተባለውን ይምረጡ። ዳሳሹን ካገናኙ በኋላ ማያ ገጹ ውሂቡን ማሳየት ይጀምራል። በተመሳሳይ ጊዜ የውሂብ ፋይሉ ተመድቧል። ፋሽንን ከጨረሱ በኋላ ውሂቡን ለማሳየት GnuPlot ን መጠቀም ይችላሉ። “Test.dat” የተባለ የውሂብ ፋይል ለማሳየት GnuPlot ን ለማዋቀር በ GnuPlot ውስጥ “Test.gp” የሚለውን ፋይል ይጠቀሙ። እርስዎ ጣሳዎች እዚህም ያገኙታል

ለተጨማሪ ዝርዝሮች እና ሙከራ ቪዲዮውን ይመልከቱ። ብዙ አስደሳች እና ተጨማሪ ሀሳቦች ይኑሩ!

የሚመከር: