Kipima saa cha mwangalizi au "Watchdog" kwa teknolojia ya microprocessor. Tunafanya nini

Ninapendekeza chaguo la kifaa ambalo huwasha tena kompyuta kiotomatiki inapoganda.

Inatokana na wanaojulikana Bodi ya Arduino na idadi ya chini ya nje vipengele vya elektroniki. Tunaunganisha transistor kwenye ubao kulingana na takwimu hapa chini. Tunaunganisha mtozaji wa transistor badala ya kitufe cha "Rudisha" cha kompyuta ubao wa mama, kwa pini ambayo HAIJAunganishwa na GND.

Huu hapa ni mchoro mzima:

Kifaa hufanya kazi kama ifuatavyo: hati imezinduliwa kwenye kompyuta, ambayo mara kwa mara hutuma data kwenye bandari ya kompyuta. Arduino huunganisha kwa USB na kusikiliza mlango huu. Ikiwa hakuna data ndani ya sekunde 30, Arduino hufungua transistor inayounganisha Weka upya chini, na hivyo kuiga kubonyeza kitufe cha kuweka upya.
Baada ya kuweka upya, Arduino inasimama kwa dakika 2, ikisubiri programu zote kupakia, na kisha kuanza kusikiliza bandari tena.

Hati na wachimbaji lazima waongezwe ili kuanza, na BIOS lazima iwekwe kuwasha kiotomatiki kompyuta.

Utengenezaji wa kifaa unahitaji ujuzi mdogo katika kufanya kazi na chuma cha soldering na programu ya Arduino.

Unaweza pia kutumia transistor yoyote ya chaneli ya H na sifa zinazofanana. Lakini hakikisha pinout inalingana. Kwa mfano, nilitumia 9013, kuna muunganisho uliogeuzwa

Nilinunua vifaa vya kusanyiko kwenye Aliexpress:

Waya kwa mkutano wa bodi ya mkate http://ali.pub/22k78b

Arduino UNO (inafaa kabisa) http://ali.pub/22k7dd

Mchoro wa Arduino

int LedPin = 13;
int ResetPin = 12;
int val = 0;
int hesabu = 0;
usanidi utupu ()
{
Serial.begin(9600);
pinMode(LedPin,OUTPUT);

// anza kusitisha dakika 2
kuchelewa (120000);
}

kitanzi utupu()
{
hesabu++;

ikiwa (Serial.available() > 0)
{
val = Serial.soma();
ikiwa (val == 'H')
{
digitalWrite(LedPin,LOW);
digitalWrite(ResetPin,LOW);
hesabu = 0;
}
mwingine
( hesabu ++ ;
}
}

kuchelewa (1000);

ikiwa (hesabu> 10)
{
digitalWrite(LedPin,HIGH);
digitalWrite(ResetPin,HIGH);
}
}

Hati ya kutuma data kwenye bandari:

(Pata-Tarehe).ToString(‘dd.MM.yyyy HH:mm’) | Faili ya Nje c:\Users\miner\Desktop\reboot.txt -append

wakati($TRUE)(
Anza-Kulala -s 3
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine("H")
$port.Close()
}

Mara tu baada ya uzinduzi, hati inaandika kwa faili reboot.txt tarehe ya sasa na wakati. Kutoka kwa faili hii unaweza kuhukumu nambari na wakati wa kuwasha tena. Njia ya faili na nambari ya mlango lazima ihaririwe kulingana na data ya mfumo wako. Nambari imeandikwa kwenye daftari la kawaida na kuhifadhiwa kwa kiendelezi cha *ps1.

Kwa sababu V Sera ya Windows usalama, utekelezaji wa hati umezimwa bonyeza mara mbili na kutoka kwa upakiaji wa kiotomatiki tunafanya hisia kwa masikio yetu na kuzindua ganda kutoka kwa faili ya kundi na yaliyomo.

Kuongeza moduli ya WiFi na kipima saa cha nje cha WatchDog

Ningependa kukujulisha kwamba mtawala uliyojikusanya mwenyewe, kwa mujibu wa maagizo yangu, anaweza kushikamana na mtandao!

