Барномасозии визуалӣ барои Sonoff Basic

Барномасозии визуалӣ барои Sonoff Basic
Мақола дар бораи чӣ гуна сохтани контролери мантиқии барномарезишаванда аз дастгоҳи арзони чинӣ. Чунин дастгоҳ истифодаи худро ҳам дар автоматикунонии хона ва ҳам ҳамчун дарсҳои амалӣ дар информатикаи мактабӣ пайдо мекунад.
Барои истинод, барномаи Sonoff Basic ба таври нобаёнӣ бо як замимаи мобилӣ тавассути хидмати абрии чинӣ кор мекунад; пас аз тағири пешниҳодшуда, ҳама ҳамкорӣ бо ин дастгоҳ дар браузер имконпазир хоҳад шуд.

Фасли I. Пайваст кардани Sonoff ба хидмати MGT24

Қадами 1: Эҷоди панели идоракунӣ

Дар сайт сабти ном кунед мгт24 (агар аллакай ба қайд гирифта нашуда бошад) ва бо истифода аз ҳисоби худ ворид шавед.
ДаромаданБарномасозии визуалӣ барои 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

Намунаи сенарияи чарх задани сарборӣ (1Гц):
Барномасозии визуалӣ барои Sonoff Basic

Намунаи скрипти ҳамоҳангсозии кори ду дастгоҳи алоҳида. Махз, релеи дастгоҳи мавриди ҳадаф кори релеи дастгоҳи дурдастро такрор мекунад.
Барномасозии визуалӣ барои Sonoff Basic

Сенарияи термостат (бе гистерезис):
Барномасозии визуалӣ барои Sonoff Basic

Барои сохтани скриптҳои мураккабтар шумо метавонед тағирёбандаҳо, ҳалқаҳо, функсияҳо (бо аргументҳо) ва дигар конструксияҳоро истифода баред. Ман ҳамаи инро дар ин ҷо ба таври муфассал тавсиф намекунам; аллакай дар шабака хеле зиёд аст. маводи таълимӣ дар бораи Blockly.

Қадами 2: Тартиби скриптҳо

Скрипт пайваста кор мекунад ва ҳамин ки ба охир мерасад, дубора оғоз меёбад. Дар ин ҳолат, ду блок мавҷуданд, ки метавонанд скриптро муваққатан таваққуф кунанд, "таъхир" ва "таваффақ".
Блоки "таъхир" барои таъхирҳои миллисония ё микросония истифода мешавад. Ин блок фосилаи вақтро қатъиян нигоҳ дошта, кори тамоми дастгоҳро манъ мекунад.
Блоки «танаффус» барои таъхирҳои дуюм (ё камтар) истифода мешавад ва он иҷрои дигар равандҳоро дар дастгоҳ манъ намекунад.
Агар худи скрипт як ҳалқаи беохир дошта бошад, ки дар қисми он «пауза» мавҷуд набошад, тарҷумон мустақилона таваққуфи кӯтоҳро оғоз мекунад.
Агар стеки хотираи ҷудошуда тамом шавад, тарҷумон иҷрои чунин скрипти пурқувватро қатъ мекунад (бо функсияҳои рекурсивӣ эҳтиёт шавед).

Қадами 3: ислоҳи скриптҳо

Барои ислоҳ кардани скрипте, ки аллакай ба дастгоҳ бор карда шудааст, шумо метавонед пайгирии барномаро зина ба зина иҷро кунед. Ин метавонад хеле муфид бошад, вақте ки рафтори скрипт аз он чизе ки муаллиф пешбинӣ кардааст, фарқ мекунад. Дар ин ҳолат пайгирӣ ба муаллиф имкон медиҳад, ки манбаи мушкилотро зуд пайдо кунад ва хатои скриптро ислоҳ кунад.

Сенарияи ҳисобкунии факториал дар реҷаи дебаг:
Барномасозии визуалӣ барои Sonoff Basic

Асбоби ислоҳкунӣ хеле содда аст ва аз се тугмаи асосӣ иборат аст: "оғоз", "як қадам ба пеш" ва "ист" (биёед, инчунин дар бораи ҳолати ислоҳи "дохил" ва "хуруҷ" фаромӯш накунем). Илова ба пайгирии қадам ба қадам, шумо метавонед нуқтаи қатъро дар ҳама гуна блок муқаррар кунед (бо пахш кардани блок).
Барои намоиш додани арзишҳои ҷории параметрҳо (сенсорҳо, релеҳо) дар монитор, блоки "чоп" -ро истифода баред.
Ин аст, шарҳи видео дар бораи истифодаи ислоҳкунанда.

Бахш барои шавқмандон. Дар зери сарпӯш чӣ аст?

Барои он ки скриптҳо дар дастгоҳи мавриди ҳадаф кор кунанд, интерпретатори байткод ва ассемблер бо 38 дастур таҳия карда шуданд. Рамзи сарчашмаи Blockly дорои генератори махсуси коди дар он сохташуда мебошад, ки блокҳои визуалиро ба дастурҳои васлкунӣ табдил медиҳад. Минбаъд ин барномаи ассемблер ба байткод табдил дода мешавад ва барои иҷро ба дастгоҳ интиқол дода мешавад.
Меъмории ин мошини виртуалӣ хеле содда аст ва дар тавсифи он нуқтаи махсус вуҷуд надорад; дар Интернет шумо мақолаҳои зиёдеро дар бораи тарҳрезии соддатарин мошинҳои виртуалӣ хоҳед ёфт.
Ман одатан барои стеки мошини виртуалии худ 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 кГц гирифтам (бо суръати соати протсессори 80 МГс).
Барномасозии визуалӣ барои Sonoff BasicБарномасозии визуалӣ барои Sonoff Basic
Ман фикр мекунам, ки ин натиҷаи хуб аст, ҳадди ақал ин суръат аз он қариб даҳ маротиба тезтар аст Луа и Эспруино.

Қисми ниҳоӣ

Хулоса, ман мегӯям, ки истифодаи скриптҳо ба мо имкон медиҳад, ки на танҳо мантиқи кори дастгоҳи алоҳидаро барномарезӣ кунем, балки инчунин имкон медиҳад, ки якчанд дастгоҳро ба як механизм пайваст кунем, ки дар он баъзе дастгоҳҳо ба рафтори дигарон таъсир мерасонанд.
Ман инчунин қайд мекунам, ки усули интихобшудаи нигоҳдории скриптҳо (бевосита дар худи дастгоҳҳо, на дар сервер) гузариши дастгоҳҳои аллакай коркунандаро ба сервери дигар, масалан ба Raspberry хонагӣ, дар ин ҷо осон мекунад. дастур.

Ин ҳама, ман аз шунидани маслиҳат ва интиқоди созанда шод мешавам.

Манбаъ: will.com

Илова Эзоҳ