Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය
ලාභ චීන උපාංගයකින් වැඩසටහන්ගත කළ හැකි තාර්කික පාලකයක් සාදා ගන්නේ කෙසේද යන්න පිළිබඳ ලිපියක්. එවැනි උපකරණයක් නිවසේ ස්වයංක්‍රීයකරණයේ මෙන්ම පාසල් පරිගණක විද්‍යාවේ ප්‍රායෝගික පන්ති ලෙසද එහි භාවිතය සොයා ගනු ඇත.
යොමුව සඳහා, පෙරනිමියෙන් Sonoff Basic වැඩසටහන චීන වලාකුළු සේවාවක් හරහා ජංගම යෙදුමක් සමඟ ක්‍රියා කරයි; යෝජිත වෙනස් කිරීමෙන් පසුව, මෙම උපාංගය සමඟ තවදුරටත් අන්තර්ක්‍රියා කළ හැක්කේ බ්‍රවුසරයේ ය.

I කොටස. Sonoff MGT24 සේවාවට සම්බන්ධ කිරීම

පියවර 1: පාලක පැනලයක් සාදන්න

අඩවියේ ලියාපදිංචි වන්න mgt24 (දැනටමත් ලියාපදිංචි වී නොමැති නම්) සහ ඔබගේ ගිණුම භාවිතා කර ලොග් වන්න.
පද්ධතියට පිවිසෙන්නSonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

නව උපාංගයක් සඳහා පාලක පැනලයක් සෑදීමට, "+" බොත්තම මත ක්ලික් කරන්න.
පැනලයක් සෑදීමේ උදාහරණයක්Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

පැනලය සෑදූ පසු, එය ඔබගේ පැනල ලැයිස්තුවේ දිස්වනු ඇත.

සාදන ලද පැනලයේ "සැකසීම" ටැබය තුළ, "උපාංග හැඳුනුම්පත" සහ "අවසර දීමේ යතුර" ක්ෂේත්ර සොයා ගන්න; අනාගතයේදී, Sonoff උපාංගය සැකසීමේදී මෙම තොරතුරු අවශ්ය වනු ඇත.
ටැබ් උදාහරණයSonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

පියවර 2. උපාංගය Reflash කරන්න

උපයෝගීතාව භාවිතා කිරීම XTCOM_UTIL ස්ථිරාංග බාගත කරන්න පීඑල්සී සොනොෆ් මූලික උපාංගය වෙත, මේ සඳහා ඔබට USB-TTL පරිවර්තකයක් අවශ්ය වනු ඇත. මෙතන අත්පොත и වීඩියෝ උපදෙස්.

පියවර 3. උපාංග සැකසීම

උපාංගයට බලය යොදන්න, LED දැල්වීමෙන් පසු, බොත්තම ඔබා LED වරින් වර ඒකාකාරව දැල්වීමට පටන් ගන්නා තෙක් එය ඔබාගෙන සිටින්න.
මේ මොහොතේ, "PLC Sonoff Basic" නමින් නව wi-fi ජාලයක් දිස්වනු ඇත, ඔබේ පරිගණකය මෙම ජාලයට සම්බන්ධ කරන්න.
LED දර්ශකය පැහැදිලි කිරීම

LED දර්ශකය
උපාංග තත්ත්වය

ආවර්තිතා ද්විත්ව දැල්වීම
රවුටරයට සම්බන්ධයක් නැත

අඛණ්ඩව බැබළෙයි
රවුටරය සමඟ සම්බන්ධතාවය ස්ථාපිත කර ඇත

ආවර්තිතා නිල ඇඳුම දැල්වීම
wi-fi ප්රවේශ ලක්ෂ්ය මාදිලිය

නිවී ගියා
බල සැපයුමක් නැත

අන්තර්ජාල බ්රවුසරයක් විවෘත කර ලිපින තීරුවේ "192.168.4.1" පෙළ ඇතුළත් කරන්න, උපාංගයේ ජාල සැකසුම් සිටුවම් පිටුවට යන්න.

