Eto wiwo fun Sonoff Ipilẹ

Eto wiwo fun Sonoff Ipilẹ
Nkan kan nipa bii o ṣe le ṣẹda oluṣakoso kannaa siseto lati ẹrọ Kannada olowo poku. Iru ẹrọ bẹẹ yoo rii lilo mejeeji ni adaṣe ile ati bi awọn kilasi ti o wulo ni imọ-ẹrọ kọnputa ile-iwe.
Fun itọkasi, nipasẹ aiyipada eto Sonoff Basic ṣiṣẹ pẹlu ohun elo alagbeka nipasẹ iṣẹ awọsanma Kannada kan; lẹhin iyipada ti a dabaa, gbogbo ibaraenisepo siwaju pẹlu ẹrọ yii yoo ṣee ṣe ni ẹrọ aṣawakiri.

Abala I. Nsopọ Sonoff si iṣẹ MGT24

Igbesẹ 1: Ṣẹda igbimọ iṣakoso kan

Forukọsilẹ lori ojula mgt24 (ti ko ba forukọsilẹ tẹlẹ) ati wọle nipa lilo akọọlẹ rẹ.
Buwolu wọle si awọn etoEto wiwo fun Sonoff Ipilẹ

Lati ṣẹda igbimọ iṣakoso fun ẹrọ titun kan, tẹ bọtini "+".
Apẹẹrẹ ti ṣiṣẹda nronuEto wiwo fun Sonoff Ipilẹ

Ni kete ti a ṣẹda nronu naa, yoo han ninu atokọ awọn panẹli rẹ.

Ninu taabu “Eto” ti nronu ti a ṣẹda, wa awọn aaye “ID Ẹrọ” ati “Bọtini Aṣẹ”; ni ọjọ iwaju, alaye yii yoo nilo nigbati o ṣeto ẹrọ Sonoff.
Apẹẹrẹ taabuEto wiwo fun Sonoff Ipilẹ

Igbese 2. Reflash awọn ẹrọ

Lilo ohun elo XTCOM_UTIL gba awọn famuwia PLC Sonoff Ipilẹ si ẹrọ, fun eyi iwọ yoo nilo oluyipada USB-TTL. Nibi ẹkọ и Itọsọna fidio.

Igbese 3. Device setup

Waye agbara si ẹrọ naa, lẹhin ti LED tan imọlẹ, tẹ bọtini naa ki o dimu duro titi ti LED yoo bẹrẹ lati filasi lorekore paapaa.
Ni akoko yii, nẹtiwọọki wi-fi tuntun ti a pe ni “PLC Sonoff Basic” yoo han, so kọnputa rẹ pọ si nẹtiwọọki yii.
Apejuwe ti LED itọkasi

LED itọkasi
Ipo ẹrọ

igbakọọkan ė ìmọlẹ
ko si asopọ si olulana

nmọlẹ continuously
asopọ ti iṣeto pẹlu olulana

igbakọọkan aṣọ ìmọlẹ
wi-fi wiwọle ojuami mode

parun
Ko si ipese agbara

Ṣii ẹrọ aṣawakiri Intanẹẹti kan ki o tẹ ọrọ sii “192.168.4.1” ninu ọpa adirẹsi, lọ si oju-iwe awọn eto nẹtiwọọki ẹrọ naa.

Fọwọsi awọn aaye bi atẹle:

  • "Orukọ nẹtiwọki" ati "Ọrọigbaniwọle" (lati so ẹrọ pọ mọ olulana wi-fi ile rẹ).
  • “ID ẹrọ” ati “bọtini aṣẹ” (lati fun ẹrọ laṣẹ lori iṣẹ MGT24).

Apẹẹrẹ ti ṣeto awọn paramita nẹtiwọọki ẹrọEto wiwo fun Sonoff Ipilẹ

Fipamọ awọn eto ki o tun atunbere ẹrọ naa.
o ti wa ni Itọsọna fidio.

Igbesẹ 4. Sisopọ awọn sensọ (aṣayan)

