ලාභ චීන උපාංගයකින් වැඩසටහන්ගත කළ හැකි තාර්කික පාලකයක් සාදා ගන්නේ කෙසේද යන්න පිළිබඳ ලිපියක්. එවැනි උපකරණයක් නිවසේ ස්වයංක්රීයකරණයේ මෙන්ම පාසල් පරිගණක විද්යාවේ ප්රායෝගික පන්ති ලෙසද එහි භාවිතය සොයා ගනු ඇත.
යොමුව සඳහා, පෙරනිමියෙන් Sonoff Basic වැඩසටහන චීන වලාකුළු සේවාවක් හරහා ජංගම යෙදුමක් සමඟ ක්රියා කරයි; යෝජිත වෙනස් කිරීමෙන් පසුව, මෙම උපාංගය සමඟ තවදුරටත් අන්තර්ක්රියා කළ හැක්කේ බ්රවුසරයේ ය.
I කොටස. Sonoff MGT24 සේවාවට සම්බන්ධ කිරීම
පියවර 1: පාලක පැනලයක් සාදන්න
අඩවියේ ලියාපදිංචි වන්න
පද්ධතියට පිවිසෙන්න
නව උපාංගයක් සඳහා පාලක පැනලයක් සෑදීමට, "+" බොත්තම මත ක්ලික් කරන්න.
පැනලයක් සෑදීමේ උදාහරණයක්
පැනලය සෑදූ පසු, එය ඔබගේ පැනල ලැයිස්තුවේ දිස්වනු ඇත.
සාදන ලද පැනලයේ "සැකසීම" ටැබය තුළ, "උපාංග හැඳුනුම්පත" සහ "අවසර දීමේ යතුර" ක්ෂේත්ර සොයා ගන්න; අනාගතයේදී, Sonoff උපාංගය සැකසීමේදී මෙම තොරතුරු අවශ්ය වනු ඇත.
ටැබ් උදාහරණය
පියවර 2. උපාංගය Reflash කරන්න
උපයෝගීතාව භාවිතා කිරීම
පියවර 3. උපාංග සැකසීම
උපාංගයට බලය යොදන්න, LED දැල්වීමෙන් පසු, බොත්තම ඔබා LED වරින් වර ඒකාකාරව දැල්වීමට පටන් ගන්නා තෙක් එය ඔබාගෙන සිටින්න.
මේ මොහොතේ, "PLC Sonoff Basic" නමින් නව wi-fi ජාලයක් දිස්වනු ඇත, ඔබේ පරිගණකය මෙම ජාලයට සම්බන්ධ කරන්න.
LED දර්ශකය පැහැදිලි කිරීම
LED දර්ශකය
උපාංග තත්ත්වය
ආවර්තිතා ද්විත්ව දැල්වීම
රවුටරයට සම්බන්ධයක් නැත
අඛණ්ඩව බැබළෙයි
රවුටරය සමඟ සම්බන්ධතාවය ස්ථාපිත කර ඇත
ආවර්තිතා නිල ඇඳුම දැල්වීම
wi-fi ප්රවේශ ලක්ෂ්ය මාදිලිය
නිවී ගියා
බල සැපයුමක් නැත
අන්තර්ජාල බ්රවුසරයක් විවෘත කර ලිපින තීරුවේ "192.168.4.1" පෙළ ඇතුළත් කරන්න, උපාංගයේ ජාල සැකසුම් සිටුවම් පිටුවට යන්න.
පහත සඳහන් පරිදි ක්ෂේත්ර පුරවන්න:
- "ජාල නාමය" සහ "මුරපදය" (උපාංගය ඔබගේ නිවසේ wi-fi රවුටරයට සම්බන්ධ කිරීමට).
- "උපාංග හැඳුනුම්පත" සහ "අවසර දීමේ යතුර" (MGT24 සේවාවෙහි උපාංගයට බලය පැවරීමට).
උපාංග ජාල පරාමිතීන් සැකසීමේ උදාහරණය
සැකසුම් සුරකින්න සහ උපාංගය නැවත ආරම්භ කරන්න.
එය
පියවර 4. සංවේදක සම්බන්ධ කිරීම (විකල්ප)
වත්මන් ස්ථිරාංග ds18b20 උෂ්ණත්ව සංවේදක හතරක් දක්වා සහය දක්වයි. මෙතන
II කොටස. දෘශ්ය වැඩසටහන්කරණය
පියවර 1: ස්ක්රිප්ට් සාදන්න
වැඩසටහන් පරිසරයක් ලෙස භාවිතා කරයි
මම උපාංග පරාමිතීන් ලිවීම සහ කියවීම සඳහා විශේෂිත කොටස් එකතු කළෙමි. ඕනෑම පරාමිතියක් නමෙන් ප්රවේශ වේ. දුරස්ථ උපාංගවල පරාමිතීන් සඳහා, සංයෝග නාම භාවිතා වේ: "parameter@device".
විකල්පවල පතන ලැයිස්තුව
පැටවීම (1Hz) චක්රීයව ක්රියාත්මක කිරීම සහ අක්රිය කිරීම සඳහා උදාහරණ දර්ශනය:
වෙනම උපාංග දෙකක ක්රියාකාරිත්වය සමමුහුර්ත කරන ස්ක්රිප්ට් එකක උදාහරණයක්. එනම්, ඉලක්ක උපාංගයේ රිලේ දුරස්ථ උපාංගයේ රිලේ ක්රියාකාරිත්වය නැවත සිදු කරයි.
තාප ස්ථාය සඳහා දර්ශනය (hysteresis නොමැතිව):
වඩාත් සංකීර්ණ ස්ක්රිප්ට් නිර්මාණය කිරීම සඳහා, ඔබට විචල්ය, ලූප, ශ්රිත (තර්ක සහිත) සහ වෙනත් ඉදිකිරීම් භාවිතා කළ හැක. මම මේ සියල්ල මෙහි විස්තරාත්මකව විස්තර නොකරමි; දැනටමත් අන්තර්ජාලයේ බොහෝ දේ ඇත.
පියවර 2: ස්ක්රිප්ට් අනුපිළිවෙල
තිර රචනය අඛණ්ඩව ධාවනය වන අතර, එය එහි අවසානයට ළඟා වූ වහාම එය නැවත ආරම්භ වේ. මෙම අවස්ථාවේදී, "ප්රමාද" සහ "විරාමය" යන ස්ක්රිප්ට් තාවකාලිකව විරාම කළ හැකි බ්ලොක් දෙකක් ඇත.
"ප්රමාද" වාරණ මිලි තත්පර හෝ මයික්රො තත්පර ප්රමාදයන් සඳහා භාවිතා වේ. මෙම වාරණ කාල පරතරය දැඩි ලෙස පවත්වා ගෙන යන අතර, සම්පූර්ණ උපාංගයේ ක්රියාකාරිත්වය අවහිර කරයි.
"විරාම" බ්ලොක් දෙවන (හෝ අඩු) ප්රමාදයන් සඳහා භාවිතා කරනු ලබන අතර, එය උපාංගයේ අනෙකුත් ක්රියාවලීන් ක්රියාත්මක කිරීම අවහිර නොකරයි.
ස්ක්රිප්ට් එකේම අසීමිත ලූපයක් තිබේ නම්, එහි ශරීරය “විරාමයක්” අඩංගු නොවේ නම්, පරිවර්තකයා ස්වාධීනව කෙටි විරාමයක් ආරම්භ කරයි.
වෙන් කරන ලද මතක තොගය අවසන් වී ඇත්නම්, පරිවර්තකයා එවැනි බල තෘප්තියක් සහිත ස්ක්රිප්ට් එකක් ක්රියාත්මක කිරීම නවත්වනු ඇත (පුනරාවර්තන ශ්රිතයන් සමඟ ප්රවේශම් වන්න).
පියවර 3: ස්ක්රිප්ට් නිදොස් කිරීම
දැනටමත් උපාංගය තුළට පටවා ඇති ස්ක්රිප්ට් එකක් නිදොස් කිරීම සඳහා, ඔබට පියවරෙන් පියවර ක්රමලේඛ ලුහුබැඳීමක් ක්රියාත්මක කළ හැක. පිටපතෙහි හැසිරීම කතුවරයා අදහස් කළ දෙයට වඩා වෙනස් වූ විට මෙය අතිශයින් ප්රයෝජනවත් විය හැක. මෙම අවස්ථාවෙහිදී, ලුහුබැඳීම මඟින් කතුවරයාට ගැටලුවේ මූලාශ්රය ඉක්මනින් සොයා ගැනීමට සහ ස්ක්රිප්ටයේ දෝෂය නිවැරදි කිරීමට ඉඩ සලසයි.
දෝශ නිරාකරණ ප්රකාරයේදී සාධක ගණනය කිරීමේ අවස්ථාව:
නිදොස් කිරීමේ මෙවලම ඉතා සරල වන අතර ප්රධාන බොත්තම් තුනකින් සමන්විත වේ: "ආරම්භය", "එක් පියවරක් ඉදිරියට" සහ "නැවතුම්" ("ඇතුල් කරන්න" සහ "පිටවීම" නිදොස් කිරීමේ මාදිලිය ගැනද අමතක නොකරමු). පියවරෙන් පියවර ලුහුබැඳීමට අමතරව, ඔබට ඕනෑම බ්ලොක් එකක (බ්ලොක් එක මත ක්ලික් කිරීමෙන්) කඩඉමක් සැකසිය හැක.
මොනිටරයේ පරාමිතිවල (සංවේදක, රිලේ) වත්මන් අගයන් පෙන්වීමට, "මුද්රණ" කොටස භාවිතා කරන්න.
එය
කුතුහලයෙන් සිටින අය සඳහා කොටස. තොප්පිය යට ඇත්තේ කුමක්ද?
ඉලක්කගත උපාංගය මත ස්ක්රිප්ට් ක්රියා කිරීම සඳහා, බයිට්කේත පරිවර්තකයක් සහ උපදෙස් 38ක් සහිත එකලස් කරන්නෙකු සංවර්ධනය කරන ලදී. බ්ලොක්ලිගේ මූල කේතයේ විශේෂිත කේත උත්පාදක යන්ත්රයක් ගොඩනගා ඇති අතර එය දෘශ්ය කුට්ටි එකලස් කිරීමේ උපදෙස් බවට පරිවර්තනය කරයි. පසුව, මෙම එකලස් කිරීමේ වැඩසටහන bytecode බවට පරිවර්තනය කර ක්රියාත්මක කිරීම සඳහා උපාංගය වෙත මාරු කරනු ලැබේ.
මෙම අථත්ය යන්ත්රයේ ගෘහ නිර්මාණ ශිල්පය තරමක් සරල වන අතර එය විස්තර කිරීමේ විශේෂ කරුණක් නොමැත; අන්තර්ජාලයේ ඔබට සරලම අථත්ය යන්ත්ර සැලසුම් කිරීම පිළිබඳ බොහෝ ලිපි සොයාගත හැකිය.
මම සාමාන්යයෙන් මගේ අතථ්ය යන්ත්රයේ තොගය සඳහා බයිට් 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
නිරූපණයේ එකලස් කිරීමේ ආකෘතියට ප්රායෝගික වටිනාකමක් නොමැති නම්, “javascrit” ටැබය, ඊට පටහැනිව, දෘශ්ය කොටස් වලට වඩා හුරුපුරුදු පෙනුමක් ලබා දෙයි:
function factorial(num) {
if (num > 1) {
return num + factorial(num - 1);
}
return 1;
}
window.alert(factorial(10));
කාර්ය සාධනය සම්බන්ධයෙන්. මම සරලම ෆ්ලෑෂර් ස්ක්රිප්ට් එක ධාවනය කළ විට, මට දෝලනය වන තිරය මත 47 kHz වර්ග තරංගයක් ලැබුණි (ප්රොසෙසර ඔරලෝසුවේ වේගය 80 MHz).
මම හිතන්නේ මෙය හොඳ ප්රති result ලයක්, අවම වශයෙන් මෙම වේගය වඩා දස ගුණයකින් වේගවත් වේ
අවසාන කොටස
සාරාංශගත කිරීම සඳහා, ස්ක්රිප්ට් භාවිතය අපට වෙනම උපාංගයක ක්රියාකාරිත්වයේ තර්කනය වැඩසටහන්ගත කිරීමට පමණක් නොව, උපාංග කිහිපයක් තනි යාන්ත්රණයකට සම්බන්ධ කිරීමට ද ඉඩ සලසයි, එහිදී සමහර උපාංග අනෙක් අයගේ හැසිරීමට බලපායි.
තෝරාගත් ස්ක්රිප්ට් ගබඩා කිරීමේ ක්රමය (සෘජුවම උපාංගවල මිස සේවාදායකයේ නොවේ) දැනටමත් ක්රියාත්මක වන උපාංග වෙනත් සේවාදායකයකට මාරු කිරීම සරල කරන බව මම සටහන් කරමි, උදාහරණයක් ලෙස නිවසේ රාස්ප්බෙරි වෙත.
එපමණයි, උපදෙස් සහ නිර්මාණාත්මක විවේචන ඇසීමට මම සතුටු වෙමි.
මූලාශ්රය: www.habr.com