පහත සඳහන් පරිදි ක්ෂේත්ර පුරවන්න:

  • "ජාල නාමය" සහ "මුරපදය" (උපාංගය ඔබගේ නිවසේ wi-fi රවුටරයට සම්බන්ධ කිරීමට).
  • "උපාංග හැඳුනුම්පත" සහ "අවසර දීමේ යතුර" (MGT24 සේවාවෙහි උපාංගයට බලය පැවරීමට).

උපාංග ජාල පරාමිතීන් සැකසීමේ උදාහරණයSonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

සැකසුම් සුරකින්න සහ උපාංගය නැවත ආරම්භ කරන්න.
එය වීඩියෝ උපදෙස්.

පියවර 4. සංවේදක සම්බන්ධ කිරීම (විකල්ප)

වත්මන් ස්ථිරාංග ds18b20 උෂ්ණත්ව සංවේදක හතරක් දක්වා සහය දක්වයි. මෙතන වීඩියෝ උපදෙස් සංවේදක ස්ථාපනය සඳහා. පෙනෙන විදිහට, මෙම පියවර වඩාත් දුෂ්කර වනු ඇත, එය සෘජු ආයුධ සහ පෑස්සුම් යකඩ අවශ්ය වනු ඇත.

II කොටස. දෘශ්ය වැඩසටහන්කරණය

පියවර 1: ස්ක්‍රිප්ට් සාදන්න

වැඩසටහන් පරිසරයක් ලෙස භාවිතා කරයි අවහිරයකින්, පරිසරය ඉගෙන ගැනීමට පහසුය, එබැවින් සරල ස්ක්‍රිප්ට් නිර්මාණය කිරීමට ඔබ ක්‍රමලේඛකයෙකු වීමට අවශ්‍ය නොවේ.

මම උපාංග පරාමිතීන් ලිවීම සහ කියවීම සඳහා විශේෂිත කොටස් එකතු කළෙමි. ඕනෑම පරාමිතියක් නමෙන් ප්‍රවේශ වේ. දුරස්ථ උපාංගවල පරාමිතීන් සඳහා, සංයෝග නාම භාවිතා වේ: "parameter@device".
විකල්පවල පතන ලැයිස්තුවSonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

පැටවීම (1Hz) චක්‍රීයව ක්‍රියාත්මක කිරීම සහ අක්‍රිය කිරීම සඳහා උදාහරණ දර්ශනය:
Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

වෙනම උපාංග දෙකක ක්‍රියාකාරිත්වය සමමුහුර්ත කරන ස්ක්‍රිප්ට් එකක උදාහරණයක්. එනම්, ඉලක්ක උපාංගයේ රිලේ දුරස්ථ උපාංගයේ රිලේ ක්‍රියාකාරිත්වය නැවත සිදු කරයි.
Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

තාප ස්ථාය සඳහා දර්ශනය (hysteresis නොමැතිව):
Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

වඩාත් සංකීර්ණ ස්ක්‍රිප්ට් නිර්මාණය කිරීම සඳහා, ඔබට විචල්‍ය, ලූප, ශ්‍රිත (තර්ක සහිත) සහ වෙනත් ඉදිකිරීම් භාවිතා කළ හැක. මම මේ සියල්ල මෙහි විස්තරාත්මකව විස්තර නොකරමි; දැනටමත් අන්තර්ජාලයේ බොහෝ දේ ඇත. Blockly පිළිබඳ අධ්යාපනික ද්රව්ය.

පියවර 2: ස්ක්‍රිප්ට් අනුපිළිවෙල

තිර රචනය අඛණ්ඩව ධාවනය වන අතර, එය එහි අවසානයට ළඟා වූ වහාම එය නැවත ආරම්භ වේ. මෙම අවස්ථාවේදී, "ප්රමාද" සහ "විරාමය" යන ස්ක්රිප්ට් තාවකාලිකව විරාම කළ හැකි බ්ලොක් දෙකක් ඇත.
"ප්රමාද" වාරණ මිලි තත්පර හෝ මයික්රො තත්පර ප්රමාදයන් සඳහා භාවිතා වේ. මෙම වාරණ කාල පරතරය දැඩි ලෙස පවත්වා ගෙන යන අතර, සම්පූර්ණ උපාංගයේ ක්රියාකාරිත්වය අවහිර කරයි.
"විරාම" බ්ලොක් දෙවන (හෝ අඩු) ප්රමාදයන් සඳහා භාවිතා කරනු ලබන අතර, එය උපාංගයේ අනෙකුත් ක්රියාවලීන් ක්රියාත්මක කිරීම අවහිර නොකරයි.
ස්ක්‍රිප්ට් එකේම අසීමිත ලූපයක් තිබේ නම්, එහි ශරීරය “විරාමයක්” අඩංගු නොවේ නම්, පරිවර්තකයා ස්වාධීනව කෙටි විරාමයක් ආරම්භ කරයි.
වෙන් කරන ලද මතක තොගය අවසන් වී ඇත්නම්, පරිවර්තකයා එවැනි බල තෘප්තියක් සහිත ස්ක්‍රිප්ට් එකක් ක්‍රියාත්මක කිරීම නවත්වනු ඇත (පුනරාවර්තන ශ්‍රිතයන් සමඟ ප්‍රවේශම් වන්න).

පියවර 3: ස්ක්‍රිප්ට් නිදොස් කිරීම

දැනටමත් උපාංගය තුළට පටවා ඇති ස්ක්‍රිප්ට් එකක් නිදොස් කිරීම සඳහා, ඔබට පියවරෙන් පියවර ක්‍රමලේඛ ලුහුබැඳීමක් ක්‍රියාත්මක කළ හැක. පිටපතෙහි හැසිරීම කතුවරයා අදහස් කළ දෙයට වඩා වෙනස් වූ විට මෙය අතිශයින් ප්‍රයෝජනවත් විය හැක. මෙම අවස්ථාවෙහිදී, ලුහුබැඳීම මඟින් කතුවරයාට ගැටලුවේ මූලාශ්‍රය ඉක්මනින් සොයා ගැනීමට සහ ස්ක්‍රිප්ටයේ දෝෂය නිවැරදි කිරීමට ඉඩ සලසයි.

දෝශ නිරාකරණ ප්‍රකාරයේදී සාධක ගණනය කිරීමේ අවස්ථාව:
Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

නිදොස් කිරීමේ මෙවලම ඉතා සරල වන අතර ප්‍රධාන බොත්තම් තුනකින් සමන්විත වේ: "ආරම්භය", "එක් පියවරක් ඉදිරියට" සහ "නැවතුම්" ("ඇතුල් කරන්න" සහ "පිටවීම" නිදොස් කිරීමේ මාදිලිය ගැනද අමතක නොකරමු). පියවරෙන් පියවර ලුහුබැඳීමට අමතරව, ඔබට ඕනෑම බ්ලොක් එකක (බ්ලොක් එක මත ක්ලික් කිරීමෙන්) කඩඉමක් සැකසිය හැක.
මොනිටරයේ පරාමිතිවල (සංවේදක, රිලේ) වත්මන් අගයන් පෙන්වීමට, "මුද්රණ" කොටස භාවිතා කරන්න.
එය දළ විශ්ලේෂණය වීඩියෝව නිදොස්කරණය භාවිතා කිරීම ගැන.

කුතුහලයෙන් සිටින අය සඳහා කොටස. තොප්පිය යට ඇත්තේ කුමක්ද?