Famuwia lọwọlọwọ ṣe atilẹyin fun awọn sensọ iwọn otutu ds18b20 mẹrin. Nibi Itọsọna fidio fun fifi sori ẹrọ ti sensosi. Nkqwe, igbesẹ yii yoo jẹ ohun ti o nira julọ, nitori yoo nilo awọn ọwọ ti o taara ati irin tita.

Abala II. Eto wiwo

Igbesẹ 1: Ṣẹda Awọn iwe afọwọkọ

Ti a lo bi agbegbe siseto Titiipa, Ayika rọrun lati kọ ẹkọ, nitorina o ko nilo lati jẹ pirogirama lati ṣẹda awọn iwe afọwọkọ ti o rọrun.

Mo ṣafikun awọn bulọọki amọja fun kikọ ati kika awọn aye ẹrọ. Eyikeyi paramita ti wọle nipasẹ orukọ. Fun awọn paramita ti awọn ẹrọ latọna jijin, awọn orukọ agbopọ ni a lo: “parameter@device”.
Awọn akojọ aṣayan silẹEto wiwo fun Sonoff Ipilẹ

Oju iṣẹlẹ apẹẹrẹ fun gigun kẹkẹ fifuye titan ati pipa (1Hz):
Eto wiwo fun Sonoff Ipilẹ

Apeere ti iwe afọwọkọ mimuuṣiṣẹpọ iṣẹ ti awọn ẹrọ lọtọ meji. Eyun, awọn yii ti awọn afojusun ẹrọ ntun awọn isẹ ti awọn yii ti awọn latọna ẹrọ.
Eto wiwo fun Sonoff Ipilẹ

Oju iṣẹlẹ fun thermostat (laisi hysteresis):
Eto wiwo fun Sonoff Ipilẹ

Lati ṣẹda awọn iwe afọwọkọ ti o ni idiwọn diẹ sii, o le lo awọn oniyipada, losiwajulosehin, awọn iṣẹ (pẹlu awọn ariyanjiyan) ati awọn itumọ miiran. Emi kii yoo ṣe apejuwe gbogbo eyi ni awọn alaye nibi; ọpọlọpọ tẹlẹ ti wa lori Intanẹẹti. ohun elo ẹkọ nipa Blockly.

Igbesẹ 2: Ilana Awọn iwe afọwọkọ

Awọn akosile nṣiṣẹ continuously, ati ni kete bi o ti Gigun awọn oniwe-opin, o bẹrẹ lẹẹkansi. Ni idi eyi, awọn bulọọki meji wa ti o le da iwe afọwọkọ naa duro fun igba diẹ, “idaduro” ati “daduro”.
Àkọsílẹ "idaduro" ni a lo fun awọn idaduro millisecond tabi awọn idaduro iṣẹju-aaya. Ohun amorindun yii ṣe itọju to muna ni aarin akoko, idilọwọ iṣẹ ti gbogbo ẹrọ naa.
Àkọsílẹ "idaduro" ni a lo fun awọn idaduro keji (tabi kere si), ati pe ko ṣe idiwọ ipaniyan ti awọn ilana miiran ninu ẹrọ naa.
Ti iwe afọwọkọ funrararẹ ba ni lupu ailopin, ara eyiti ko ni “idaduro” ninu, onitumọ ni ominira bẹrẹ idaduro kukuru kan.
Ti akopọ iranti ti a pin sọtọ ba ti pari, onitumọ yoo dawọ ṣiṣe iru iwe afọwọkọ ti ebi npa agbara (ṣọra pẹlu awọn iṣẹ isọdọtun).

Igbesẹ 3: Awọn iwe afọwọkọ n ṣatunṣe aṣiṣe

Lati yokokoro iwe afọwọkọ ti o ti kojọpọ tẹlẹ sinu ẹrọ, o le ṣiṣe itọpa eto ni igbese nipa igbese. Eyi le wulo pupọ nigbati ihuwasi ti iwe afọwọkọ yipada lati yatọ si ohun ti onkọwe pinnu. Ni idi eyi, wiwa kakiri gba onkọwe laaye lati wa orisun iṣoro naa ni kiakia ati ṣatunṣe aṣiṣe ninu iwe afọwọkọ naa.

Oju iṣẹlẹ fun iṣiro ifosiwewe ni ipo yokokoro:
Eto wiwo fun Sonoff Ipilẹ