Manufaa ya mtawala kufanya kazi na mtandao:

  • Kusawazisha saa na seva ya saa
  • Mabadiliko ya kiotomatiki hadi majira ya baridi/majira ya joto
  • Utajifunza kuhusu njia ya kutoka toleo jipya firmware
  • Tazama data ya kidhibiti chako kutoka kwa kifaa chako cha mkononi
  • Inaunganisha kwenye tovuti log2.com.ua

Nzi mdogo katika marashi ni marupurupu yote toleo la kulipwa Firmware ya MEGA CtrlM, ambayo sio ghali - $ 4.95 tu! Mbali na hilo, firmware hii inasaidia vitambuzi 8 vya halijoto, matokeo 8 yanayodhibitiwa na upangaji, yaani, kuweka hali zako mwenyewe.

Ili kununua programu dhibiti, tafadhali wasiliana nami kwa info@site firmware inayolipishwa itafanya kifaa chako kiwe rahisi zaidi, na wakati huo huo, unachangia maendeleo zaidi ya mradi.

Maelezo kidogo zaidi juu ya kila nukta.

Usawazishaji wa wakati na mpito wa wakati wa kiangazi/msimu wa baridi

Hapa, kwa ujumla, kila kitu ni wazi. Moduli ya saa ya DS1307 haiwezi kujivunia usahihi wake. Kwa mfano, katika nusu mwaka, saa yangu imeanguka nyuma kwa zaidi ya saa 2. Na betri inaweza kutoweka kwa wakati. Bila shaka, itakufanya uwe na furaha na tafsiri ya moja kwa moja masaa kwa majira ya baridi au wakati wa majira ya joto - mara mbili kwa mwaka, tatizo moja chini. Lakini tunahitaji saa - kwa ukataji miti sahihi, kwa kutuma data kwa seva, kwa kupokanzwa kulingana na ratiba! Kwa nchi hizo ambapo hakuna mabadiliko ya saa, chaguo hili linaweza kuzimwa, na kuacha tu maingiliano.

Utgång firmware mpya

Ni nini kinachoweza kufurahisha zaidi kuliko habari kwamba hitilafu za zamani zimerekebishwa na vipengele vipya vinaongezwa kwenye kifaa chako. Tunaweza kusema kwamba kifaa chako kinaanza maisha ya pili!

Tazama data kutoka kwa kifaa cha rununu.

Hapa unaweza kupumzika kwa ujumla :) Kulala juu ya kitanda, nenda kwenye ukurasa wa wavuti wa mtawala wako na uangalie maadili ya sasa ya sensor. Ili kuwa wa haki, ni lazima kusema kwamba ukurasa wakati mwingine haupakia mara ya kwanza na hakuna chochote unachoweza kufanya kuhusu hilo. Katika siku zijazo, nitatatua tatizo hili kwa kuandika maombi tofauti kwa Android. Ili kuhakikisha kuwa kidhibiti chako hakibadilishi anwani ya IP, katika mipangilio ya kipanga njia, toa IP tuli kwake Anwani ya MAC. Kwa njia, ikiwa IP ya mtawala wako ni 192.168.0.106, kisha kutazama usomaji wa sensor kwenye mstari wa kivinjari wa simu yako, kompyuta kibao au kompyuta unahitaji kuingia http://192.168.0.106/d459 Kama sheria, wewe. sio lazima uingie http://, 192.168 tu inatosha

Mfuatiliaji wa wavuti wa ndani. Unaweza pia kuwasha au kuzima matokeo.

Inaunganisha kwenye tovuti log2.com.ua

Ikiwa unataka kufuatilia mfumo wako ukiwa umelala kwenye kochi, kwa mfano, nchini Uturuki au mahali pengine nje ya nchi yako, basi unaweza kuiunganisha kwenye mtandao wa kimataifa. mfuatiliaji mtandaoni kwenye tovuti log2.com.ua Tovuti hii ni yangu. Ina interface rahisi sana lakini hufanya kazi yake.


Mfuatiliaji wa mtandaoni wa kimataifa hufuatilia mfumo wa jua.

