αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic
αž’αžαŸ’αžαž”αž‘αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαžŠαŸ‚αž›αž’αžΆαž…αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžΆαž“αž–αžΈαž§αž”αž€αžšαžŽαŸαž…αž·αž“αžŠαŸ‚αž›αž˜αžΆαž“αžαŸ†αž›αŸƒαžαŸ„αž€αŸ” αž§αž”αž€αžšαžŽαŸαž”αŸ‚αž”αž“αŸαŸ‡αž“αžΉαž„αžšαž€αžƒαžΎαž‰αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αžœαžΆαž‘αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸ…αž•αŸ’αž‘αŸ‡ αž“αž·αž„αž‡αžΆαžαŸ’αž“αžΆαž€αŸ‹αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αžŸαžΆαž›αžΆαŸ”
αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αžΆαž―αž€αžŸαžΆαžšαž™αŸ„αž„ αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Sonoff Basic αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžαžΆαž˜αžšαž™αŸˆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž–αž–αž€αžšαž”αžŸαŸ‹αž…αž·αž“ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αžšαžΆαž›αŸ‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαž“αŸαŸ‡αž“αžΉαž„αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αŸ”

αž•αŸ’αž“αŸ‚αž€ I. αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹ Sonoff αž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ MGT24

αž‡αŸ†αž αžΆαž“αž‘αžΈ 1: αž”αž„αŸ’αž€αžΎαžαž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆ

αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš mgt24 (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž‘αžΆαž“αŸ‹αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡) αž αžΎαž™αž…αžΌαž›αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”
αž…αžΌαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαžαŸ’αž˜αžΈ αž…αž»αž…αž›αžΎαž”αŸŠαžΌαžαž»αž„ β€œ+” αŸ”
αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αž“αŸ’αž‘αŸ‡αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αž“αŸ’αž‘αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αžœαžΆαž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž”αž“αŸ’αž‘αŸ‡αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„ "αžŠαŸ†αž‘αžΎαž„" αž“αŸƒαž”αž“αŸ’αž‘αŸ‡αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αžŸαžΌαž˜αžŸαŸ’αžœαŸ‚αž„αžšαž€αžœαžΆαž› "αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž§αž”αž€αžšαžŽαŸ" αž“αž·αž„ "αžŸαŸ„αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž" αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž αž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž§αž”αž€αžšαžŽαŸ Sonoff αŸ”
αž§αž‘αžΆαž αžšαžŽαŸαž•αŸ’αž‘αžΆαŸ†αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic

αž‡αŸ†αž αžΆαž“ 2. αž’αŸ’αžœαžΎαž±αŸ’αž™αž§αž”αž€αžšαžŽαŸαž‘αžΎαž„αžœαž·αž‰

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ XTCOM_UTIL αž‘αžΆαž‰αž™αž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž„αŸ’αž€αž”αŸ‹ PLC Sonoff Basic αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαž“αŸαŸ‡ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ†αž”αŸ’αž›αŸ‚αž„ USB-TTL αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† ΠΈ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžœαžΈαžŠαŸαž’αžΌ.

αž‡αŸ†αž αžΆαž“ 3. αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž§αž”αž€αžšαžŽαŸ

αž”αž‰αŸ’αž…αžΌαž›αžαžΆαž˜αž–αž›αž‘αŸ…αž§αž”αž€αžšαžŽαŸ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž—αŸ’αž›αžΎαž„ LED αž—αŸ’αž›αžΊαž αžΎαž™ αžŸαžΌαž˜αž…αž»αž…αž”αŸŠαžΌαžαž»αž„ αž αžΎαž™αžŸαž„αŸ’αž€αžαŸ‹αžœαžΆαžšαž αžΌαžαž‘αžΆαž›αŸ‹αžαŸ‚ LED αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž‰αŸ’αž…αŸαž‰αž–αž“αŸ’αž›αžΊαž‡αžΆαž‘αŸ€αž„αž‘αžΆαžαŸ‹αŸ”
αž“αŸ…αž–αŸαž›αž“αŸαŸ‡ αž”αžŽαŸ’αžαžΆαž‰ Wi-Fi αžαŸ’αž˜αžΈαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆ "PLC Sonoff Basic" αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž‘αžΎαž„ αž—αŸ’αž‡αžΆαž”αŸ‹αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ…αž”αžŽαŸ’αžαžΆαž‰αž“αŸαŸ‡αŸ”
αž€αžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αž’αŸ†αž–αžΈαžŸαžΌαž…αž“αžΆαž€αžš 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: αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžŸαŸ’αž‚αŸ’αžšαžΈαž”

αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžšαž½αž…αž αžΎαž™ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž˜αžŠαžΆαž“αž‡αžΆαž‡αŸ†αž αžΆαž“αŸ—αŸ” αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆαžšαž”αžŸαŸ‹αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž”αŸ’αžšαŸ‚αž‡αžΆαžαž»αžŸαž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αž˜αžΆαž“αž”αŸ†αžŽαž„αŸ” αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡ αž€αžΆαžšβ€‹αžαžΆαž˜αžŠαžΆαž“β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžβ€‹αž±αŸ’αž™β€‹αž’αŸ’αž“αž€β€‹αž“αž·αž–αž“αŸ’αž’β€‹αžŸαŸ’αžœαŸ‚αž„αžšαž€β€‹αž”αŸ’αžšαž—αž–β€‹αž“αŸƒβ€‹αž”αž‰αŸ’αž αžΆβ€‹αž”αžΆαž“β€‹αž™αŸ‰αžΆαž„β€‹αžšαž αŸαžŸ αž“αž·αž„β€‹αž€αŸ‚β€‹αž€αŸ†αž αž»αžŸβ€‹αž€αŸ’αž“αž»αž„β€‹αžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ”

αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αžŽαž“αžΆ Factorial αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαŸ–
αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic

αž§αž”αž€αžšαžŽαŸαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹ αž αžΎαž™αž˜αžΆαž“αž”αŸŠαžΌαžαž»αž„αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž…αŸ†αž“αž½αž“αž”αžΈαž‚αžΊ "αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜" "αž˜αž½αž™αž‡αŸ†αž αžΆαž“αž‘αŸ…αž˜αž»αž" αž“αž·αž„ "αž”αž‰αŸ’αžˆαž”αŸ‹" (αž€αž»αŸ†αž—αŸ’αž›αŸαž…αž’αŸ†αž–αžΈαžšαž”αŸ€αž” "αž…αžΌαž›" αž“αž·αž„ "αž…αŸαž‰" αž•αž„αžŠαŸ‚αžš) αŸ” αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αž‡αžΆαž‡αŸ†αž αžΆαž“αŸ— αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαž»αž…αžˆαž”αŸ‹αž“αŸ…αž›αžΎαž”αŸ’αž›αž»αž€αžŽαžΆαž˜αž½αž™ (αžŠαŸ„αž™αž…αž»αž…αž›αžΎαž”αŸ’αž›αž»αž€)αŸ”
αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αžαž˜αŸ’αž›αŸƒαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš (αž§αž”αž€αžšαžŽαŸαž…αžΆαž”αŸ‹αžŸαž‰αŸ’αž‰αžΆ αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž) αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΌαž“αžΈαž‘αŸαžš αžŸαžΌαž˜αž”αŸ’αžšαžΎαž”αŸ’αž›αž»αž€ "αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–" αŸ”
αžœαžΆαž‚αžΊαž‡αžΆαž€αžΆαžš αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‘αžΌαž‘αŸ…αžœαžΈαžŠαŸαž’αžΌ αž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαŸ”

αž•αŸ’αž“αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αž„αŸ‹αžŠαžΉαž„αž…αž„αŸ‹αžƒαžΎαž‰αŸ” αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž“αŸ…αž€αŸ’αžšαŸ„αž˜αž€αŸ’αžšαžŽαžΆαžαŸ‹?

αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž§αž”αž€αžšαžŽαŸαž‚αŸ„αž›αžŠαŸ… αž’αŸ’αž“αž€αž”αž€αž”αŸ’αžšαŸ‚ bytecode αž“αž·αž„αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž…αŸ†αž“αž½αž“ 38 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αŸ” αž€αžΌαžŠαž”αŸ’αžšαž—αž–αžšαž”αžŸαŸ‹ Blockly αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαž―αž€αž‘αŸαžŸαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆ αžŠαŸ‚αž›αž”αŸ†αž”αŸ’αž›αŸ‚αž„αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αž‘αŸ…αž‡αžΆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž€αžΆαžšαž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαŸ” αž€αŸ’αžšαŸ„αž™αž˜αž€ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ’αž›αŸ‚αž„αž‘αŸ…αž‡αžΆ bytecode αž αžΎαž™αž•αŸ’αž‘αŸαžšαž‘αŸ…αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ”
αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž“αŸαŸ‡αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹ αž αžΎαž™αž˜αž·αž“αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŽαžΆαž˜αž½αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžœαžΆαž‘αŸ αž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αž’αžαŸ’αžαž”αž‘αž‡αžΆαž…αŸ’αžšαžΎαž“αž’αŸ†αž–αžΈαž€αžΆαžšαžšαž…αž“αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαŸ”
αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αž‰αž»αŸ†αž”αŸ‚αž„αž…αŸ‚αž€ 1000 αž”αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž„αŸ‹αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αžŠαŸ‚αž›αžœαžΆαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‘αž»αž€αž…αŸ„αž›αŸ” αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž€αžΆαžšαž“αž·αž™αžΆαž™αž‘αžΎαž„αžœαž·αž‰αž™αŸ‰αžΆαž„αž‡αŸ’αžšαŸ…αž’αžΆαž…αž’αŸ’αžœαžΎαž²αŸ’αž™αž’αžŸαŸ‹αž“αžΌαžœαž‡αž„αŸ‹αžŽαžΆαž˜αž½αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αž½αž€αž‚αŸαž‘αŸ†αž“αž„αž‡αžΆαž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž‘αŸαŸ”