ඉලක්කගත උපාංගය මත ස්ක්‍රිප්ට් ක්‍රියා කිරීම සඳහා, බයිට්කේත පරිවර්තකයක් සහ උපදෙස් 38ක් සහිත එකලස් කරන්නෙකු සංවර්ධනය කරන ලදී. බ්ලොක්ලිගේ මූල කේතයේ විශේෂිත කේත උත්පාදක යන්ත්‍රයක් ගොඩනගා ඇති අතර එය දෘශ්‍ය කුට්ටි එකලස් කිරීමේ උපදෙස් බවට පරිවර්තනය කරයි. පසුව, මෙම එකලස් කිරීමේ වැඩසටහන bytecode බවට පරිවර්තනය කර ක්රියාත්මක කිරීම සඳහා උපාංගය වෙත මාරු කරනු ලැබේ.
මෙම අථත්‍ය යන්ත්‍රයේ ගෘහ නිර්මාණ ශිල්පය තරමක් සරල වන අතර එය විස්තර කිරීමේ විශේෂ කරුණක් නොමැත; අන්තර්ජාලයේ ඔබට සරලම අථත්‍ය යන්ත්‍ර සැලසුම් කිරීම පිළිබඳ බොහෝ ලිපි සොයාගත හැකිය.
මම සාමාන්‍යයෙන් මගේ අතථ්‍ය යන්ත්‍රයේ තොගය සඳහා බයිට් 1000ක් වෙන් කරමි, එය ඉතිරි කිරීමට ප්‍රමාණවත් වේ. ඇත්ත වශයෙන්ම, ගැඹුරු පුනරාවර්තනයන් ඕනෑම තොගයක් අවසන් කළ හැකිය, නමුත් ඒවායින් ප්‍රායෝගික භාවිතයක් තිබිය නොහැක.

ප්‍රතිඵලයක් ලෙස ලැබෙන බයිට්කේතය තරමක් සංයුක්ත වේ. උදාහරණයක් ලෙස, එකම සාධකය ගණනය කිරීම සඳහා බයිට් කේතය බයිට් 49 ක් පමණි. එහි දෘශ්‍ය ස්වරූපය මෙයයි.
Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය

මෙය ඔහුගේ එකලස් කිරීමේ වැඩසටහනයි:

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

නිරූපණයේ එකලස් කිරීමේ ආකෘතියට ප්‍රායෝගික වටිනාකමක් නොමැති නම්, “javascrit” ටැබය, ඊට පටහැනිව, දෘශ්‍ය කොටස් වලට වඩා හුරුපුරුදු පෙනුමක් ලබා දෙයි:

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

window.alert(factorial(10));

කාර්ය සාධනය සම්බන්ධයෙන්. මම සරලම ෆ්ලෑෂර් ස්ක්‍රිප්ට් එක ධාවනය කළ විට, මට දෝලනය වන තිරය මත 47 kHz වර්ග තරංගයක් ලැබුණි (ප්‍රොසෙසර ඔරලෝසුවේ වේගය 80 MHz).
Sonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණයSonoff Basic සඳහා දෘශ්‍ය වැඩසටහන්කරණය
මම හිතන්නේ මෙය හොඳ ප්‍රති result ලයක්, අවම වශයෙන් මෙම වේගය වඩා දස ගුණයකින් වේගවත් වේ ගත и Espruino.

අවසාන කොටස

සාරාංශගත කිරීම සඳහා, ස්ක්‍රිප්ට් භාවිතය අපට වෙනම උපාංගයක ක්‍රියාකාරිත්වයේ තර්කනය වැඩසටහන්ගත කිරීමට පමණක් නොව, උපාංග කිහිපයක් තනි යාන්ත්‍රණයකට සම්බන්ධ කිරීමට ද ඉඩ සලසයි, එහිදී සමහර උපාංග අනෙක් අයගේ හැසිරීමට බලපායි.
තෝරාගත් ස්ක්‍රිප්ට් ගබඩා කිරීමේ ක්‍රමය (සෘජුවම උපාංගවල මිස සේවාදායකයේ නොවේ) දැනටමත් ක්‍රියාත්මක වන උපාංග වෙනත් සේවාදායකයකට මාරු කිරීම සරල කරන බව මම සටහන් කරමි, උදාහරණයක් ලෙස නිවසේ රාස්ප්බෙරි වෙත. අත්පොත.

එපමණයි, උපදෙස් සහ නිර්මාණාත්මක විවේචන ඇසීමට මම සතුටු වෙමි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න