Lazima uelewe kwamba baada ya hili, si lazima kutumia mtawala hasa kwa mifumo ya jua! Yeye, kama mtawala na mwangalizi, atakabiliana na mfumo wako wa joto, chafu, chumba cha kulala, nk ... Hiyo ni, wigo wake wa maombi unapanuka sana.


Mfuatiliaji wa mtandaoni wa kimataifa hufuatilia mfumo wa joto.

Ili kuunganisha mtawala kwenye mtandao, ninatumia moduli ya ESP8266-01 WiFi. Ili kuiunganisha utahitaji jozi ya kupinga na kibadilishaji cha ishara ya mantiki. Ni bora kuagiza mara moja na moduli ya ESP8266. Zote kwa pamoja zitakugharimu takriban UAH 150.

Unaweza kuunganisha ESP8266 bila kibadilishaji cha ishara ya mantiki, lakini hii haifai sana!


Mchoro wa unganisho la ESP8266-01. Tutahitaji vipinga 2 zaidi vya 4.7K na 470R moja


Kutumia pini kwenye ubao wa Arduino MEGA ili kuunganisha moduli ya WiFi na kipima saa cha nje cha WatchDog

Na bado, kwa jaribio unaweza kuchukua nguvu ya 3.3V kwa moduli ya ESP8266 moja kwa moja kutoka kwa bodi ya Arduino. Iko karibu na pini ya RESET. Lakini, kwa zaidi operesheni imara, inashauriwa kuondoa usambazaji wa umeme tofauti kutoka kwa 5V, na uipunguze hadi 3.3V kwa kutumia microcircuit ya AMS1117 ya hatua ya chini.


Mzunguko wa kupunguza 5V hadi 3.3V ili kuwasha moduli ya WiFi ya ESP8266


Kuunganisha kipima saa cha nje cha WatchDog

Hakuna mtu aliye salama kutokana na makosa, ikiwa ni pamoja na mimi. Wakati mwingine, kwa kutolewa kwa firmware mpya na kuongeza kwa vipengele vipya, unaweza kupata matatizo mapya kwa namna ya kufungia mtawala. Usiogope sana. Ninajaribu programu dhibiti kabla ya kuitoa, lakini bado ninaweza kupuuza kitu au kuacha kitu. Sababu ya kibinadamu haijafutwa. Kipima saa cha ndani, ambacho kinatakiwa kulinda kidhibiti chetu na kuiwasha upya ikiwa kinaganda, haifanyi kazi kila wakati! Tatizo hapa haliko kwenye watchdog yenyewe, lakini katika kanuni yangu Mdhibiti anaweza kufungia katika sehemu ambayo itaweka upya mara kwa mara na hatutawahi kuanzisha upya kwa sababu hii, niliamua kuongeza mwingine, mlinzi wa nje muda mrefu wa kuwasha upya kutoka sekunde 140 hadi 300, na kipima saa hiki kinawekwa upya tu saa programu kuu. Kwa hivyo, ikiwa tunafungia wakati wa kufanya kazi yoyote, mlinzi wetu wa nje atafanya kazi!


Mpango wa kipima saa cha nje cha WatchDog kwenye chip 555 Imechukuliwa

Ikiwa huna wakati wa kuchezea ubao, unaweza kununua seti ya kusanyiko iliyo tayari kufanywa kutoka kwangu - bodi ya mzunguko iliyochapishwa na seti ya vipengele vya redio. Baada ya kuikusanya, utapokea kipima saa cha WatchDog na ubao wa Viunganisho vya WiFi modluya. Weka bei 150 UAH.


WathcDog + bodi ya WiFi. Moduli ya WiFi haijajumuishwa!


WathcDog + WiFi bodi, pembe nyingine

Ninapendekeza chaguo la kifaa ambalo huwasha tena kompyuta kiotomatiki inapoganda.

Inategemea bodi ya Arduino inayojulikana na idadi ya chini ya vipengele vya elektroniki vya nje. Tunaunganisha transistor kwenye ubao kulingana na takwimu hapa chini. Tunaunganisha mtozaji wa transistor badala ya kitufe cha "Rudisha" cha kompyuta kwenye ubao wa mama, kwa anwani ambayo haijaunganishwa na GND.

Huu hapa ni mchoro mzima:

