ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ
ከቻይንኛ ርካሽ መሣሪያ በፕሮግራም የሚሠራ አመክንዮ መቆጣጠሪያን እንዴት መፍጠር እንደሚቻል ጽሑፍ። እንዲህ ዓይነቱ መሣሪያ አፕሊኬሽኑን በቤት ውስጥ አውቶማቲክ እና በትምህርት ቤት ኮምፒዩተር ሳይንስ ውስጥ እንደ ተግባራዊ ልምምዶች ያገኛል ።
ለማጣቀሻ ፣ በነባሪ ፣ የ Sonoff Basic ፕሮግራም በቻይንኛ የደመና አገልግሎት በኩል ከሞባይል መተግበሪያ ጋር ይሰራል ፣ ከታቀደው ለውጥ በኋላ ፣ ሁሉም ከዚህ መሣሪያ ጋር ተጨማሪ መስተጋብር በአሳሹ ውስጥ የሚቻል ይሆናል።

ክፍል I Sonoffን ከ MGT24 አገልግሎት ጋር በማገናኘት ላይ

ደረጃ 1. የቁጥጥር ፓነል ይፍጠሩ

በጣቢያው ላይ ይመዝገቡ mgt24 (ቀድሞውኑ ካልተመዘገበ) እና በመለያዎ ይግቡ።
ግባቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

ለአዲስ መሣሪያ የቁጥጥር ፓነል ለመፍጠር የ"+" ቁልፍን ጠቅ ያድርጉ።
የፓነል መፍጠር ምሳሌቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

አንዴ ፓነል ከተፈጠረ በኋላ በፓነልዎ ዝርዝር ውስጥ ይታያል.

በተፈጠረው ፓነል "መጫኛ" ትር ውስጥ "የመሳሪያ መታወቂያ" እና "የፍቃድ ቁልፍ" መስኮችን ያግኙ, ለወደፊቱ, የሶኖፍ መሳሪያውን ሲያዋቅሩ ይህ መረጃ ያስፈልጋል.
የትር ምሳሌቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

ደረጃ 2. መሣሪያውን በማብራት ላይ

መገልገያውን መጠቀም XTCOM_UTIL firmware አውርድ ሶኖፍ ቤዚክ ኃ.የተ.የግ.ማ ወደ መሳሪያው ውስጥ, ለዚህ የዩኤስቢ-TTL መቀየሪያ ያስፈልግዎታል. እዚህ መመሪያ и የቪዲዮ መመሪያ.

ደረጃ 3. የመሣሪያ ቅንብር

በመሳሪያው ላይ ሃይል, የ LED መብራት ካበራ በኋላ, አዝራሩን ይጫኑ እና ኤልኢዲው በየጊዜው መብረቅ እስኪጀምር ድረስ ይጫኑት.
በዚህ ጊዜ, "PLC Sonoff Basic" የሚባል አዲስ የ wi-fi አውታረ መረብ ይመጣል, ኮምፒተርዎን ከዚህ አውታረ መረብ ጋር ያገናኙት.
የ LED ማመላከቻን መለየት

የ LED ምልክት
የመሣሪያ ሁኔታ

የሚቆራረጥ ድርብ ብልጭታ
ከ ራውተር ጋር ምንም ግንኙነት የለም

ያለማቋረጥ ያበራል።
ከ ራውተር ጋር የተገናኘ ግንኙነት

የማያቋርጥ ብልጭታ
መገናኛ ነጥብ የ wifi ሁነታ

ጠፍቷል
የኃይል አቅርቦት የለም።

የበይነመረብ አሳሽ ይክፈቱ እና "192.168.4.1" የሚለውን ጽሑፍ በአድራሻ አሞሌው ውስጥ ያስገቡ, ወደ መሳሪያው የአውታረ መረብ ቅንብሮች ገጽ ይሂዱ.

መስኮቹን እንደሚከተለው ይሙሉ።

  • "የአውታረ መረብ ስም" እና "የይለፍ ቃል" (መሣሪያውን ከቤት ዋይ ፋይ ራውተር ጋር ለማገናኘት).
  • "የመሣሪያ መታወቂያ" እና "የፍቃድ ቁልፍ" (መሣሪያውን በMGT24 አገልግሎት ላይ ለመፍቀድ)።

የማሽኑን የአውታረ መረብ መቼቶች የማዋቀር ምሳሌቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

ቅንብሮችዎን ያስቀምጡ እና መሣሪያዎን እንደገና ያስነሱ።
ይህ ነው የቪዲዮ መመሪያ.

ደረጃ 4 ዳሳሾችን ያገናኙ (አማራጭ)

የአሁኑ firmware እስከ አራት ds18b20 የሙቀት ዳሳሾችን ይደግፋል። እዚህ የቪዲዮ መመሪያ ለዳሳሽ መጫኛ. በግልጽ ለማየት እንደሚቻለው, ይህ እርምጃ በጣም ከባድ ይሆናል, ምክንያቱም ቀጥተኛ ክንዶች እና ከእርስዎ የሚሸጥ ብረት ያስፈልገዋል.

ክፍል II. ምስላዊ ፕሮግራሚንግ

ደረጃ 1. ስክሪፕት ማድረግ

እንደ ፕሮግራሚንግ አካባቢ ጥቅም ላይ ይውላል አግድ, አካባቢው ለመማር ቀላል ነው, ስለዚህ ቀላል ስክሪፕቶችን ለመፍጠር ፕሮግራመር መሆን አያስፈልግዎትም.

የመሳሪያ መለኪያዎችን ለመጻፍ እና ለማንበብ ልዩ ብሎኮችን ጨምሬያለሁ። ማንኛውም ግቤት በስም ይደርሳል። ለርቀት መሣሪያዎች መለኪያዎች፣ የተዋሃዱ ስሞች ጥቅም ላይ ይውላሉ፡ "parameter@device"።
ተቆልቋይ የአማራጮች ዝርዝርቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

ጭነቱን ማብራት እና ማጥፋት (1 ኸርዝ) በብስክሌት የመንዳት ሁኔታ ምሳሌ፡-
ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

የሁለት የተለያዩ መሣሪያዎችን አሠራር የሚያመሳስል የስክሪፕት ምሳሌ። ይኸውም የታለመው መሣሪያ ቅብብሎሽ የርቀት መሳሪያውን የማስተላለፊያ አሠራር ይደግማል.
ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

የቴርሞስታት ሁኔታ (ያለ ጅብ)፡
ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

የበለጠ ውስብስብ ስክሪፕቶችን ለመፍጠር ተለዋዋጮችን ፣ loopsን ፣ ተግባራትን (ከክርክር ጋር) እና ሌሎች ግንባታዎችን መጠቀም ይችላሉ። እዚህ ይህንን ሁሉ በዝርዝር አልገልጽም ፣ ቀድሞውኑ በአውታረ መረቡ ላይ ብዙ አሉ። ስለ Blockly የመማሪያ ቁሳቁስ.

ደረጃ 2. የስክሪፕቶች አፈፃፀም ቅደም ተከተል

ስክሪፕቱ ያለማቋረጥ ይሰራል፣ እና ልክ መጨረሻው ላይ እንደደረሰ፣ እንደገና ይጀምራል። በዚህ አጋጣሚ ስክሪፕቱን ለጊዜው ሊያቆሙ የሚችሉ ሁለት ብሎኮች አሉ፣ “ዘገየ” እና “ለአፍታ አቁም”።
"መዘግየት" ብሎክ ለሚሊሰከንድ ወይም ለማይክሮ ሰከንድ መዘግየቶች ጥቅም ላይ ይውላል። ይህ እገዳ የጊዜ ክፍተቱን በጥብቅ ይጠብቃል, የሙሉውን መሳሪያ አሠራር ያግዳል.
የ "አፍታ ማቆም" እገዳው ለሴኮንዶች (ምናልባት ያነሰ) መዘግየቶች ጥቅም ላይ ይውላል, እና በመሳሪያው ውስጥ ያሉትን ሌሎች ሂደቶችን አያግድም.
ስክሪፕቱ በራሱ ውስጥ ማለቂያ የሌለው ዑደት ከያዘ፣ በሰውነት ውስጥ "ለአፍታ ማቆም" በሌለበት፣ አስተርጓሚው በራሱ ትንሽ ለአፍታ ማቆም ይጀምራል።
የተመደበው የማህደረ ትውስታ ቁልል ካለቀ፣ አስተርጓሚው የእንደዚህ አይነት ቮራቲክ ስክሪፕት መፈጸሙን ያቆማል (በተደጋጋሚ ተግባራት ይጠንቀቁ)።

ደረጃ 3 ስክሪፕቶችን ማረም

ቀደም ሲል በመሳሪያው ላይ የተጫነን ስክሪፕት ለማረም ፕሮግራሙን ደረጃ በደረጃ መከታተል መጀመር ይችላሉ። የስክሪፕቱ ባህሪ ደራሲው ያሰበው ካልሆነ ይህ እጅግ በጣም ጠቃሚ ሊሆን ይችላል። በዚህ አጋጣሚ ፍለጋው ደራሲው የችግሩን ምንጭ በፍጥነት እንዲያገኝ እና በስክሪፕቱ ውስጥ ያለውን ስህተት እንዲያስተካክል ያስችለዋል።

የፋብሪካ ስሌት ስክሪፕት በማረም ሁነታ፡-
ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

የማረም መሳሪያው በጣም ቀላል እና ሶስት ዋና አዝራሮችን ያካትታል: "ጀምር", "አንድ እርምጃ ወደፊት" እና "አቁም" (ስለ "አስገባ" እና "መውጣት" ማረም ሁነታን አትርሳ). ደረጃ በደረጃ ከመፈለግ በተጨማሪ በማንኛውም ብሎክ ላይ (በመዳፊት ማገጃውን ጠቅ በማድረግ) መግቻ ነጥብ ማዘጋጀት ይችላሉ ።
የአሁኑን የመለኪያዎች (ዳሳሾች ፣ ሪሌይሎች) በተቆጣጣሪው ላይ ለማሳየት የ “ህትመት” ብሎክን ይጠቀሙ።
ይህ ነው አጠቃላይ እይታ ቪዲዮ አራሚውን ስለመጠቀም.

የማወቅ ጉጉት ያለው ክፍል። እና ከሽፋኑ ስር ያለው ምንድን ነው?

ስክሪፕቶቹ በታለመው መሣሪያ ላይ እንዲሰሩ፣ የባይቴኮድ አስተርጓሚ እና ለ38 መመሪያዎች ሰብሳቢ ተዘጋጅተዋል። ልዩ ኮድ ጄኔሬተር በብሎክ ምንጭ ኮድ ውስጥ ተገንብቷል፣ ይህም ምስላዊ ብሎኮችን ወደ ሰብሳቢ መመሪያ ይለውጣል። ለወደፊት ይህ የመሰብሰቢያ ፕሮግራም ወደ ባይትኮድ ተቀይሮ ወደ መሳሪያው ተላልፏል።
የዚህ ምናባዊ ማሽን አርክቴክቸር በጣም ቀላል ነው እና እሱን ለመግለፅ ምንም ፋይዳ የለውም, በጣም ቀላል የሆኑትን ምናባዊ ማሽኖችን ስለመቅረጽ በኔትወርኩ ላይ ብዙ መጣጥፎችን ያገኛሉ.
በምናባዊ ማሽኑ ቁልል ስር 1000 ባይት እመድባለሁ፣ ይህ ከህዳግ ጋር በቂ ነው። እርግጥ ነው፣ ጥልቅ ድግግሞሾች ማንኛውንም መደራረብ ሊያሟጥጡ ይችላሉ፣ ግን ተግባራዊ ሊሆኑ አይችሉም።

የተገኘው ባይትኮድ በጣም የታመቀ ነው። እንደ ምሳሌ, ተመሳሳዩን ፋብሪካን ለማስላት ባይትኮድ 49 ባይት ብቻ ነው. ይህ ምስላዊ አቀራረብ ፎርሙ ነው፡-
ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ

እና ይህ የእሱ ሰብሳቢ ፕሮግራም ነው-

shift -1
ldi 10
call factorial, 1
print
exit
:factorial
ld_arg 0
ldi 1
gt
je 8
ld_arg 0
ld_arg 0
ldi 1
sub
call factorial, 1
mul
ret
ldi 1
ret

ሰብሳቢው የዝግጅት አቀራረብ ምንም ተግባራዊ ዋጋ ከሌለው ፣ “ጃቫስክሪፕት” ትሩ ፣ በተቃራኒው ፣ ከእይታ ብሎኮች የበለጠ የታወቀ እይታ ይሰጣል ።

function factorial(num) {
  if (num > 1) {
    return num + factorial(num - 1);
  }
  return 1;
}

window.alert(factorial(10));

አፈጻጸምን በተመለከተ. በጣም ቀላሉን የፍላሽ ስክሪፕት ስታስኬድ፣ በ oscilloscope ስክሪን ላይ፣ 47 kHz meander (በፕሮሰሰር ሰዓት ፍጥነት 80 ሜኸር) አገኘሁ።
ቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊቪዥዋል ፕሮግራሚንግ ለሶኖፍ መሰረታዊ
ይህንን እንደ ጥሩ ውጤት እቆጥረዋለሁ ፣ ቢያንስ ይህ ፍጥነት ከ XNUMX ጊዜ ያህል ፈጣን ነው። መውሰድ и እስፕሩኖ.

የመጨረሻ ክፍል

ማጠቃለያ, እኔ ስክሪፕቶች አጠቃቀም በአንድ መሣሪያ ላይ ያለውን አሠራር ያለውን አመክንዮ ፕሮግራም ይፈቅዳል, ነገር ግን ደግሞ የሚቻል አንድ መሣሪያ የሌሎችን ባህሪ ላይ ተጽዕኖ የት በርካታ መሣሪያዎችን ማገናኘት ያደርጋል.
እኔ ደግሞ የተመረጠው መንገድ ስክሪፕቶችን ለማከማቸት (በቀጥታ በመሳሪያዎቹ ውስጥ እንጂ በአገልጋዩ ላይ አይደለም) ቀድሞውኑ የሚሰሩ መሳሪያዎችን ወደ ሌላ አገልጋይ ለምሳሌ ወደ የቤት Raspberry ፣ እዚህ መቀየርን ያቃልላል። መመሪያ.

ያ ብቻ ነው ምክር እና ገንቢ ትችት በመስማቴ ደስ ይለኛል።

ምንጭ: hab.com

አስተያየት ያክሉ