Përmbajtje:
- Hapi 1: Ajo që ju nevojitet, para asaj që ju nevojitet
- Hapi 2: Ajo që ju nevojitet - pajisja
- Hapi 3: Çfarë ju nevojitet - Softueri
- Hapi 4: Baza e të dhënave SQL Server
- Hapi 5: Aplikacioni Web i ASP.NET SignalR Hub
- Hapi 6: Klienti i Shërbimit Python SignalR
- Hapi 7: Skica dhe Kodi i Transmetimit Arduino UNO IR
- Hapi 8: Lidhja dhe testimi i sistemit
- Hapi 9: Sistemi në veprim
- Hapi 10: Përmirësimi i Sistemit të Automatizimit dhe Rregullimeve të Ndërlidhura
- Hapi 11: Çështje të njohura dhe shqetësime për sigurinë
Video: Qendra e Automatizimit të Raspberry Pi-Arduino-SignalR Home: 11 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Pas disa IBLE -ve të preludit tim të botuara këtu dhe këtu, ky projekt hedh hapin e parë drejt ndërtimit të një versioni bazë të një Qendre Funksionale të Automatizimit të Shtëpisë.
Kam përdorur disa teknologji të ndryshme në një përpjekje për të kuptuar se si mund të jem në gjendje të përdor të gjitha gjërat që kam mësuar në të kaluarën dhe gjërat e reja që vazhdoj të mësoj me përparimin e ditëve.
Prandaj, ky Qendër Automatizimi përbëhet nga përbërësit e mëposhtëm:
Një bazë të dhënash SQL Server 2012 që:
- ruan një listë të kodeve të paracaktuara me rreze infra të kuqe (IR) në një tabelë së bashku me një "çelës kodik" unik
- çelësat e kodit emërtohen në mënyrë intuitive (nga përdoruesi) në mënyrë që të identifikojnë qëllimin e kodeve të tyre IR të lidhura
Një aplikacion në internet në kohë reale ASP. NET SignalR Hub që:
- pret dhe merr "çelësat e kodit" si komanda nga një përdorues që përballet me klientin HTML
- kur merret, lidhet me bazën e të dhënave SQL dhe merr një kod IR duke përdorur çelësin e kodit të furnizuar
- transmeton kodin IR të marrë në një klient Python SignalR
Një përdorues përballë klientit të pultit të HTML SignalR që:
- komunikon një çelës kod unik në Hub përmes API -ve të jQuery SignalR Client
- çdo buton në Panel do të përfaqësojë një çelës kod unik të regjistruar në tabelën e bazës së të dhënave SQL
Një aplikacion i shërbimit të sfondit Python SignalR që funksionon në Raspberry Pi 2.0 që:
- merr kodet IR si komanda nga Hub
- kërkon përcaktues në Kodin IR dhe e ndan kodin shumë të gjatë në segmente
- komunikon mbi portin Serial me Arduino dhe shkruan secilin segment radhazi
Një skicë transmetuese IR Arduino që:
- pret dhe merr secilin nga segmentet e kodit IR mbi portin Serial
- grumbullon segmentet e kodit në një grup tampon IR Code
- paketon tamponin në një komandë IR Transmit duke përdorur bibliotekën IRLib Arduino
Nëse pajisja e synuar është në afërsi të transmetuesit IR, atëherë pajisja (mund) të reagojë ndaj sinjalit IR të transmetuar nga Arduino
SHËNIM
Megjithëse, pajisja e synuar që unë përdor në këtë demonstrim reagon ndaj sinjaleve IR, ju mund të dëshironi të lexoni këtë pjesë të IBLE tim tjetër për arsyet pse them se pajisja (mund) të reagojë ndaj sinjalit IR.
Koha për tu rrokullisur.
Hapi 1: Ajo që ju nevojitet, para asaj që ju nevojitet
Ky udhëzues ngrihet me disa nga punët e bëra më parë, të cilat gjithashtu rezultuan në IBLE tim të fundit.
Pra, para se të hyjmë në atë që na nevojitet për këtë IBLE, rekomandohet që ta lexoni këtë udhëzues për disa sfond se si:
- Biblioteka Infrared Arduino IRLib u krijua
- Si u përdorën kodet IR të përdorura në këtë IBLE duke përdorur një Marrës IR
- Si u përdorën kodet IR të kapura për të kontrolluar pajisjen e synuar përmes një transmetuesi IR
Pas përfundimit të këtij IBLE, unë vendosa një aplikacion në internet ASP. NET IR Code Recorder që do të:
- Pranoni kodin IR të kapur së bashku me një çelës kodik të emëruar në mënyrë intuitive si hyrje përmes një forme uebi
- Thyejeni kodin IR shumë të gjatë në segmente më pak se 64 karaktere të gjata për të qëndruar nën kufirin serik të tamponit të Arduino Uno
- Segmenti i fundit i kodeve do të fiksohet paraprakisht me një "E" që i tregon Arduino-s se është marrë segmenti i fundit i kodit
- Çdo segment do të ndahej nga një ndarës tubash para se të mblidhej përsëri në një varg të gjatë
- Së fundi, Kodi i segmentuar IR së bashku me çelësin e tij të kodit u ruajt në një bazë të dhënash SQL Server 2012
Thisshtë kjo bazë e të dhënave SQL që formon një nga përbërësit e Qendrës së Automatizimit të Shtëpisë të përpunuar në këtë IBLE.
SHËNIM
Aplikacioni në internet IR Code Recorder nuk është pjesë e diskutimit këtu për arsyet e mëposhtme:
- Ju mund të kapni me dorë kodet duke përdorur Arduino Sketch, t'i ndani ato në seksione të përcaktuara me tuba dhe t'i ruani ato në bazën e të dhënave pa pasur nevojë të ndërtoni një Aplikacion të përpunuar në internet
- Ndryshe nga ky IBLE, IR Recorder fokusohet në komunikimin e kundërt nga Arduino në Raspberry Pi
Prandaj detajet mbi këtë projekt do të ishin temë për një IBLE tjetër
Hapi 2: Ajo që ju nevojitet - pajisja
Një Raspberry Pi 2.0 funksionale - Unë rekomandoj instalimin e Ubuntu Mate pasi ka një grup më të pasur karakteristikash përfshirë OpenLibre Office i cili nga rruga ishte i domosdoshëm në dokumentimin e këtij udhëzimi, pikërisht atje në Raspberry Pi.
Përveç kësaj, Pi, do t'ju duhen pjesët e jashtme të mëposhtme:
- Platforma prototipuese Arduino Uno ose një klon
- Një LED transmetues IR - Kam përdorur një markë të quajtur Three Legs nga Amazon.com
- 330 ose një rezistencë 220 Ohm-kam përdorur 220 (kodi i ngjyrës Kuq-Kuq-Kafe) sepse kisha disa të dobishme
- Pllaka e zakonshme e bukës, lidhëset dhe një kompjuter me Mjedisin Arduino të instaluar
- Një kandidat për provë - siç është Samsung LED Monitori i kudogjendur me një telekomandë
Hapi 3: Çfarë ju nevojitet - Softueri
Për të mbledhur të gjitha pjesët së bashku, konfigurimi i mëposhtëm i softuerit do të duhet të instalohet dhe funksionojë:
Në Raspberry Pi, do t'ju duhet të instaloni sa vijon:
- Arduino IDE - përdoret për të ndërtuar Skicën dhe për ta dërguar atë në UNO
- Moduli Python për Arduino - për komunikim serik midis UNO dhe Pi
- Biblioteka e klientit Python SignalR - Ju mund t'i referoheni udhëzimeve të bashkangjitura këtu
Një makinë Windows me mjedisin e mëposhtëm të zhvillimit të instaluar:
- Edicion falas i Microsoft Visual Studio Express 2013 për të ndërtuar SignalR Hub dhe aplikacionin e klientit Web
- Botim falas i SQL Server 2012 Express për të hartuar dhe ndërtuar bazën e të dhënave të pasme
Një mjedis pritës i Windows Internet Server i Informacionit (IIS):
- Pasi të jetë ndërtuar dhe testuar SignalR Hub dhe klienti Web, do të duhet të vendoset në një server lokal IIS
- Në rastin tim, kam në plan të përdor një laptop të vjetër që funksionon me Windows 7 me IIS në rrjetin tim në shtëpi
SHËNIM
Të gjitha udhëzimet janë të zbatueshme për versionin Python 2.7.x. Versioni 3.0 mund të kërkojë rishkrim
Hapi 4: Baza e të dhënave SQL Server
Skema e bashkangjitur tregon strukturën e një baze të dhënash bazë SQL Server të përdorur në këtë aplikacion dhe përmban vetëm dy tabela.
Tabela AutoHubCode
Dy kolonat e rëndësishme në këtë tabelë janë:
AutoCodeKey - ruan emrin miqësor për përdoruesin e çelësit të Kodit
Secili nga çelësat e kodit transmetohet nga një klient automatizimi - në rastin tonë, një buton HTML nga një faqe në internet
AutoCodeVal - ruan sekuencën e papërpunuar të Kodit IR
Ky është kodi IR aktual që i transmetohet klientit në përgjigje nga Qendra SignalR
Në këtë rast, një klient Python në komunikim të vazhdueshëm me Qendrën merr sekuencën e kodit IR dhe e transmeton atë mbi Portin Serial tek Arduino UNO
Tabela AutoHubLog
- Regjistron kodin e kërkuar nga klienti i automatizimit.
- Kjo është një masë për të gjetur se kush dhe kur e ka përdorur sistemin, dhe çfarë kodi është kërkuar
Siç u përmend, unë kam përdorur SQL Server 2012 si platformën time të bazës së të dhënave të zgjedhur. Ju mund ta rikrijoni këtë dizajn të thjeshtë në një platformë të ndryshme të bazës së të dhënave si MySQL, Oracle, etj.
Sidoqoftë, Script Script për të krijuar këtë bazë të dhënash është bashkangjitur këtu
SHËNIM
- Kodi për Qendrën SignalR është krijuar për t'u lidhur me një bazë të dhënash SQL Server 2012
- Të punosh me një bazë të dhënash të ndryshme do të thotë të ndryshosh Qendrën për të përdorur një drejtues të ndryshëm të bazës së të dhënave
Hapi 5: Aplikacioni Web i ASP. NET SignalR Hub
Aplikacioni Web ASP. NET SignalR Hub së bashku përfshin përbërësit e mëposhtëm siç tregohet në skemën e bashkangjitur:
Seksioni 1 - Qendra SignalR që merr kërkesa dhe i përgjigjet klientit
Seksionet 2, 4 - Faqja e internetit e klientit HTML dhe fleta e stilit të saj që së bashku formojnë pjesën e përparme të sistemit të Automatizimit dhe lëshojnë komanda në Qendrën e Automatizimit
Seksioni 3 - API -të jQuery SignalR të përdorura nga klienti HTML për të komunikuar me Qendrën e Automatizimit
Seksioni 5 - Qendra SignalR nuk komunikon drejtpërdrejt me bazën e të dhënave. E bën këtë përmes klasave të ndërmjetme të krijuara duke përdorur Entity Framework
Këto klasa abstragojnë detajet e bazës së të dhënave nga aplikacioni front end
Seksioni 6 - Klasa e shërbimit të bazës së të dhënave që ndihmon në kryerjen e operacioneve Lexo -Shkruaj në bazën e të dhënave SQL (e përshkruar më parë) duke përdorur klasat Entity Framework
ASP. NET dhe SignalR janë teknologji të Microsoft -it dhe ky tutorial do t'ju tregojë sesi ndërtohet dhe vendoset një aplikacion i thjeshtë SignalR.
Ajo që kam ndërtuar këtu bazohet në bazat e marra nga ky tutorial. Kur vendoset, aplikacioni duhet të duket i ngjashëm me faqen në internet të treguar në foton e dytë
SHENIM N ON KOD
Një skedar ZIP që përmban një version të zhveshur të kodit është bashkangjitur
Struktura e dosjeve është siç tregohet në pamjen - megjithatë, të gjitha klasat kuadër dhe skriptet jQuery janë hequr për të zvogëluar madhësinë e bashkëngjitjes
Rekomandimi është që ky kod të përdoret si udhëzues sepse kur krijoni një aplikacion të ri SignalR Web duke ndjekur lidhjen mësimore më sipër, bibliotekat më të fundit të jQuery dhe klasat e kornizës ASP. NET do të shtohen automatikisht
Gjithashtu, referencat për skriptet jQuery në faqen index.html do të duhet të ndryshohen për të pasqyruar versionin më të fundit të bibliotekave të klientëve jQuery SignalR që do të shtohen automatikisht kur ndërtoni aplikacionin tuaj në internet.
Së fundi, vargu i lidhjes do të duhet të ndryshohet që të përputhet me bazën e të dhënave tuaja në skedarët e emëruar si Web.config*
Hapi 6: Klienti i Shërbimit Python SignalR
Ndërsa Klienti HTML SignalR është një Ndërfaqja e Përdoruesit me një pamje të përparme, Klienti Python është një aplikacion i shërbimit të pasmë, funksioni kryesor i të cilit është të marrë Kodin IR të transmetuar nga Qendra dhe ta përcjellë atë në Arduino UNO mbi komunikimin Serial.
Kodi i bashkangjitur është vetë-shpjegues dhe është mjaft i dokumentuar për të përshkruar funksionalitetin e tij
Siç tregohet në pamjen e përbërë të ekranit, Klienti HTML dhe klienti i Shërbimit Python komunikojnë përmes Qendrës SignalR si më poshtë:
- Përdoruesi i sistemit të automatizimit i jep një komandë Qendrës përmes një klikimi butoni
- Çdo buton shoqërohet me kodin IR Key dhe kur klikohet, ky kod transmetohet në Hub
-
Qendra merr këtë kod, lidhet me bazën e të dhënave dhe merr kodin e papërpunuar të Sinjalit IR dhe e transmeton atë tek të gjithë klientët e lidhur
Në të njëjtën kohë, Hub regjistron një hyrje në tabelën e bazës së të dhënave AutoHubLog duke regjistruar kodin dhe datën dhe kohën kur është kërkuar nga klientët në distancë
- Klienti i shërbimit Python merr Kodin IR dhe e transmeton atë në Arduino UNO për përpunim të mëtejshëm
Hapi 7: Skica dhe Kodi i Transmetimit Arduino UNO IR
Qarku Arduino siç tregohet në pamjet është mjaft i thjeshtë për këtë sistem dhe prandaj përshkruhet shkurtimisht:
- IR LED pa ngjyrë duhet të lidhet me PIN -in dixhital 3 në UNO - kjo është një kërkesë e bibliotekës IRLib Arduino
- Arsyet janë përshkruar në IBLE tim të mëparshëm për klonimin e një telekomande në pjesën që lidhet me bibliotekën IRLib
- LED i Gjelbër i lidhur me PIN dixhital 4 është një tregues vizual që ndizet kur UNO ka marrë të gjitha pjesët e IR Code nga klienti Python që funksionon në Raspberry Pi.
- Duke ndezur këtë LED do të konfirmojë që komunikimi serik midis Raspberry Pi dhe UNO po funksionon
- Për të mundësuar komunikimin serik, UNO është e lidhur me Raspberry Pi përmes Portës USB
- Skica Arduino e bashkangjitur komentohet mjaftueshëm për të përshkruar funksionin e tij
- Komentet në krye të kodit gjithashtu përshkruajnë sesi qarku duhet të lidhet
SHËNIM
Në praktikë, Arduino dhe Pi mund të lidhen bashkërisht me një shpërndarës USB të fuqizuar mjaftueshëm për të drejtuar Pi, Arduino dhe gjithashtu të transmetojë një sinjal të fortë përmes LED LED
Hapi 8: Lidhja dhe testimi i sistemit
- Ndërtoni dhe vendosni ASP. NET SignalR Hub, klienti HTML së bashku me bazën e të dhënave SQL Server 2012 në një Server të Informacionit të Internetit (IIS) në rrjetin tuaj shtëpiak lokal
- Qasuni në aplikacionin në internet duke hapur klientin HTML SignalR mbi
URL -ja në këtë faqe zakonisht do të ishte https:// yourComputer: port_number/
-
Klikoni një buton në panelin e kontrollit dhe nëse aplikacioni është vendosur si duhet, Qendra do të përgjigjet duke kthyer Kodin IR dhe duke e shfaqur atë në panelin Gri ngjitur me panelin e kontrollit
Mbani mend! Ju do të duhet të ngarkoni kodet në bazën tuaj të të dhënave duke krijuar bibliotekën e marrësit IR dhe duke kapur kodet siç përshkruhet në IBLE tim të mëparshëm
-
Lidhni Arduino me Raspberry Pi përmes USB - hapni Arduino IDE në Pi dhe sigurohuni që UNO të krijojë lidhje me Pi
këta artikuj tutorialë Arduino duhet t'ju ndihmojnë të arrini në këtë mjaft shpejt
-
Hapni kodin Python dhe bëni ndryshimet e mëposhtme si të zbatueshme për mjedisin tuaj
- adresa e Portit Serial të UNO -së tuaj të marrë nga Hapi 4
- URL -ja e qendrës SignalR që të përputhet me URL -në tuaj lokale nga Hapi 2 - në këtë shembull, do të ishte https:// yourComputer: port_number/signalr
- Së fundi, hapni Skicën Arduino në Arduino IDE në Raspberry Pi dhe futeni në UNO
- Vendoseni tabelën e bukës që mban qarkun në afërsi të pajisjes që do të kontrollohet - LED IR duhet të ketë një vizion të qartë me portën e marrësit IR të pajisjes
- Filloni programin Python në Raspberry Pi duke shtypur butonin F5 në shiritin e veglave Python IDLE
- Kthehuni te Paneli i Kontrollit në programin e klientit HTML (Hapi 2) dhe klikoni një buton (të tillë si Power On ose Volume Up)
Nëse sistemi është vendosur saktë, atëherë duhet të jeni në gjendje të shfaqni faqen e klientit HTML në telefonin ose tabletin tuaj dhe të kontrolloni pajisjen tuaj me butonat në faqen tuaj të klientit HTML.
Hapi 9: Sistemi në veprim
Pamjet e mësipërme tregojnë Sistemin e Automatizimit të Shtëpisë në veprim pasi të jetë konfiguruar.
Që nga publikimi i këtij IBLE, unë e kam zgjeruar ndërfaqen duke kapur disa Kode IR nga televizori im VIZIO LED
Siç tregohet krah për krah me telekomandën e fabrikës në pamjen e parë vizuale, disa funksione thelbësore të këtij telekomanda janë integruar në UI të Uebit të aksesuara përmes tabletit tim
Pamjet e mëvonshme tregojnë tabletin në plan të parë me TV në pjesën e pasme duke iu përgjigjur komandave të lëshuara nga ndërfaqja në internet:
- Komanda Power OFF - Televizori fiket
- Komanda Power ON - TV ndizet dhe logoja "V" shfaqet kur ekrani ndizet
- Komanda Mute ON - Një shirit horizontal del me altoparlantin në heshtje
Në të gjitha testet, zona Gri së bashku me pultin në ekranin e tabletit shfaq komandën e lëshuar nga klienti dhe përgjigjen e dërguar përsëri nga Qendra e largët SignalR
Hapi 10: Përmirësimi i Sistemit të Automatizimit dhe Rregullimeve të Ndërlidhura
Ky sistem mund të zgjerohet duke shtuar më shumë kode të kapura nga sisteme të ndryshme. Ndërsa kjo pjesë është e lehtë, ka dy faktorë të tjerë që do të duhet të merrni parasysh.
Rritja 1 (e shpejtë): Puna me sinjale IR me gjatësi të ndryshme
-
Kodet IR të sistemeve të ndryshme vijnë me gjatësi të ndryshme, madje edhe midis dy produkteve nga i njëjti prodhues.
Për shembull, në këtë rast, gjatësia e grupit të kodit IR për TV LED është 67 ndërsa ajo e Samsung Sound Bar është rreth 87
- Që do të thotë, nëse do të ndizja Sound Bar së pari, grupi IR Buffer në skicën Arduino do të mbushej me një sekuencë IR Code që përmban 87 kode
- Pas kësaj, nëse ndizja TV LED, do të mbushte grupin IR Buffer me vetëm 67 kode, por 20 kodet e mbetura nga operacioni i mëparshëm do të ishin akoma rreth
Rezultati? TV LED nuk ndizet sepse Buffer IR Code është korruptuar nga 20 kodet shtesë të pa pastruara nga operacioni i mëparshëm!
Fiks 1 (mënyra e lehtë për të dalë, nuk rekomandohet)
Ndryshoni Skicën Arduino si më poshtë:
Ndryshoni thirrjet e funksionit të mëposhtëm në funksionin loop () {}
transmitIRCode ();
për të transmetuar Kodin IR (c);
Bëni ndryshime në nënshkrimin e funksionit të mësipërm:
void transmitIRCode (int codeLen) {// RAWBUF konstante e zëvendësuar me codeLen IRTransmitter. IRSendRaw:: send (IRCodeBuffer, codeLen, 38); }
Ndërsa kjo është e lehtë, grupi kurrë nuk pastrohet plotësisht dhe për këtë arsye kjo nuk është një zgjidhje shumë e pastër
Rregullimi 2 (Jo i vështirë, rekomandohet)
Shpallni një ndryshore shtesë në krye të Skicës Arduino, pas pjesës së komenteve:
pa shenjë në EMPTY_INT_VALUE;
Shtojeni këtë në krye të funksionit setup ():
// Kapni gjendjen natyrore të një variabli të plotë pa shenjë të zbrazëtEMPTY_INT_VALUE = IRCodeBuffer [0];
Shkoni poshtë dhe shtoni një funksion të ri në skicë menjëherë pas funksionit transmitIRCode ():
void clearIRCodeBuffer (int codeLen) {// Pastroni të gjithë kodet nga grupi // SHENIM: vendosja e elementeve të grupit në 0 nuk është zgjidhje! për (int i = 1; i <= codeLen; i ++) {IRCodeBuffer [i-1] = EMPTY_INT_VALUE;}}
Së fundi, thirrni funksionin e ri më lart në vendndodhjen e mëposhtme në funksionin loop ():
// Rivendos - Rifilloni leximin Serial PortclearIRCodeBuffer (c);…
Kjo është një qasje më e pastër pasi në të vërtetë rivendos të gjitha vendet në grupin Buffer IR që ishin të populluara nga sinjali më i fundit i Kodit IR IR pa i lënë asgjë rastësisë.
Përmirësimi 2 (Më shumë i përfshirë): Përsëritja e transmetimit të sinjalit IR për pajisje të caktuara
Disa pajisje kërkojnë që i njëjti sinjal të transmetohet shumë herë për t'u përgjigjur Shembull: Në këtë rast, Samsung Sound Bar kërkon që i njëjti kod të dërgohet dy herë me një hendek prej 1 sekonde
Rregullimi në Koncept është diskutuar këtu pasi është pak më i përfshirë dhe do të ketë nevojë për testime
Shtimi i funksionalitetit të përsëritur në Ardunio Sketch do të thotë që ju do të duhet të ndizni Skicën sa herë që shtoni një pajisje të re në Sistemin tuaj të Automatizimit të Shtëpisë
Në vend të kësaj, shtimi i këtij rregullimi në klientin HTML SignalR dhe aplikacionin Python SignalR Service e bën zgjidhjen shumë më fleksibile. Dhe kjo mund të arrihet në parim si më poshtë:
Ndryshoni klientin SignalR HTML për të transmetuar informacion të përsëritur në Hub
Hapni index.html dhe futni vlerën e përsëritjes në butonin HTML si kjo:
vlera = "SMSNG-SB-PWR-ON" do të bëhet vlerë = "SMSNG-SB-PWR-ON_2_1000"
Ku, 2 është vlera e përsëritjes dhe 1000 është vlera e vonesës në milisekonda midis dy sinjaleve të përsëritjes
Kur klikoni në këtë buton, qendra SignalR do të marrë Kodin Kryesor+Repeat_Spec
Ndryshoni metodat e serverit SignalR për të analizuar vetëm Kodin Kryesor:
- Përdorni Kodin Kyç për të tërhequr Kodin IR nga baza e të dhënave si zakonisht
- Transmetoni Kodin Kryesor+Repeat_Spec dhe IRCode tek klientët SingalR si zakonisht
Ndryshoni Aplikacionin e Shërbimit Python SignalR për të transmetuar sinjale duke përdorur vlerat e Përsëritjes:
Hapni klientin Python dhe modifikoni dy funksionet e mëposhtme:
def print_command_from_hub (butoniId, cmdSrc):
# analizoni kodin e përsëritjes nga vlera e butonitId
def transmitToArduino (IRSignalCode, delim, endPrefix):
# vendosni një kohë ose për lak për të transmetuar sinjalin në frekuencën e dëshiruar
- Në këtë mënyrë, Arduino nuk duhet të ndizet në mënyrë të përsëritur
- Çdo numër i frekuencave të përsëritura mund të ndërtohet në këtë sistem
- Për më tepër, nëse përdorni UNO, ekziston një kufi në madhësinë e Sketch -it tuaj!
Hapi 11: Çështje të njohura dhe shqetësime për sigurinë
Siç ndodh me sistemet e krijuara herën e parë, ky ka disa çështje që dolën gjatë testimit.
Çështja 1: Gjuajtja e komandave në mënyrë të njëpasnjëshme me vonesa më pak se një sekondë midis klikimeve të butonave bëri që sistemi të mos reagojë pasi u përgjigj për dy herë të parë.
- Rinisja e klientit Python SignalR e kthen sistemin në funksionimet normale
- Zgjidhjet e menjëhershme mund të jenë heqja e daljeve të padëshiruara të Debug në të dy, Python SignalR Client dhe gjithashtu Arduino Sketch dhe përsëritja e këtyre testeve
- Një vend tjetër për tu parë do të ishte vetë komunikimi Serial - a do të ishte e mundur të shtoni kod për të shpëlarë shpejt tamponin?
Thënë kështu, kam vënë re se televizori im nuk i përgjigjet mirë telekomandës së fabrikës - prandaj vetë natyra e komunikimit IR të televizorit tim mund të jetë gjithashtu një faktor kontribues.
Çështja 2: Ekrani HTML ndalon t'i përgjigjet klikimeve të butonave pas një periudhe të gjatë pasiviteti
Zakonisht rifreskimi i faqes zgjidh këtë sjellje - shkaku për këtë sjellje megjithatë është ende i paqartë
Shqetësimet për sigurinë
Ky sistem është krijuar vetëm për përdorim të rrjetit lokal (shtëpiak) dhe nuk ka masat e nevojshme të sigurisë për t'u përdorur në internet
Prandaj rekomandohet që SignalR Hub të vendoset në një makinë lokale në rrjetin tuaj lokal/shtëpiak
Faleminderit që lexuat IBLE -në time dhe shpresoj që të argëtoheni!
Recommended:
Sistemi i automatizimit të shtëpisë WiFi me fuqi shumë të ulët: 6 hapa (me fotografi)
Sistemi i Automatizimit të Shtëpisë me Fuqi ultra të ulët WiFi: Në këtë projekt ne tregojmë se si mund të ndërtoni një sistem bazë të automatizimit lokal të shtëpisë në disa hapa. Ne do të përdorim një Raspberry Pi i cili do të veprojë si një pajisje qendrore WiFi. Ndërsa për nyjet fundore ne do të përdorim IOT Cricket për të prodhuar një bateri
Mur për mur për IPad si Paneli i Kontrollit të Automatizimit në shtëpi, duke përdorur magnet të kontrolluar me servo për të aktivizuar ekranin: 4 hapa (me fotografi)
Muri i Murit për IPad Si Paneli i Kontrollit të Automatizimit të Shtëpisë, Duke përdorur Magnetin e kontrolluar me Servo për të Aktivizuar Ekranin: Kohët e fundit kam kaluar mjaft kohë duke automatizuar gjërat brenda dhe rreth shtëpisë sime. Unë jam duke përdorur Domoticz si aplikacionin tim për Automatizimin e Shtëpisë, shihni www.domoticz.com për detaje. Në kërkimin tim për një aplikacion pulti që tregon të gjithë informacionin e Domoticz të ndryshojë
Sensori i derës me bateri me integrim të automatizimit në shtëpi, WiFi dhe ESP-TANI: 5 hapa (me fotografi)
Sensori i derës me bateri me integrim të automatizimit në shtëpi, WiFi dhe ESP-TANI: Në këtë udhëzues ju tregoj se si kam bërë një sensor të derës me bateri me integrimin e automatizimit të shtëpisë. Kam parë disa sensorë të tjerë të bukur dhe sisteme alarmi, por doja ta bëja vetë. Qëllimet e mia: Një sensor i cili zbulon dhe raporton një doo
DIY Hacking Sistemi juaj i Automatizimit të Shtëpisë: 7 hapa (me fotografi)
DIY Hacking Your Own System Automation System: Një sistem automatizimi në shtëpi duhet të jetë në gjendje të ndez/fik pajisjet si dritat, tifozët, sistemet argëtuese, etj. Një sistem që është pa tel, por i pavarur nga Interneti, por më e rëndësishmja, DIY dhe i hapur -burim sepse dua të kuptoj
Raspberry Pi: Kalendari i montuar në mur dhe qendra e njoftimeve: 5 hapa (me fotografi)
Raspberry Pi: Kalendari i montuar në mur dhe Qendra e Njoftimeve: Para “ epokës dixhitale ” shumë familje përdorën kalendarët e murit për të treguar një pamje mujore të ngjarjeve të ardhshme. Ky version modern i kalendarit të montuar në mur përfshin të njëjtat funksione bazë: Aktivizimi i një axhende mujore të anëtarëve të familjes