Kifaa hufanya kazi kama ifuatavyo: hati imezinduliwa kwenye kompyuta, ambayo mara kwa mara hutuma data kwenye bandari ya kompyuta. Arduino huunganisha kwa USB na kusikiliza mlango huu. Ikiwa hakuna data ndani ya sekunde 30, Arduino hufungua transistor inayounganisha Weka upya chini, na hivyo kuiga kubonyeza kitufe cha kuweka upya.
Baada ya kuweka upya, Arduino inasimama kwa dakika 2, ikisubiri programu zote kupakia, na kisha kuanza kusikiliza bandari tena.

Hati na wachimbaji lazima ziongezwe ili kuanza, na BIOS lazima isanidiwe ili kuwasha kiotomatiki kompyuta.

Utengenezaji wa kifaa unahitaji ujuzi mdogo katika kufanya kazi na chuma cha soldering na programu ya Arduino.

Unaweza pia kutumia transistor yoyote ya chaneli ya H yenye sifa zinazofanana. Lakini hakikisha pinout inalingana. Kwa mfano, nilitumia 9013, kuna muunganisho uliogeuzwa

Nilinunua vifaa vya kusanyiko kwenye Aliexpress:

Waya za mkutano wa bodi ya mkate http://ali.pub/22k78b

Arduino UNO (inafaa kabisa) http://ali.pub/22k7dd

Arduino uno na kebo http://ali.pub/22k7go

Mchoro wa Arduino

int LedPin = 13;
int ResetPin = 12;
int val = 0;
int hesabu = 0;
usanidi utupu ()
{
Serial.begin(9600);
pinMode(LedPin,OUTPUT);

// anza kusitisha dakika 2
kuchelewa (120000);
}

kitanzi utupu()
{
hesabu++;

ikiwa (Serial.available() > 0)
{
val = Serial.soma();
ikiwa (val == 'H')
{
digitalWrite(LedPin,LOW);
digitalWrite(ResetPin,LOW);
hesabu = 0;
}
mwingine
( hesabu ++ ;
}
}

kuchelewa (1000);

ikiwa (hesabu> 10)
{
digitalWrite(LedPin,HIGH);
digitalWrite(ResetPin,HIGH);
}
}

Hati ya kutuma data kwenye bandari:

(Pata-Tarehe).ToString(‘dd.MM.yyyy HH:mm’) | Faili ya Nje c:UsersminerDesktopreboot.txt -ongeza

wakati($TRUE)(
Anza-Kulala -s 3
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine("H")
$port.Close()
}

Mara tu baada ya uzinduzi, hati huandika tarehe na wakati wa sasa kwenye faili ya reboot.txt. Kutoka kwa faili hii unaweza kuhukumu nambari na wakati wa kuwasha tena. Njia ya faili na nambari ya mlango lazima ihaririwe kulingana na data ya mfumo wako. Nambari imeandikwa kwenye daftari la kawaida na kuhifadhiwa kwa kiendelezi cha *ps1.

Kwa sababu Katika Windows, sera ya usalama inalemaza utekelezwaji wa hati kwa kubofya mara mbili na kutoka kwa kuanza tunafanya hisia kwa masikio yetu na kuzindua shell kutoka kwa faili ya batch yenye maudhui yafuatayo:

anzisha PowerShell.exe -ExecutionPolicy ByPass -Faili "c:path to your fileyourfile.ps1"

Tunahifadhi faili na ugani * .bat na kuiweka kwenye autoload.

Tunafurahi kwamba sasa kila kitu ni automatiska. Kifaa kimejaribiwa kwenye Kompyuta yangu na kinafanya kazi kikamilifu.

Jiandikishe kwa Bitnovosti kwenye telegraph!

Shiriki maoni yako kuhusu habari hii katika maoni chini ya makala.

Kipima saa cha Watchdog au watchdog ni nini?

