Orodha ya maudhui:
- Hatua ya 1: Unachohitaji, Kabla ya kile Unachohitaji
- Hatua ya 2: Unachohitaji - vifaa
- Hatua ya 3: Unachohitaji - Programu
- Hatua ya 4: Hifadhidata ya Seva ya SQL
- Hatua ya 5: Maombi ya Wavuti ya ASP.NET SignalR Hub
- Hatua ya 6: Mteja wa Huduma ya SignalR
- Hatua ya 7: Mchoro na Nambari ya Usambazaji ya Arduino UNO IR
- Hatua ya 8: Kushikamana na Kupima Mfumo
- Hatua ya 9: Mfumo unafanya kazi
- Hatua ya 10: Kuimarisha Mfumo wa Uendeshaji na Marekebisho yanayohusiana
- Hatua ya 11: Maswala Yanayojulikana na wasiwasi wa Usalama
Video: Raspberry Pi-Arduino-SignalR Kituo cha Kuendesha Nyumbani: Hatua 11 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Kufuatia utangulizi wangu wa IBLE zilizochapishwa hapa na hapa, mradi huu unachukua hatua ya kwanza kuelekea ujenzi wa toleo la msingi la Kitovu cha Kuendesha Nyumbani kinachofanya kazi.
Nimetumia teknolojia kadhaa tofauti katika jaribio la kuelewa jinsi ninavyoweza kutumia vitu vyote ambavyo nimejifunza hapo zamani na vitu vipya ambavyo ninaendelea kujifunza kadiri siku zinavyoendelea.
Kwa hivyo, hii Hub ya Automation inajumuisha vifaa vifuatavyo:
Hifadhidata ya SQL Server 2012 ambayo:
- huhifadhi orodha ya nambari zilizowekwa tayari za infrared (IR) kwenye meza pamoja na "kitufe cha msimbo" cha kipekee
- vitufe vya nambari vimeitwa kwa jina la mtumiaji (na mtumiaji) ili kubaini kusudi la nambari zao zinazohusiana za IR
Maombi ya Wavuti ya ASP. NET SignalR Hub ambayo:
- inasubiri na inapokea "funguo za msimbo" kama amri kutoka kwa mtumiaji anayemkabili mteja wa HTML
- inapopokelewa, inaunganisha kwenye hifadhidata ya SQL na inapata Nambari ya IR kwa kutumia kitufe cha nambari kilichopewa
- hupeleka msimbo uliopatikana wa IR kwa mteja wa SignalR ya Python
Mtumiaji anayekabiliwa na mteja wa Dashibodi ya HTML SignalR ambayo:
- inawasiliana na kitufe cha kipekee cha nambari kwa Hub kupitia API za wateja wa jQuery SignalR
- kila kitufe kwenye Dashibodi kitawakilisha kitufe cha kipekee cha nambari zilizorekodiwa kwenye jedwali la hifadhidata ya SQL
Programu ya huduma ya msingi ya Python SignalR inayoendesha Raspberry Pi 2.0 ambayo:
- hupokea nambari za IR kama amri kutoka kwa Hub
- hutafuta watenganishaji katika Nambari ya IR na kuvunja nambari ndefu sana kuwa sehemu
- inawasiliana juu ya bandari ya Serial kwa Arduino na inaandika kila sehemu mfululizo
Mchoro wa Transmitter IR ya Arduino ambayo:
- inasubiri na inapokea kila sehemu ya nambari za IR juu ya bandari ya Serial
- hukusanya sehemu za nambari katika safu ya bafa ya Nambari za IR
- vifurushi bafa ndani ya amri ya Kusambaza IR kwa kutumia maktaba ya IRLib Arduino
Ikiwa kifaa kinacholengwa kiko karibu na Transmitter ya IR, basi kifaa hicho (kinaweza) kuguswa na ishara ya IR inayosambazwa na Arduino
KUMBUKA
Ingawa, kifaa cha kulenga ambacho ninatumia katika onyesho hili huguswa na ishara za IR, unaweza kutaka kusoma sehemu hii ya IBLE yangu nyingine kwa sababu kwanini nasema kwamba kifaa hicho (kinaweza) kuguswa na ishara ya IR.
Wakati wa kusonga.
Hatua ya 1: Unachohitaji, Kabla ya kile Unachohitaji
Hii inaweza kufundisha na kazi iliyofanywa hapo awali ambayo pia ilisababisha IBLE yangu ya mwisho.
Kwa hivyo, kabla ya kuingia katika kile tunachohitaji kwa IBLE hii, inashauriwa usome hii inayoweza kufundishwa kwa msingi fulani juu ya jinsi:
- Maktaba ya infrared ya Arduino IRLib ilianzishwa
- Jinsi nambari za IR zinazotumiwa katika IBLE hii zilinaswa kwa kutumia Mpokeaji wa IR
- Jinsi nambari za IR zilizopigwa zilitumika kudhibiti vifaa vya kulenga kupitia Transmitter ya IR
Kufuatia kukamilika kwa IBLE hii, nilipeleka programu ya wavuti ya ASP. NET IR Code Recorder ambayo inaweza:
- Kubali Nambari ya IR iliyonaswa pamoja na ufunguo wa nambari iliyoitwa intuitively kama pembejeo kupitia fomu ya wavuti
- Vunja nambari ya urefu wa IR katika vipande chini ya herufi 64 ili kukaa chini ya kikomo cha bafa ya Serial ya Arduino Uno
- Sehemu ya mwisho ya nambari ingerekebishwa mapema na "E" ambayo inaonyesha Arduino kwamba imepokea sehemu ya mwisho ya nambari
- Kila sehemu ingetengwa na bomba la bomba kabla ya kukusanywa tena kwenye kamba ndefu
- Mwishowe, Nambari ya IR iliyogawanywa pamoja na ufunguo wa nambari ilihifadhiwa kwenye hifadhidata ya SQL Server 2012
Ni hifadhidata hii ya SQL inayounda moja ya vifaa vya Kitengo cha Kuendesha Nyumbani kilichofafanuliwa katika IBLE hii.
KUMBUKA
Programu ya Wavuti ya Kirekodi cha IR haifanyi sehemu ya majadiliano hapa kwa sababu zifuatazo:
- Unaweza kukamata nambari za mkono kwa kutumia Mchoro wa Arduino, uzigawanye katika sehemu zilizopangwa kwa bomba na kuzihifadhi kwenye hifadhidata bila kuunda Maombi ya Mtandaoni
- Tofauti na IBLE hii, Kinasa IR kinazingatia mawasiliano ya nyuma kutoka Arduino hadi Raspberry Pi
Kwa hivyo maelezo juu ya mradi huu yatakuwa mada kwa IBLE nyingine
Hatua ya 2: Unachohitaji - vifaa
Raspberry Pi 2.0 inayofanya kazi - Ninapendekeza kusanikisha Ubuntu Mate kwani ina seti nyingi za huduma ikiwa ni pamoja na Ofisi ya OpenLibre ambayo kwa njia ilikuwa ya lazima katika kuandika hii inayoweza kufundishwa, hapo hapo kwenye Raspberry Pi.
Kwa kuongeza, Pi, utahitaji mambo ya nje yafuatayo:
- Jukwaa la kuiga Arduino Uno au kigingi
- Vipeperushi vya IR LED - nilitumia chapa inayoitwa Miguu Mitatu kutoka Amazon.com
- Vipinga 330 au 220 Ohm - nilitumia 220 (nambari ya rangi Nyekundu-Nyekundu-Kahawia) kwa sababu nilikuwa na msaada kadhaa
- Bodi ya mkate wa kawaida, viungio, na PC iliyo na Mazingira ya Arduino imewekwa
- Mtihani wa jaribio - kama vile ufuatiliaji wa Samsung LED unaojulikana na kijijini
Hatua ya 3: Unachohitaji - Programu
Ili kupata vipande vyote pamoja, usanidi wa programu ufuatao utalazimika kusanikishwa na kuendesha:
Kwenye Raspberry Pi, utahitaji kusakinisha zifuatazo:
- IDE ya Arduino - ilitumika kujenga Mchoro na kuiwasha kwa UNO
- Moduli ya Python ya Arduino - kwa mawasiliano ya serial kati ya UNO na Pi
- Maktaba ya mteja wa Python SignalR - Unaweza kutaja maagizo yaliyowekwa hapa
Mashine ya Windows iliyo na mazingira yafuatayo ya maendeleo imewekwa:
- Toleo la bure la Microsoft Visual Studio Express 2013 ili kujenga SignalR Hub na programu ya mteja wa Wavuti
- Toleo la bure la SQL Server 2012 Express kubuni na kujenga hifadhidata ya mwisho-mwisho
Mazingira ya Uhifadhi ya Windows Server Server (IIS):
- Mara tu Kituo cha SignalR na mteja wa Wavuti kujengwa na kupimwa, itahitaji kupelekwa kwa seva ya ndani ya IIS
- Kwa upande wangu, nina mpango wa kutumia kompyuta ndogo ya zamani inayoendesha Windows 7 na IIS kwenye mtandao wangu wa nyumbani
KUMBUKA
Maagizo yote yanatumika kwa toleo la Python 2.7.x. Toleo la 3.0 linaweza kuhitaji kuandikwa tena
Hatua ya 4: Hifadhidata ya Seva ya SQL
Skimu iliyoambatanishwa inaonyesha muundo wa hifadhidata ya msingi ya SQL Server iliyotumiwa katika programu hii na ina meza mbili tu.
Jedwali AutoHubCode
Nguzo mbili muhimu katika jedwali hili ni:
AutoCodeKey - huhifadhi jina linaloweza kutumiwa na kitufe cha Nambari
Kila funguo za nambari hupitishwa na mteja wa kiotomatiki - kwa upande wetu, kitufe cha HTML kutoka ukurasa wa Wavuti
AutoCodeVal - huhifadhi mlolongo wa Nambari mbichi ya IR
Hii ndio nambari halisi ya IR ambayo hupitishwa kwa mteja kwa kujibu na SignalR Hub
Katika kesi hii, mteja wa Python katika mawasiliano ya kila wakati kwa Hub hupokea mlolongo wa nambari ya IR na kuipitisha juu ya Bandari ya Siri kwa Arduino UNO
Jedwali AutoHubLog
- Kumbukumbu code kuombwa na mteja otomatiki.
- Hii ni hatua ya kufuatilia ni nani na lini mfumo ulitumika, na nambari gani iliombwa
Kama ilivyoelezwa, nimetumia SQL Server 2012 kama jukwaa langu la hifadhidata la chaguo. Unaweza kurudia muundo huu rahisi kwenye jukwaa tofauti la hifadhidata kama MySQL, Oracle, n.k.
Walakini, Hati ya SQL kuunda hifadhidata hii imeambatanishwa hapa
KUMBUKA
- Nambari ya Kituo cha SignalR imeundwa kuungana na hifadhidata ya SQL Server 2012
- Kufanya kazi na hifadhidata tofauti kunamaanisha kubadilisha Hub kutumia dereva tofauti ya hifadhidata
Hatua ya 5: Maombi ya Wavuti ya ASP. NET SignalR Hub
Maombi ya Wavuti ya ASP. NET SignalR Hub kwa pamoja inajumuisha vifaa vifuatavyo kama inavyoonyeshwa katika skimu iliyoambatanishwa:
Sehemu ya 1 - Kituo cha SignalR kinachopokea maombi kutoka na kujibu mteja
Vifungu 2, 4 - Ukurasa wa wavuti wa mteja wa HTML na karatasi ya mtindo ambayo kwa pamoja huunda mwisho wa mbele wa mfumo wa Automation na inatoa maagizo kwa Kituo cha Kujiendesha
Sehemu ya 3 - API za jQuery SignalR zinazotumiwa na mteja wa HTML kuwasiliana na Kituo cha Kujiendesha
Sehemu ya 5 - The SignalR Hub haiwasiliani moja kwa moja na hifadhidata. Inafanya hivyo kupitia madarasa ya kati yaliyotengenezwa kwa kutumia Mfumo wa Taasisi
Madarasa haya yanaondoa maelezo ya hifadhidata kutoka kwa programu ya mbele
Sehemu ya 6 - Darasa la huduma ya Hifadhidata ambayo inasaidia kufanya shughuli za Soma-Andika kwenye Hifadhidata ya SQL (iliyoelezewa hapo awali) kwa kutumia madarasa ya Mfumo wa Taasisi.
ASP. NET na SignalR ni teknolojia za Microsoft na mafunzo haya yatakutembeza jinsi programu rahisi ya SignalR inavyojengwa na kupelekwa.
Kile nimejenga hapa ni kwa msingi wa misingi iliyopatikana kutoka kwa mafunzo haya. Wakati unatumwa, programu inapaswa kuonekana sawa na ukurasa wa wavuti ulioonyeshwa kwenye picha ya pili
KUMBUKA KWENYE CODE
Faili ya ZIP iliyo na toleo lililovuliwa la nambari imeambatishwa
Muundo wa folda umeonyeshwa kwa kuona - hata hivyo, darasa zote za mfumo, na hati za jQuery zimeondolewa ili kupunguza ukubwa wa kiambatisho.
Mapendekezo ni kwamba nambari hii itumiwe kama mwongozo kwa sababu unapounda programu mpya ya wavuti ya SignalR kwa kufuata kiunga cha mafunzo hapo juu, maktaba za jQuery za hivi karibuni na madarasa ya mfumo wa ASP. NET yataongezwa kiatomati
Pia, marejeleo ya hati za jQuery kwenye ukurasa wa index.html itabidi ibadilishwe ili kuonyesha toleo la hivi karibuni la maktaba za wateja wa jQuery SignalR ambazo zitaongezwa kiotomatiki unapojenga programu yako ya Wavuti.
Mwishowe, kamba ya unganisho itabidi ibadilishwe ili ilingane na hifadhidata yako kwenye faili zilizoitwa kama Web.config *
Hatua ya 6: Mteja wa Huduma ya SignalR
Wakati Mteja wa SignalR ya HTML ni Kiolesura cha Mtumiaji kinachokabili mbele, Mteja wa Python ni maombi ya huduma ya mwisho ambao kazi yake kuu ni kupokea Nambari ya IR inayosambazwa na Hub na kuipeleka kwa Arduino UNO juu ya mawasiliano ya Serial.
Nambari iliyoambatanishwa inaelezea yenyewe na imeandikwa kwa kutosha kuelezea utendaji wake
Kama inavyoonyeshwa kwenye picha ya skrini iliyojumuishwa, Mteja wa HTML na mteja wa Huduma ya Python wanawasiliana kupitia SignalR Hub kama ifuatavyo:
- Mtumiaji wa mfumo wa kiotomatiki hutoa amri kwa Hub kupitia bonyeza kitufe
- Kila kifungo kinahusishwa na nambari ya ufunguo wa IR na ikibonyezwa, nambari hii hupitishwa kwa Hub
- Hub hupokea nambari hii, inaunganisha kwenye hifadhidata na kupata nambari mbichi ya Ishara ya IR na kuipeleka kwa wateja wote waliounganishwa
Wakati huo huo, Hub huingiza kuingia kwenye jedwali la hifadhidata ya AutoHubLog kurekodi nambari na tarehe na saa iliyoombwa na wateja wa mbali
- Mteja wa huduma ya Python anapokea Nambari ya IR na kuipeleka kwa Arduino UNO kwa usindikaji zaidi
Hatua ya 7: Mchoro na Nambari ya Usambazaji ya Arduino UNO IR
Mzunguko wa Arduino kama inavyoonyeshwa kwenye vielelezo ni rahisi sana kwa mfumo huu na kwa hivyo inaelezewa kwa ufupi:
- LED isiyo na rangi ya IR lazima iwe na waya kwa Dijiti ya Dijiti 3 kwenye UNO - hii ni sharti la maktaba ya IRLib Arduino
- Sababu zimeelezewa katika IBLE yangu ya mapema juu ya kuunda kijijini katika sehemu inayohusiana na maktaba ya IRLib
- LED ya Kijani iliyounganishwa na PIN ya Dijitali 4 ni kiashiria cha kuona kinachowaka wakati UNO imepokea sehemu zote za Nambari ya IR kutoka kwa mteja wa Python anayeendesha Raspberry Pi.
- Kuwa na taa hii ya LED itathibitisha kuwa mawasiliano ya serial kati ya Raspberry Pi na UNO inafanya kazi
- Ili kuwezesha mawasiliano ya serial, UNO imeunganishwa na Raspberry Pi kupitia Bandari ya USB
- Mchoro wa Arduino ulioambatanishwa umetolewa maoni ya kutosha kuelezea kazi yake
- Maoni juu ya nambari pia yanaelezea jinsi mzunguko unahitaji kuunganishwa
KUMBUKA
Kwa mazoezi, Arduino na Pi zinaweza kushikamana kwa pamoja kwenye kitovu cha USB chenye nguvu ya kutosha kuendesha Pi, Arduino na pia kusambaza ishara kali kupitia IR ya IR
Hatua ya 8: Kushikamana na Kupima Mfumo
- Jenga na upeleke ASP. NET SignalR Hub, mteja wa HTML pamoja na hifadhidata ya SQL Server 2012 kwa Seva ya Habari ya Mtandaoni (IIS) kwenye mtandao wako wa nyumbani
- Fikia programu ya wavuti kwa kufungua mteja wa HTML SignalR juu ya
URL ya ukurasa huu kawaida ingekuwa https:// yourComputer: port_number /
-
Bonyeza kitufe kwenye jopo la kudhibiti, na ikiwa programu imetumwa kwa usahihi, Kitovu kitajibu kwa kurudisha Nambari ya IR na kuionyesha kwenye jopo la Grey linalounganisha jopo la kudhibiti.
Kumbuka! Itabidi upakie nambari kwenye hifadhidata yako kwa kuanzisha maktaba ya mpokeaji wa IR na kunasa nambari kama ilivyoelezewa katika IBLE yangu ya awali
-
Unganisha Arduino kwenye Raspberry Pi juu ya USB - fungua IDE ya Arduino kwenye Pi na uhakikishe kuwa UNO inaweza kuanzisha uhusiano na Pi
nakala hizi za mafunzo ya Arduino zinapaswa kukusaidia kupata hii haraka sana
-
Fungua nambari ya chatu na ufanye mabadiliko yafuatayo kama yanavyofaa kwa mazingira yako
- anwani ya Port Port ya UNO yako kama ilivyopatikana kutoka Hatua ya 4
- URL ya kitovu cha SignalR ili kulinganisha URL yako ya karibu kutoka Hatua ya 2 - kwa mfano huu, itakuwa https:// yourComputer: port_number / signalr
- Mwishowe, fungua Mchoro wa Arduino kwenye IDE ya Arduino kwenye Raspberry Pi na uangaze kwa UNO
- Weka ubao wa mkate ambao unashikilia mzunguko karibu na kifaa kinachodhibitiwa - IR LED lazima iwe na laini wazi ya maono na bandari ya mpokeaji ya IR ya kifaa
- Anza programu ya Python kwenye Raspberry Pi kwa kubonyeza kitufe cha F5 kwenye mwambaa zana wa IDLE ya Python
- Rudi kwenye jopo la Udhibiti kwenye programu ya mteja wa HTML (Hatua ya 2) na bonyeza kitufe (kama vile Power On au Volume Up)
Ikiwa mfumo umewekwa kwa usahihi, basi unapaswa kuwa na uwezo wa kuleta ukurasa wa mteja wa HTML kwenye simu yako au kompyuta kibao na kudhibiti vifaa vyako na vifungo kwenye ukurasa wako wa mteja wa HTML.
Hatua ya 9: Mfumo unafanya kazi
Vielelezo hapo juu vinaonyesha Mfumo wa Uendeshaji wa Nyumbani ukifanya kazi mara tu utakapowekwa.
Tangu kuchapisha IBLE hii, nimeongeza kiwambo kwa kunasa Nambari kadhaa za IR kutoka kwa TV yangu ya VIZIO LED
Kama inavyoonyeshwa bega kwa mbali na Kiwanda cha mbali cha Televisheni katika mwonekano wa kwanza, kazi chache muhimu za kijijini hiki zimejengwa kwenye UI ya Wavuti inayopatikana kupitia kibao changu.
Vielelezo vya baadaye vinaonyesha kibao mbele na TV nyuma ikijibu amri zilizotolewa kutoka kwa kiolesura cha Wavuti:
- Amri ya KUZIMA - Televisheni imezimwa
- Power ON amri - TV inawasha na nembo ya "V" inaonekana wakati skrini inaimarisha
- Nyamazisha amri - Bar ya usawa inakuja na spika imenyamazishwa
Katika majaribio yote, eneo la Grey kando ya dashibodi kwenye skrini ya kompyuta kibao linaonyesha amri iliyotolewa na mteja, na majibu yanayorudishwa na SignalR Hub ya mbali
Hatua ya 10: Kuimarisha Mfumo wa Uendeshaji na Marekebisho yanayohusiana
Mfumo huu unaweza kupanuliwa kwa kuongeza nambari zaidi zilizonaswa kutoka kwa mifumo tofauti. Wakati sehemu hii ni rahisi, kuna mambo mengine mawili ambayo itabidi uzingatie.
Uboreshaji 1 (Haraka): Kufanya kazi na Ishara za IR za urefu tofauti
-
Nambari za IR za mifumo tofauti huja na urefu tofauti, hata kati ya bidhaa mbili kutoka kwa mtengenezaji mmoja.
Kwa mfano, katika kesi hii, urefu wa safu ya nambari za IR kwa TV ya LED ni 67 wakati ile ya Samsung Sound Bar iko karibu 87
- Maana yake, ikiwa ningewasha Sauti ya Sauti kwanza, safu ya Bafa ya IR kwenye mchoro wa Arduino ingejazwa na mlolongo wa Nambari ya IR iliyo na nambari 87
- Kufuatia hii, ikiwa ningewasha Runinga ya LED, ingejaza safu ya Bafa ya IR na nambari 67 tu, lakini nambari 20 zilizobaki kutoka kwa operesheni ya zamani bado zingekuwa karibu
Matokeo? TV ya LED haiwashi kwa sababu bafa ya msimbo wa IR imeharibiwa na nambari 20 zaidi ambazo hazijasafishwa kutoka kwa operesheni iliyopita!
Rekebisha 1 (njia rahisi ya kutoka, haifai)
Badilisha Mchoro wa Arduino kama ifuatavyo:
Badilisha simu zifuatazo za kazi katika kitanzi () {} kazi
kusambaza IRCode ();
kusambaza CodeCIR (c);
Fanya mabadiliko kwenye saini ya kazi hapo juu:
transmit batiliIRCode (int codeLen) {// RAWBUF mara kwa mara kubadilishwa na codeLen IRTransmitter. IRSendRaw:: send (IRCodeBuffer, codeLen, 38); }
Ingawa hii ni rahisi, safu haifutwa kabisa na kwa hivyo hii sio suluhisho safi sana
Rekebisha 2 (Sio ngumu, ilipendekezwa)
Tangaza ubadilishaji wa ziada juu kabisa ya Mchoro wa Arduino, baada ya sehemu ya maoni:
haijasajiliwa EMPTY_INT_VALUE;
Ongeza hii juu ya kazi ya kuanzisha ():
// Nasa hali ya asili ya ubadilishaji wa nambari isiyosainiwa isiyosainiwa EMPTY_INT_VALUE = IRCodeBuffer [0];
Tembeza chini na uongeze kazi mpya kwenye mchoro mara tu baada ya kazi ya transmitIRCode ():
batili clearIRCodeBuffer (int codeLen) {// Futa nambari zote kutoka kwa safu // KUMBUKA: kuweka vitu vya safu kuwa 0 sio suluhisho! kwa (int i = 1; i <= codeLen; i ++) {IRCodeBuffer [i-1] = EMPTY_INT_VALUE;}}
Mwishowe, piga kazi mpya hapo juu katika eneo lifuatalo katika kazi ya kitanzi ():
// Rudisha - Endelea kusoma Serial PortclearIRCodeBuffer (c);…
Hii ni njia safi zaidi kwani inabadilisha tena maeneo yote katika safu ya bafa ya IR ambayo ilikuwa na idadi kubwa zaidi ya ishara ya hivi karibuni ya IR Code bila kuacha chochote kwa bahati.
Uboreshaji 2 (Kuhusika zaidi): Kurudia Usafirishaji wa Ishara ya IR kwa vifaa fulani
Vifaa vingine vinahitaji ishara sawa kupitishwa mara kadhaa ili kujibu Mfano: Katika kesi hii, Bar ya Sauti ya Samsung inahitaji nambari ile ile kutumwa mara mbili na pengo la sekunde 1
Kurekebisha katika Dhana imejadiliwa hapa kwani inahusika zaidi na itahitaji kupima
Kuongeza utendaji wa kurudia kwenye Mchoro wa Ardunio itamaanisha kuwa italazimika kuwasha Mchoro kila wakati unapoongeza kifaa kipya kwenye Mfumo wako wa Kujiendesha wa Nyumbani.
Badala yake, kuongeza urekebishaji huu kwa mteja wa HTML SignalR na programu tumizi ya Huduma ya SignalR inafanya suluhisho iwe rahisi zaidi. Na hii inaweza kupatikana kwa kanuni kama ifuatavyo:
Rekebisha mteja wa SignalR HTML kusambaza habari inayorudia kwa Hub
Fungua index.html na upachike thamani ya kurudia kwenye kitufe cha HTML kama hivyo:
thamani = "SMSNG-SB-PWR-ON" itakuwa thamani = "SMSNG-SB-PWR-ON_2_1000"
Ambapo, 2 ni thamani ya kurudia na 1000 ni thamani ya kuchelewa kwa millisecond kati ya ishara mbili za kurudia
Unapobofya kitufe hiki, kitovu cha SignalR kitapokea Nambari muhimu + Rudia_Spec
Rekebisha njia za upande wa Seva ya SignalR kuchanganua tu Nambari muhimu:
- Tumia Nambari ya Msimbo ili kupata Nambari ya IR kutoka kwa hifadhidata kama kawaida
- Peleka Nambari muhimu + Rudia_Spec na IRCode kwa Wateja wa SingalR kama kawaida
Rekebisha Matumizi ya Huduma ya SignalR kusambaza ishara kwa kutumia maadili ya Kurudia:
Fungua mteja wa Python na urekebishe kazi mbili zifuatazo:
def print_command_from_hub (buttonId, cmdSrc):
# soma nambari ya kurudia kutoka kwa kitufeId thamani
def transmitToArduino (IRSignalCode, delim, endPrefix):
# kuanzisha kwa muda au kwa kitanzi ili kusambaza ishara kwa masafa unayotaka
- Kwa njia hii, Arduino haifai kuangaza mara kwa mara
- Idadi yoyote ya masafa ya kurudia inaweza kujengwa katika mfumo huu
- Kwa kuongeza, ikiwa unatumia UNO, kuna kikomo kwa saizi Mchoro wako unaweza kukua kuwa!
Hatua ya 11: Maswala Yanayojulikana na wasiwasi wa Usalama
Kama ilivyo kwa mifumo iliyojengwa mara ya kwanza kabisa, hii ina maswala kadhaa ambayo yalitoka wakati wa kujaribu.
Suala la 1: Amri za kurusha kwa mfululizo haraka na ucheleweshaji chini ya sekunde kati ya kubofya vitufe ilisababisha mfumo kutosikia baada ya kujibu kwa mara kadhaa za kwanza.
- Kuanzisha upya mteja wa SignalR ya Python hurejesha mfumo kwa shughuli za kawaida
- Maazimio ya haraka yanaweza kuwa ni kuondoa matokeo yasiyotakikana ya Utatuaji katika zote mbili, Mteja wa SignalR ya Python na pia Mchoro wa Arduino na kurudia majaribio haya
- Mahali pengine pa kutazama ni mawasiliano ya serial yenyewe - ingewezekana kuongeza nambari ili kuvuta bafa haraka?
Hiyo ilisema, nimeona kuwa Runinga yangu haijibu vizuri kwa kijijini chake cha kiwanda - kwa hivyo asili ya mawasiliano ya IR ya Runinga yangu inaweza kuwa sababu inayochangia pia.
Suala la 2: Skrini ya HTML inaacha kujibu kubofya vitufe baada ya kipindi kirefu cha kutokuwa na shughuli
Kawaida kuburudisha ukurasa hutatua tabia hii - sababu ya tabia hii hata hivyo bado haijulikani
MAWASILIANO YA USALAMA
Mfumo huu umebuniwa kwa matumizi ya mtandao wa nyumbani (nyumbani) tu na hauna vizuizi muhimu vya usalama vinavyoweza kutumiwa kwenye wavuti
Kwa hivyo inashauriwa kuwa Kituo cha SignalR kipelekwe kwa mashine ya ndani kwenye mtandao wako wa nyumbani / nyumbani
Asante kwa kusoma IBLE yangu na natumahi kuwa na furaha!
Ilipendekeza:
Kikapu cha Kunyongwa cha Kituo cha hali ya hewa cha juu: Hatua 11 (na Picha)
Kikapu cha kunyongwa cha Kituo cha hali ya hewa ya juu: Halo kila mtu! Katika chapisho hili la blogi ya T3chFlicks, tutakuonyesha jinsi tulivyotengeneza kikapu kizuri cha kunyongwa. Mimea ni nyongeza safi na nzuri kwa nyumba yoyote, lakini inaweza kuchosha haraka - haswa ikiwa unakumbuka tu kuyamwagilia wakati wako
Kituo cha hali ya hewa cha DIY na Kituo cha Sensorer cha WiFi: Hatua 7 (na Picha)
Kituo cha hali ya hewa cha DIY na Kituo cha Sensor cha WiFi: Katika mradi huu nitakuonyesha jinsi ya kuunda kituo cha hali ya hewa pamoja na kituo cha sensorer cha WiFi. Kituo cha sensorer hupima data ya joto na unyevu wa ndani na kuipeleka, kupitia WiFi, kwa kituo cha hali ya hewa. Kituo cha hali ya hewa kisha kinaonyesha t
Kituo cha Hali ya Hewa cha Nyumbani cha ESP-Sasa: Hatua 9 (na Picha)
Kituo cha hali ya hewa cha ESP-Sasa: Nilitaka kuwa na kituo cha hali ya hewa nyumbani kwa muda mrefu na ambayo kila mtu katika familia angeweza kuangalia kwa urahisi hali ya joto na unyevu. Mbali na kufuatilia hali ya nje nilitaka kufuatilia vyumba maalum ndani ya nyumba kama wel
Maagizo ya Kutengeneza Kiambatisho cha Uunganishaji wa Baa Nne kwa Kituo cha Kuweka Mguu wa Kituo: Hatua 9 (na Picha)
Maagizo ya Kufanya Kiambatisho cha Uunganishaji wa Baa Nne kwa Kituo cha Kuweka Mguu wa Kituo: Viti vya magurudumu ya katikati ya gari (PWC) vimekuwa maarufu zaidi katika miaka ya hivi karibuni. Walakini, kwa sababu ya kuwekwa kwa watangulizi wa mbele, viti vya miguu vya jadi vilivyowekwa kando vimebadilishwa na kitanda kimoja cha katikati. Kwa bahati mbaya, katikati-mou
Kituo cha Umeme cha Dorm / Supu ya Kituo cha kuchaji cha NiMH: Hatua 3
Kituo cha Umeme cha Dorm / Kituo cha kuchaji cha NiMH kilichopikwa: Nina kituo cha umeme. Nilitaka kubana kila kitu kilichotozwa kwenye benchi moja ya kazi na kuwa na nafasi ya kuuza / nk juu yake. Orodha ya vitu vya nguvu: Simu ya rununu (imevunjika, lakini inachaji betri zangu za simu, kwa hivyo kila wakati imechomekwa ndani na kuchapisha chargi