αž€αžΌαžŠ byte αž›αž‘αŸ’αž’αž•αž›αž‚αžΊαž”αž„αŸ’αžšαž½αž˜αžŽαžΆαžŸαŸ‹αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž›αŸαžαž€αžΌαžŠαž”αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αžŽαž“αžΆαž αŸ’αžœαžΆαž€αŸ‹αžαžΌαžšαžΈαžŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‚αžΊαž˜αžΆαž“αžαŸ‚ 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

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΆαžšαž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαžαŸ†αžŽαžΆαž„αž˜αž·αž“αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž‘αŸαž“αŸ„αŸ‡αž•αŸ’αž‘αžΆαŸ†αž„ "javascript" αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžšαžΌαž”αžšαžΆαž„αžŠαŸ‚αž›αž’αŸ’αž›αžΆαž”αŸ‹αžŸαŸ’αž‚αžΆαž›αŸ‹αž‡αžΆαž„αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αŸ–

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

window.alert(factorial(10));

αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ” αž“αŸ…αž–αŸαž›αžαŸ’αž‰αž»αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž” flasher αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž αžαŸ’αž‰αž»αŸ†αž‘αž‘αž½αž›αž”αžΆαž“αžšαž›αž€αž€αžΆαžšαŸ‰αŸ 47 kHz αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹ oscilloscope (αž€αŸ’αž“αž»αž„αž›αŸ’αž”αžΏαž“ 80 MHz processor)αŸ”
αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basicαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Sonoff Basic
αžαŸ’αž‰αž»αŸ†β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž›αž‘αŸ’αž’αž•αž›β€‹αž›αŸ’αž’ αž™αŸ‰αžΆαž„β€‹αž αŸ„αž…β€‹αžŽαžΆαžŸαŸ‹β€‹αž›αŸ’αž”αžΏαž“β€‹αž“αŸαŸ‡β€‹αž›αžΏαž“β€‹αž‡αžΆαž„β€‹αž‡αž·αžβ€‹αžŠαž”αŸ‹β€‹αžŠαž„ αž›αžΌ ΠΈ αž’αŸαžŸαŸ’αž–αŸ’αžšαž»αž™αžŽαžΌ.

αž•αŸ’αž“αŸ‚αž€αž…αž»αž„αž€αŸ’αžšαŸ„αž™

αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž„αŸ’αžαŸαž”αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αžαžΆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž§αž”αž€αžšαžŽαŸαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸαž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž™αž“αŸ’αžαž€αžΆαžšαžαŸ‚αž˜αž½αž™αžŠαŸ‚αž›αž§αž”αž€αžšαžŽαŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž˜αžΆαž“αž₯αž‘αŸ’αž’αž·αž–αž›αž›αžΎαž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαž‘αŸƒαŸ”
αžαŸ’αž‰αž»αŸ†αž€αŸαž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαžαžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž“αŸƒαž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αž‚αŸ’αžšαžΈαž” (αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžαŸ’αž›αž½αž“αž―αž„ αž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ) αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž§αž‘αžΆαž αžšαžŽαŸαž‘αŸ…αž•αŸ’αž‘αŸ‡ Raspberry αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†.

αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžšαžΈαž€αžšαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αžαžΆαž”αŸ‹αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“ αž“αž·αž„αž€αžΆαžšαžšαž·αŸ‡αž‚αž“αŸ‹αž€αŸ’αž“αž»αž„αž“αŸαž™αžŸαŸ’αžαžΆαž”αž“αžΆαŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