Ọpa yokokoro jẹ rọrun pupọ ati pe o ni awọn bọtini akọkọ mẹta: “bẹrẹ”, “igbesẹ kan siwaju” ati “duro” (jẹ ki a tun maṣe gbagbe nipa “tẹ” ati “jade” ipo yokokoro). Ni afikun si wiwa kakiri igbese-nipasẹ-igbesẹ, o le ṣeto aaye fifọ lori eyikeyi bulọọki (nipa tite lori bulọki naa).
Lati ṣafihan awọn iye lọwọlọwọ ti awọn paramita (awọn sensọ, awọn relays) ninu atẹle naa, lo bulọọki “titẹ”.
o ti wa ni fidio Akopọ nipa lilo yokokoro.

Apakan fun iyanilenu. Kini o wa labẹ hood?

Ni ibere fun awọn iwe afọwọkọ lati ṣiṣẹ lori ẹrọ ibi-afẹde, onitumọ bytecode ati apejọ kan pẹlu awọn ilana 38 ni idagbasoke. Koodu orisun Blockly ni olupilẹṣẹ koodu amọja ti a ṣe sinu rẹ ti o yi awọn bulọọki wiwo pada si awọn ilana apejọ. Lẹhinna, eto apejọ yii ti yipada si bytecode ati gbe lọ si ẹrọ fun ipaniyan.
Awọn faaji ti ẹrọ foju yii jẹ ohun rọrun ati pe ko si aaye kan pato ni apejuwe rẹ; lori Intanẹẹti iwọ yoo wa ọpọlọpọ awọn nkan nipa ṣiṣe apẹrẹ awọn ẹrọ foju ti o rọrun julọ.
Mo maa n pin awọn baiti 1000 fun akopọ ti ẹrọ foju mi, eyiti o to lati sa. Nitoribẹẹ, awọn atunwi ti o jinlẹ le yọkuro akopọ eyikeyi, ṣugbọn ko ṣeeṣe lati ni lilo eyikeyi ti o wulo.

Abajade bytecode jẹ iwapọ pupọ. Bi apẹẹrẹ, awọn bytecode fun oniṣiro kanna factorial jẹ nikan 49 baiti. Eyi ni irisi wiwo rẹ:
Eto wiwo fun Sonoff Ipilẹ

Ati pe eyi ni eto apejọ rẹ:

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

Ti fọọmu apejọ ti aṣoju ko ni iye iwulo eyikeyi, lẹhinna “javascrit” taabu, ni ilodi si, funni ni iwo ti o mọ diẹ sii ju awọn bulọọki wiwo:

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

window.alert(factorial(10));

Nipa iṣẹ ṣiṣe. Nigbati mo ran awọn alinisoro flasher akosile, Mo ni a 47 kHz square igbi lori oscilloscope iboju (ni a isise aago iyara ti 80 MHz).
Eto wiwo fun Sonoff IpilẹEto wiwo fun Sonoff Ipilẹ
Mo ro pe eyi ni kan ti o dara esi, ni o kere yi iyara jẹ fere mẹwa ni igba yiyara ju Lua и Espruino.

Apa ipari

Lati ṣe akopọ, Emi yoo sọ pe lilo awọn iwe afọwọkọ gba wa laaye kii ṣe lati ṣe eto imọ-jinlẹ ti iṣẹ ti ẹrọ lọtọ, ṣugbọn tun jẹ ki o ṣee ṣe lati sopọ awọn ẹrọ pupọ sinu ẹrọ kan, nibiti diẹ ninu awọn ẹrọ ni ipa ihuwasi ti awọn miiran.
Mo tun ṣe akiyesi pe ọna ti o yan ti titoju awọn iwe afọwọkọ (taara ninu awọn ẹrọ funrararẹ, kii ṣe lori olupin) ṣe irọrun iyipada ti awọn ẹrọ ti n ṣiṣẹ tẹlẹ si olupin miiran, fun apẹẹrẹ si Rasipibẹri ile, nibi ẹkọ.

Iyẹn ni gbogbo rẹ, Emi yoo dun lati gbọ imọran ati atako to wulo.

orisun: www.habr.com

Fi ọrọìwòye kun