Kipima saa cha walinzi (kipima saa cha walinzi, KiingerezaKipima saa cha walinzi-washwa. "watchdog") - mzunguko wa kudhibiti unaotekelezwa na vifaakugandamifumo. Inawakilishakipima muda, ambayo huwekwa upya mara kwa mara na mfumo unaodhibitiwa. Ikiwa upya haujatokea ndani ya muda fulani, kuweka upya kwa kulazimishwa hutokea.mifumo. Katika baadhi ya matukio, kipima saa kinaweza kuashiria mfumo kuwasha upya ("laini" kuwasha upya), wakati kwa wengine, reboot inafanywa katika vifaa (kwa kufupisha waya wa ishara ya RST au sawa).

Ninapendekeza chaguo la kifaa ambalo huwasha tena kompyuta kiotomatiki inapoganda.

Inategemea bodi ya Arduino inayojulikana na idadi ya chini ya vipengele vya elektroniki vya nje. Tunaunganisha transistor kwenye ubao kulingana na takwimu hapa chini. Tunaunganisha mtozaji wa transistor badala ya kitufe cha "Rudisha" cha kompyuta kwenye ubao wa mama, kwa anwani ambayoHAPANA imeunganishwa na GND.




Huu hapa ni mchoro mzima:

Kifaa hufanya kazi kama ifuatavyo: hati inazinduliwa kwenye kompyuta, ambayo mara kwa mara hutuma data kwenye bandari ya kompyuta. Arduino huunganisha kwa USB na kusikiliza mlango huu. Ikiwa hakuna data ndani ya sekunde 30, Arduino hufungua transistor inayounganisha Weka upya chini, na hivyo kuiga kubonyeza kitufe cha kuweka upya.
Baada ya kuweka upya, Arduino inasimama kwa dakika 2, ikisubiri programu zote kupakia, na kisha kuanza kusikiliza bandari tena.

Hati na wachimbaji lazima ziongezwe ili kuanza, na BIOS lazima isanidiwe ili kuwasha kiotomatiki kompyuta.





Utengenezaji wa kifaa unahitaji ujuzi mdogo katika kufanya kazi na chuma cha soldering na programu ya Arduino.

Unaweza pia kutumia transistor yoyote ya chaneli ya H yenye sifa zinazofanana. Lakini hakikisha pinout inalingana. Kwa mfano, nilitumia 9013, kuna muunganisho uliogeuzwa



Nilinunua vifaa vya kusanyiko kwenye Aliexpress:

Waya za mkutano wa bodi ya mkate http://ali.pub/22k78b

Arduino UNO (inafaa kabisa) http://ali.pub/22k7dd

Mchoro wa Arduino

int LedPin = 13;
int ResetPin = 12;
int val = 0;
int hesabu = 0;
usanidi utupu ()
{
Serial.begin(9600);
pinMode(LedPin,OUTPUT);

// anza kusitisha dakika 2
kuchelewa (120000);
}

kitanzi utupu()
{
hesabu++;

Ikiwa (Serial.available() > 0)
{
val = Serial.soma();
ikiwa (val == "H")
{
digitalWrite(LedPin,LOW);
digitalWrite(ResetPin,LOW);
hesabu = 0;
}
mwingine
( hesabu ++ ;
}
}

Ikiwa (hesabu> 10)
{
digitalWrite(LedPin,HIGH);
digitalWrite(ResetPin,HIGH);
}
}

Hati ya kutuma data kwenye bandari:

(Pata-Tarehe).ToString("dd.MM.yyyy HH:mm") | Faili ya Nje c:\Users\miner\Desktop\reboot.txt -append

wakati($TRUE)(
Anza-Kulala -s 3
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine("H")
$port.Close()
}

Mara tu baada ya uzinduzi, hati huandika tarehe na wakati wa sasa kwenye faili ya reboot.txt. Kutoka kwa faili hii unaweza kuhukumu nambari na wakati wa kuwasha tena. Njia ya faili na nambari ya mlango lazima ihaririwe kulingana na data ya mfumo wako. Nambari imeandikwa kwenye daftari la kawaida na kuhifadhiwa kwa kiendelezi cha *ps1.



Kwa sababu Katika Windows, sera ya usalama inalemaza utekelezwaji wa hati kwa kubofya mara mbili na kutoka kwa kuanza tunafanya hisia kwa masikio yetu na kuzindua shell kutoka kwa faili ya batch yenye maudhui yafuatayo: