ఉచిత అంటే ఎల్లప్పుడూ 'చెల్లించినంత మంచిది కాదు' అని కాదు, మరియు OpenHAB మినహాయింపు కాదు. ఓపెన్ సోర్స్ హోమ్ ఆటోమేషన్ సాఫ్ట్వేర్ మార్కెట్లోని ఏ ఇతర హోమ్ ఆటోమేషన్ సిస్టమ్ సామర్థ్యాలను మించిపోయింది - కానీ సెటప్ చేయడం సులభం కాదు. వాస్తవానికి, ఇది పూర్తిగా నిరాశపరిచింది.
గైడ్ యొక్క పార్ట్ 1 లో, నేను మిమ్మల్ని నడిపించాను రాస్ప్బెర్రీ పైలో OpenHAB ని ఇన్స్టాల్ చేస్తోంది , OpenHAB యొక్క ప్రధాన భావనలను పరిచయం చేసింది మరియు సిస్టమ్లోకి మీ మొదటి అంశాలను ఎలా జోడించాలో మీకు చూపించింది. ఈ రోజు మనం మరింత ముందుకు వెళ్తాము:
- ZWave పరికరాలను కలుపుతోంది
- హార్మొనీ అల్టిమేట్ కంట్రోలర్ని కలుపుతోంది
- నియమాలను పరిచయం చేస్తోంది
- MQTT ని పరిచయం చేయడం మరియు మీ పైపై MQTT బ్రోకర్ను ఇన్స్టాల్ చేయడం, Arduino లో సెన్సార్లతో
- డేటాను రికార్డ్ చేయడం మరియు గ్రాఫింగ్ చేయడం
Z- వేవ్ పరిచయం
Z- వేవ్ సంవత్సరాలుగా ఆధిపత్య గృహ ఆటోమేషన్ ప్రోటోకాల్: ఇది నమ్మదగినది, విస్తృతంగా అభివృద్ధి చేయబడింది మరియు ఇతర స్మార్ట్ హోమ్ ఉత్పత్తుల కంటే చాలా ఎక్కువ పరిధిలో పనిచేస్తుంది. విస్తృత శ్రేణి పనులు చేసే వందలాది Z- వేవ్ సెన్సార్లు మీకు అందుబాటులో ఉన్నాయి. OpenHAB చెయ్యవచ్చు Z- వేవ్తో పని చేయండి, కానీ సెటప్ చేయడానికి ఇబ్బందిగా ఉంది మరియు విశ్వసనీయతకు హామీ లేదు.
మీరు ఓపెన్హబ్తో ప్రత్యేకంగా Z- వేవ్ సెన్సార్లతో కూడిన ఇంటిని కొనుగోలు చేయాలని ఆలోచిస్తుంటే, పునరాలోచించాలని నేను మిమ్మల్ని కోరుతున్నాను. ఇది మీకు గొప్పగా పనిచేస్తుంది లేదా చిన్న కానీ నిరంతర సమస్యలతో బాధపడవచ్చు. కనీసం, కొన్నింటిని ప్రయత్నించడానికి మీకు అవకాశం లభించే వరకు సెన్సార్లతో నిండిన ఇంటిని కొనుగోలు చేయవద్దు. Z-Wave ని ఎంచుకోవడానికి ఏకైక కారణం మీరు OpenHAB లో 100% స్థిరపడకపోతే మరియు భవిష్యత్తులో మీ ఎంపికలను తెరిచి ఉంచాలనుకుంటే: ఉదాహరణకు Z-Wave Samsung SmartThings హబ్తో పాటు Z- వేవ్ నిర్దిష్ట హబ్లతో పనిచేస్తుంది. హోమ్సీర్ వంటివి మరియు ఇతర సాఫ్ట్వేర్ ఎంపికలు వంటివి domoticz .
OpenHAB ఒక Z- వేవ్ బైండింగ్ను కలిగి ఉన్నప్పటికీ, మీరు ఇంకా అవసరం ముందుగా Z- వేవ్ నెట్వర్క్ను కాన్ఫిగర్ చేయండి , OpenHAB ముందు డేటా కోసం ప్రశ్నించడం ప్రారంభించవచ్చు. మీకు రాస్బెర్రీ కంట్రోలర్ బోర్డ్ ఉంటే, నెట్వర్క్ను కాన్ఫిగర్ చేయడానికి మీ వద్ద కొంత సాఫ్ట్వేర్ సరఫరా చేయబడింది, కాబట్టి మేము దానిని ఇక్కడ కవర్ చేయము. మీరు Aeotec USB Z- స్టిక్ కంట్రోలర్ లేదా సారూప్యతను కొనుగోలు చేసినట్లయితే, మీకు ఏవైనా సాఫ్ట్వేర్ ఉండకపోవచ్చు, కాబట్టి చదవండి.
Aeotec Z- స్టిక్ Gen5 Z- వేవ్ హబ్ Z- వేవ్ ప్లస్ USB గేట్వే సృష్టించడానికి USB (సాధారణ వైట్) ఇప్పుడు అమెజాన్లో కొనండి
మీకు ఇప్పటికే Z- వేవ్ నెట్వర్క్ సెటప్ ఉంటే , మీరు మీ కంట్రోలర్ను Pi లోకి ప్లగ్ చేయవచ్చు మరియు బైండింగ్ మరియు ఐటెమ్లను కాన్ఫిగర్ చేయడం ప్రారంభించవచ్చు. Z- వేవ్లోకి ఇది మీ మొదటి ప్రయత్నమైతే, ఇది కొంచెం క్లిష్టంగా ఉంటుంది.
మొదట, హార్డ్వేర్ వైపు: ప్రతి కంట్రోలర్ పరికరాలతో జత చేయడానికి దాని స్వంత మార్గాన్ని కలిగి ఉంటుంది (సాంకేతికంగా నోడ్ ID కేటాయించిన 'చేరిక మోడ్' అని పిలుస్తారు). Aotec Z- స్టిక్ విషయంలో, దీని అర్థం USB పోర్ట్ నుండి దాన్ని అన్ప్లగ్ చేయడం, మరియు ఇన్క్లూషన్ మోడ్లో ఉంచడానికి బటన్ని ఒకసారి నొక్కడం. అప్పుడు మీరు జత చేస్తున్న పరికరానికి దగ్గరగా తీసుకెళ్లండి మరియు దానిలో చేర్చడం బటన్ని కూడా నొక్కండి (ఇది కూడా మారుతూ ఉంటుంది: నా ఎవర్స్ప్రింగ్ సాకెట్కు బటన్ 3 సార్లు త్వరగా నొక్కడం అవసరం, కాబట్టి ఇక్కడ పాఠం మీ పరికరం కోసం మాన్యువల్ చదవడం) .
విజయాన్ని సూచించడానికి Z- స్టిక్ క్లుప్తంగా వెలుగుతుంది. కొత్త పోర్ట్ కేటాయించబడినందున, పైకి తిరిగి ప్లగ్ చేస్తున్నప్పుడు ఇది సమస్యలను అందిస్తుంది. మీ పైని డైనమిక్గా మరొకదానికి తిరిగి కేటాయించినట్లు అనిపిస్తే దాన్ని ప్రామాణిక పోర్టుకు రీసెట్ చేయడానికి మీ పైని పునartప్రారంభించండి. ఇంకా మంచిది: మీరు మొదట అన్ని హార్డ్వేర్ జతలను పూర్తి చేసే వరకు దాన్ని పైకి ప్లగ్ చేయవద్దు.
HABmin మరియు Z- వేవ్ బైండింగ్లను ఇన్స్టాల్ చేస్తోంది
ఓపెన్హాబ్ వాస్తవానికి Z- వేవ్ కోసం కాన్ఫిగరేషన్ యుటిలిటీ కానందున, మేము మరొక వెబ్ మేనేజ్మెంట్ టూల్ను ఇన్స్టాల్ చేయబోతున్నాం-HABmin అని పిలవబడేది. వద్దకు వెళ్లండి HABmin గితుబ్ రిపోజిటరీ ప్రస్తుత విడుదలను డౌన్లోడ్ చేయండి. మీరు దాన్ని అన్జిప్ చేసిన తర్వాత, మీరు 2 ని కనుగొంటారు .జార్ యాడ్ఆన్స్ డైరెక్టరీలోని ఫైల్స్ - ఇవి మీ OpenHAB హోమ్ షేర్లోని సంబంధిత యాడ్ఆన్స్ డైరెక్టరీలో ఉంచాలి (మీరు Aotec gen5 Z-Stick ని కూడా ఉపయోగిస్తుంటే, మీరు కనీసం Z-Wave బైండింగ్ వెర్షన్ 1.8 ని కలిగి ఉన్నారని నిర్ధారించుకోండి) .
తరువాత, వెబ్ఆప్స్ డైరెక్టరీలో కొత్త ఫోల్డర్ను క్రియేట్ చేయండి మరియు దానిని 'హబ్మిన్' అని పిలుస్తారు (చిన్నది ముఖ్యం). డౌన్లోడ్ చేసిన మిగిలిన ఫైల్లను అక్కడ కాపీ చేయండి.
గమనిక: ఒక కూడా ఉంది HABmin 2 క్రియాశీల అభివృద్ధి కింద. ఇన్స్టాలేషన్ చాలా సమానంగా ఉంటుంది, కానీ ఒక అదనపు .jar యాడ్ఆన్తో. మీరు ఇష్టపడేదాన్ని చూడటానికి రెండింటినీ ప్రయత్నించడం విలువైనదే కావచ్చు.
మీరు ఇప్పటికే చేయకపోతే, మీ కంట్రోలర్ను మీ పైకి ప్లగ్ చేయండి. సరైన పోర్టును కనుగొనడానికి కింది వాటిని టైప్ చేయండి.
ls /dev /tty*
మీరు పేరులో యుఎస్బి ఉన్న దేనినైనా వెతుకుతున్నారు, లేదా నా ప్రత్యేక సందర్భంలో, జెడ్-స్టిక్ దాని వలె ప్రదర్శించబడుతుంది / dev / ttyACM0 (మోడెమ్). మీరు ఆదేశాన్ని ప్లగ్ ఇన్ చేయడానికి ముందు ఒకసారి మరియు తర్వాత ఒకసారి చేయడం సులభం కావచ్చు, కాబట్టి మీకు తెలియకపోతే ఎలాంటి మార్పులను మీరు చూడవచ్చు.
OpenHAB కాన్ఫిగరేషన్ ఫైల్ని తెరిచి, Z- వేవ్లోని విభాగాన్ని సవరించండి, రెండు లైన్లను వ్యాఖ్యానించకుండా మరియు మీ వాస్తవ పరికర చిరునామాను ఉంచండి. నాకు ఒక చివరి దశ OpenHAB యూజర్ మోడెమ్ని యాక్సెస్ చేయడానికి అనుమతించడం.
సుడో యూజర్మోడ్ -ఎ -జి డయల్ అవుట్ ఓపెన్హాబ్
ఇప్పుడు, అన్నింటినీ కార్యరూపం దాల్చడానికి, OpenHAB ని పునartప్రారంభించండి
సుడో సర్వీస్ ఓపెన్హాబ్ రీస్టార్ట్
ఆశాజనక, మీరు డీబగ్ లాగ్ని తనిఖీ చేస్తుంటే, మీకు ఇలాంటివి కనిపిస్తాయి. అభినందనలు, మీరు ఇప్పుడు Z- వేవ్ మాట్లాడుతున్నారు. మీరు వివిధ Z- వేవ్ నోడ్ల నుండి సందేశాలతో డీబగ్ లాగ్ నింపడాన్ని కూడా కనుగొనవచ్చు. HABMIN కనుగొనబడిన దాన్ని చూడటానికి దాన్ని తనిఖీ చేయడం ద్వారా ప్రారంభిద్దాం: http: //openhab.local: 8080/habmin/index.html (మీ రాస్ప్బెర్రీ పై హోస్ట్ పేరు లేదా IP చిరునామాతో openhab.local ని భర్తీ చేయడం).
HABMIN లో చూడడానికి చాలా ఉన్నాయి, కానీ మేము నిజంగా దాని గురించి మాత్రమే ఆందోళన చెందుతున్నాము కాన్ఫిగరేషన్ -> బైండింగ్లు -> Z- వేవ్ -> పరికరాలు ట్యాబ్, మీరు క్రింద చూడవచ్చు. మీ సులువైన సూచన కోసం లొకేషన్ మరియు నేమ్ లేబుల్ను ఎడిట్ చేయడానికి నోడ్ను విస్తరించండి.
Z- వేవ్ అంశాలను కాన్ఫిగర్ చేస్తోంది
ప్రతి Z- వేవ్ పరికరం OpenHAB కోసం నిర్దిష్ట ఆకృతీకరణను కలిగి ఉంటుంది. కృతజ్ఞతగా, చాలా పరికరాలు ఇప్పటికే అన్వేషించబడ్డాయి మరియు మీ కోసం ఇప్పటికే ఉదాహరణలు ఉన్నాయి. గుర్తించబడని అనుకూల పరికరాలను కాన్ఫిగర్ చేయడం ఈ గైడ్ యొక్క పరిధికి మించినది, కానీ ప్రస్తుతానికి దీనికి మద్దతు ఉందని అనుకుందాం.
మొదట, నేను నోడ్ 3 లో ప్రాథమిక ఎవర్స్ప్రింగ్ AN158 పవర్ స్విచ్ మరియు మీటర్ను పొందాను. శీఘ్ర గూగ్లింగ్ నన్ను Wetwa.re లో ఒక బ్లాగ్ పోస్ట్కి దారితీసింది, నమూనా ఐటమ్ కాన్ఫిగరేషన్తో. నేను దీనిని ఈ క్రింది విధంగా స్వీకరించాను:
Dehumidifier_Switch 'Dehumidifier' {zwave = '3: command = switch_binary'} మారండి
సంఖ్య Dehumidifier_Watts 'Dehumidifier విద్యుత్ వినియోగం [%.1f W]' {zwave = '3: command = meter'}
పర్ఫెక్ట్.
తదుపరిది Aeotec Gen5 మల్టీ-సెన్సార్.
అయోన్ ల్యాబ్స్ అయోటెక్ జెడ్-వేవ్ జెన్ 5 మల్టీ-సెన్సార్ (జెడ్-వేవ్ ప్లస్) ఇప్పుడు అమెజాన్లో కొనండిదీని కోసం, నేను ఇక్కడ నమూనా కాన్ఫిగరేషన్ను కనుగొన్నాను iwasdot.com , మరియు నా మల్టీసెన్సర్ నోడ్ 2 లో ఉంది.
నంబర్ హాలు_ ఉష్ణోగ్రత
సంఖ్య హాలువే_ తేమ 'హాలులో తేమ [%.0f %%]' (హాలు, తేమ) {zwave = '2: 0: command = sens_multilevel, sens_type = 5'}
హాల్వే_లూమినెన్స్ సంఖ్య 'హాల్వే లూమినెన్స్
హాల్వే_మోషన్ని సంప్రదించండి
నంబర్ సెన్సర్_1_ బ్యాటరీ 'బ్యాటరీ [%s %%]' (మోషన్) {zwave = '2: 0: command = battery'}
దీని ఫార్మాట్ మీకు వింతగా అనిపిస్తే, దయచేసి మొదటిదానికి తిరిగి వెళ్లండి బిగినర్స్ గైడ్ , ప్రత్యేకంగా హ్యూ బైండింగ్ విభాగం, ఐటెమ్లు ఎలా జోడించబడతాయో నేను వివరిస్తాను. మీరు బహుశా ఇలాంటి పేస్ట్ ఉదాహరణలను మాత్రమే కాపీ చేయవలసి ఉంటుంది, కానీ మీకు కొత్త పరికరం ఉంటే, బైండింగ్ డాక్యుమెంటేషన్ వివరాలన్నీ ఆదేశాలు .
లాజిటెక్ హార్మొనీ బైండింగ్
మేము నియమాలకు వెళ్లడానికి ముందు, హార్మొనీ బైండింగ్తో పని చేయడం గురించి నేను శీఘ్ర గమనికను జోడించాలనుకుంటున్నాను. హోమ్ మీడియా సెంటర్ అనుభవాన్ని సరళీకృతం చేయడానికి నేను హార్మోనీ సిరీస్ అల్టిమేట్ రిమోట్లకు పెద్ద అభిమానిని, కానీ వారు తరచుగా స్మార్ట్ హోమ్లో ప్రత్యేక వ్యవస్థగా నిలుస్తారు. OpenHAB తో, లాజిటెక్ హార్మొనీ కార్యకలాపాలు మరియు పూర్తి పరికర నియంత్రణ ఇప్పుడు మీ కేంద్రీకృత వ్యవస్థలో భాగం కావచ్చు మరియు ఆటోమేషన్ నియమాలలో కూడా చేర్చబడుతుంది.
'సామరస్యం' కోసం శోధించడానికి apt-cache ఉపయోగించి మీరు కనుగొన్న మూడు బైండింగ్ ఫైల్లను ఇన్స్టాల్ చేయడం ద్వారా ప్రారంభించండి:
చేయడం మర్చిపోవద్దు చౌన్ మీరు పూర్తి చేసిన తర్వాత మళ్లీ బైండింగ్ డైరెక్టరీ:
sudo apt-get install openhab-addon-action-harmonyhub
sudo apt-get openhab-addon-binding-harmonyhub ఇన్స్టాల్ చేయండి
sudo apt-get openhab-addon-io-harmonyhub ఇన్స్టాల్ చేయండి
సుడో చౌన్ -hR ఓపెన్హాబ్: ఓపెన్హాబ్/usr/షేర్/ఓపెన్హాబ్
బైండింగ్ను కాన్ఫిగర్ చేయడానికి, openhab.cfg ఫైల్ని తెరిచి, కింది విధంగా కొత్త విభాగాన్ని జోడించండి:
########### హార్మోనీ రిమోట్ కంట్రోల్స్ ############
శ్రుతిహబ్: హోస్ట్ = 192.168.1.181 లేదా మీ ip
harmonyhub: వినియోగదారు పేరు = మీ-సామరస్యం-ఇమెయిల్-లాగిన్
శ్రుతిహబ్: పాస్వర్డ్ = మీ పాస్వర్డు
IP చిరునామా మీ హార్మొనీ హబ్. దాన్ని కనుగొనడానికి నెట్వర్క్ స్కానర్ని ఉపయోగించండి. మీరు ప్రామాణిక హార్మొనీ కాన్ఫిగర్ యుటిలిటీని ప్రారంభించినప్పుడు మీరు నమోదు చేసిన మీ లాగిన్ వివరాలను కూడా నమోదు చేయాలి. అంతే. మీ హ్యూని పునartప్రారంభించిన తర్వాత, మీ డీబగ్ లాగ్ బైండింగ్ నుండి అకస్మాత్తుగా పేలుడును కలిగి ఉండాలి.
ఇది మీ అన్ని కార్యకలాపాలు, పరికరాలు మరియు పంపగల ఆదేశాల JSON ఫార్మాట్ జాబితా. భవిష్యత్తు సూచన కోసం దీన్ని కాపీ చేయడం మంచిది. మీరు ఆన్లైన్ JSON ఫార్మాటర్లో అతికించడం ద్వారా ధ్వంసమయ్యే నోడ్లతో చదవడం మరింత సులభతరం చేయవచ్చు ఇది వంటిది .
అలాగే డిఫాల్ట్గా ఉండే ప్రామాణిక పవర్ఆఫ్ కార్యాచరణ, పేరు ద్వారా ఇక్కడ జాబితా చేయబడిన మీ స్వంత నిర్వచించిన కార్యకలాపాలను మీరు కనుగొంటారు. ఇప్పుడు కార్యకలాపాలను ప్రారంభించడానికి ఒక సాధారణ బటన్ నియంత్రణను సృష్టిద్దాం. ముందుగా, మీ అంశాల ఫైల్లో, కింది పంక్తిని జోడించండి. మీకు నచ్చితే సమూహం మరియు చిహ్నాన్ని మార్చండి.
/ * హార్మొనీ హబ్ */
స్ట్రింగ్ హార్మొనీ_ యాక్టివిటీ 'హార్మొనీ [%s]' (లివింగ్_రూమ్) {harmonyhub = '*[currentActivity]'}
ఇది ఒక రెండు-మార్గం స్ట్రింగ్ బైండింగ్ , ఇది రెండింటికీ ప్రస్తుత కార్యాచరణను పొందగలదు మరియు ప్రస్తుత కార్యాచరణను వేరొకటిగా ఉండేలా ఆదేశిస్తుంది. ఇప్పుడు మనం సైట్మ్యాప్ ఫైల్లో దాని కోసం ఒక బటన్ని సృష్టించవచ్చు.
మారండి అంశం = Harmony_Activity mappings = [PowerOff = 'Off', Exercise = 'Exercise', 13858434 = 'TV', Karaoke = 'Karaoke']
మరొక ప్రోగ్రామ్లో తెరిచిన ఫైల్ను ఎలా తొలగించాలి
చదరపు బ్రాకెట్లో మీరు ప్రతి కార్యాచరణను లేబుల్తో పాటు చూస్తారు. సాధారణంగా మీరు మీ రిమోట్లో మీరు వాటికి పేరు పెట్టారు కాబట్టి మీరు నేరుగా కార్యకలాపాలను సూచించవచ్చు, కానీ దీనికి మినహాయింపుగా, 'టీవీ చూడండి' వంటి కార్యాచరణ పేరులో ఖాళీ ఉన్నది ఏదైనా ఉంది. ఈ సందర్భంలో, మీరు కార్యాచరణ ID ని ఉపయోగించాలి. మళ్లీ, మీరు JSON డీబగ్ అవుట్పుట్లో ID ని కనుగొనవచ్చు. మీ ఇంటర్ఫేస్ను సేవ్ చేసి, రిఫ్రెష్ చేయండి, మీరు ఇలాంటిదే చూడాలి:
మీరు మీ నియమాలలోని కార్యకలాపాలను కూడా చూడవచ్చు, మేము తరువాత చూస్తాము. మరింత సమాచారం కోసం వికీ పేజీని చదవండి హార్మొనీ బైండింగ్ .
నిబంధనలకు సాధారణ పరిచయం
చాలా స్మార్ట్ హోమ్ హబ్లు కొన్ని రకాల నియమాల సృష్టిని కలిగి ఉంటాయి కాబట్టి మీరు స్వయంచాలకంగా ఇంటిలోని సెన్సార్ డేటా మరియు ఈవెంట్లకు ప్రతిస్పందించవచ్చు. వాస్తవానికి, నేను నిజంగా స్మార్ట్ హోమ్ అనేది మొబైల్ యాప్లతో ఇంటరాక్ట్ చేయడానికి సమయం గడపాల్సిన అవసరం లేదని నేను వాదిస్తాను - ఇది తుది వినియోగదారుకు కనిపించని మరియు పూర్తిగా ఆటోమేటెడ్. దీని కొరకు, OpenHAB కూడా మీరు ప్రోగ్రామ్ చేయగల శక్తివంతమైన నియమాల స్క్రిప్టింగ్ లాంగ్వేజ్ని కలిగి ఉంది, చాలా స్మార్ట్ హోమ్ హబ్లు లేదా IFTTT వంటకాల సంక్లిష్టతను మించిపోయింది.
ప్రోగ్రామింగ్ నియమాలు దాని కంటే అధ్వాన్నంగా అనిపిస్తాయి. ప్రెజెన్స్ సెన్సార్ను బట్టి లైట్ ఆన్ లేదా ఆఫ్ చేసే ఒక జత నియమాలతో సరళంగా ప్రారంభిద్దాం:
నియమం 'జేమ్స్ ఉన్నప్పుడు ఆఫీస్ లైట్ ఆన్'
ఎప్పుడు
అంశం జేమ్స్ఇన్ ఆఫీస్ ఆఫ్ నుండి ON కి మార్చబడింది
అప్పుడు
sendCommand (Office_Hue, ON)
ముగింపు
నియమం 'జేమ్స్ వెళ్లినప్పుడు ఆఫీస్ లైట్ ఆఫ్'
ఎప్పుడు
అంశం జేమ్స్ఇన్ ఆఫీస్ ON నుండి OFF కి మార్చబడింది
అప్పుడు
sendCommand (Office_Hue, OFF)
ముగింపు
ముందుగా, మేము నియమానికి పేరు పెడతాము - వివరణాత్మకంగా ఉండండి, కాబట్టి ఏ సంఘటన కాల్చబడుతుందో మీకు తెలుసు. తరువాత, మేము మా సాధారణ నియమాన్ని చెప్పడం ద్వారా నిర్వచించాము x నిజం అయినప్పుడు y చేయండి . ముగింపు అనేది నిర్దిష్ట నియమం యొక్క మూసివేతను సూచిస్తుంది. మీరు నియమాలలో ఉపయోగించగల అనేక ప్రత్యేక పదాలు ఉన్నాయి, కానీ ప్రస్తుతానికి మేము సింటాక్స్ యొక్క రెండు సాధారణ బిట్లతో వ్యవహరిస్తున్నాము - అంశం , ఇది ఏదో స్థితిని ప్రశ్నించడానికి మిమ్మల్ని అనుమతిస్తుంది; మరియు కమాండ్ పంపండి , మీరు అనుకున్నది ఖచ్చితంగా చేస్తుంది. ఇది సులభం అని నేను మీకు చెప్పాను.
ఒక జత నియమాలను ఉపయోగించడం బహుశా అనవసరం, కానీ నా తర్కం మరింత క్లిష్టతరం అవుతున్నందున నేను ఆ ప్రాంతంలోకి ప్రవేశించినా లేదా బయలుదేరినా వాటిని వేరు చేయడం ప్రయోజనకరంగా ఉంటుంది - మరియు ఎక్కడో లైట్ సెన్సార్ని జోడించడం మంచిది సమీకరణంలోకి మేము అనవసరంగా లైట్లను ఆన్ చేయడం లేదు.
షెడ్యూల్ చేయబడిన నియమాన్ని రూపొందించడానికి మరొక ఉదాహరణను చూద్దాం.
నియమం 'ప్రతి ఉదయం వ్యాయామం'
ఎప్పుడు
టైమ్ క్రాన్ '0 0 8 1/1 *? *'
అప్పుడు
సామరస్యం స్టార్ట్ యాక్టివిటీ ('వ్యాయామం')
ముగింపు
మళ్లీ, మేము నియమానికి పేరు పెట్టాలి, ఎప్పుడు కాల్పులు జరపాలి అనే స్థితి, మరియు తీసుకోవాల్సిన చర్యలు. కానీ ఈ సందర్భంలో, మేము సమయ నమూనాను నిర్వచించాము. కోట్స్లో మీరు చూసే ఫన్నీ కోడ్ క్వార్ట్జ్ షెడ్యూలర్ కోసం ఒక CRON వ్యక్తీకరణ (ఫార్మాట్ సాధారణ CRONtab కి కొద్దిగా భిన్నంగా ఉంటుంది). నేను వాడినాను cronmaker.com వ్యక్తీకరణను రూపొందించడంలో సహాయపడటానికి, కానీ మీరు వివరణాత్మక వివరణ మరియు మరిన్ని ఉదాహరణల కోసం ఫార్మాట్ గైడ్ [ఇకపై అందుబాటులో లేదు] కూడా చదవవచ్చు.
CronMaker.com సరిగ్గా ఫార్మాట్ చేయబడిన క్రాన్ వ్యక్తీకరణను రూపొందించడానికి ఉపయోగిస్తారు
నా నియమాలు కేవలం 'ప్రతిరోజూ ఉదయం 8, వారంలోని ప్రతిరోజూ, నా హార్మొనీ అల్టిమేట్ సిస్టమ్కి వ్యాయామం కార్యకలాపం ప్రారంభించడానికి చెప్పండి', ఇది TV, Xbox, యాంప్లిఫైయర్ను యాక్టివేట్ చేస్తుంది మరియు ప్రారంభించడానికి ఒక నిమిషం తర్వాత A బటన్ను ప్రెస్ చేస్తుంది డ్రైవ్లో డిస్క్.
పాపం, OpenHAB ఇంకా నాకు వ్యాయామం చేయలేకపోయింది.
ఇంకొక నియమం నేను మీకు చూపించాలనుకుంటున్నాను, ఇది నా ఇంటిలో తేమ స్థాయిలను నిర్వహించడానికి నేను ఉపయోగిస్తాను. నా దగ్గర ఒకే డీహ్యూమిడిఫైయర్ ఉంది, అవసరమైన చోట నేను తిరగాలి, కాబట్టి నేను నా తేమ సెన్సార్లన్నింటినీ చూడాలని నిర్ణయించుకున్నాను, ఏది ఎక్కువ అని కనుగొని, దానిని వేరియబుల్లో భద్రపరుచుకున్నాను. ఇది ప్రస్తుతం ప్రతి నిమిషం ప్రేరేపించబడుతోంది, కానీ దానిని సులభంగా తగ్గించవచ్చు. ముందుగా పరిశీలించండి:
దిగుమతి org.openhab.core.library.types.*
దిగుమతి org.openhab.model.script.acts.*
java.lang.String ని దిగుమతి చేయండి
నియమం 'తేమ మానిటర్'
ఎప్పుడు టైమ్ క్రాన్ '0 * * * *?'
అప్పుడు
var prevHigh = 0
var highHum = ''
తేమ?. సభ్యులు.ప్రతి [హమ్ |
logDebug ('తేమ. నియమాలు', హమ్. పేరు);
ఒకవేళ (హమ్. స్టేట్ డెసిమల్ టైప్> ప్రెవ్హై) {
prevHigh = హమ్. రాష్ట్రం
highHum = హమ్. పేరు + ':' + హమ్. స్టేట్ + '%'
}
అన్ని ఆండ్రాయిడ్ డివైజ్లలో 64 జిబి మైక్రో ఎస్డి ఎలా పని చేస్తుంది
]
logDebug ('humid.rules', highHum);
పోస్ట్ అప్డేట్ (Dehumidifier_Needed, highHum);
ముగింపు
పాలన యొక్క ప్రధాన భాగం దీనిలో ఉంది తేమ?. సభ్యులు. ముందుగానే లైన్. తేమ అనేది నా తేమ సెన్సార్ల కోసం ఒక సమూహ పేరు; సభ్యులు ఆ సమూహంలోని అన్ని వస్తువులను పట్టుకుంటుంది; ప్రతి వాటిపై తిరుగుతుంది (ఆసక్తికరమైన చదరపు బ్రాకెట్ ఫార్మాట్తో మీకు బహుశా తెలియదు). నియమాల వాక్యనిర్మాణం Xtend యొక్క ఉత్పన్నం, కాబట్టి మీరు దీన్ని చదవవచ్చు Xtend డాక్యుమెంటేషన్ మీరు స్వీకరించడానికి ఒక ఉదాహరణను కనుగొనలేకపోతే.
మీరు బహుశా అవసరం లేదు - అక్కడ వందలాది ఉదాహరణ నియమాలు ఉన్నాయి:
- నియమాల వివరణాత్మక వివరణ అధికారిక వికీలో
- ది అధికారిక నియమాల నమూనాలు వికీ పేజీ
- కొత్త ఎత్తులకు నియమాలను తీసుకోవడం
- IngeniousFool.net లో అధునాతన నమూనాలు
OpenHAB మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ కోసం MQTT
MQTT అనేది మెషిన్-టు-మెషిన్ కమ్యూనికేషన్ కోసం తేలికైన మెసేజింగ్ సిస్టమ్-మీ Arduinos లేదా రాస్ప్బెర్రీ పీస్ ఒకదానితో ఒకటి మాట్లాడుకోవడానికి ఒక రకమైన ట్విట్టర్ (అయితే ఇది కేవలం వాటి కంటే చాలా ఎక్కువ పనిచేస్తుంది). ఇది వేగంగా జనాదరణ పొందుతోంది మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ పరికరాలతో ఒక ఇంటిని కనుగొంటుంది, ఇవి సాధారణంగా తక్కువ వనరు మైక్రో కంట్రోలర్లు, ఇవి సెన్సార్ డేటాను మీ హబ్కు తిరిగి పంపడానికి లేదా రిమోట్ ఆదేశాలను స్వీకరించడానికి విశ్వసనీయమైన మార్గం కావాలి. దానితో మనం చేయబోయేది అదే.
అయితే చక్రాన్ని మళ్లీ ఆవిష్కరించడం ఎందుకు?
MQ టెలిమెట్రీ ట్రాన్స్పోర్ట్ 1999 లో నెమ్మదిగా ఉపగ్రహ కనెక్షన్ల ద్వారా చమురు పైప్లైన్లను అనుసంధానించడానికి కనుగొనబడింది, ప్రత్యేకంగా బ్యాటరీ వినియోగం మరియు బ్యాండ్విడ్త్ను తగ్గించడానికి ప్రత్యేకంగా రూపొందించబడింది. సంవత్సరాలుగా డిజైన్ సూత్రాలు అలాగే ఉన్నాయి, కానీ వినియోగ కేసు ప్రత్యేక ఎంబెడెడ్ సిస్టమ్స్ నుండి సాధారణ ఇంటర్నెట్ ఆఫ్ థింగ్స్ పరికరాలకు మారింది. 2010 లో ప్రోటోకాల్ రాయల్టీ ఫ్రీగా విడుదల చేయబడింది, ఎవరైనా ఉపయోగించడానికి మరియు అమలు చేయడానికి తెరవబడింది. మేము ఉచితంగా ఇష్టపడతాము.
మేము ఇంకా మరొక ప్రోటోకాల్తో ఎందుకు ఇబ్బంది పడుతున్నామని మీరు ఆశ్చర్యపోవచ్చు - అన్నింటికంటే మాకు ఇప్పటికే HTTP ఉంది - ఇది అన్ని రకాల వెబ్ కనెక్ట్ చేయబడిన సిస్టమ్ల మధ్య (OpenHAB మరియు IFTTT వంటివి, ముఖ్యంగా కొత్త మేకర్ ఛానెల్తో త్వరగా సందేశాలను పంపడానికి ఉపయోగపడుతుంది) ). మరియు మీరు సరిగ్గా ఉంటారు. ఏదేమైనా, HTTP సర్వర్ యొక్క ప్రాసెసింగ్ ఓవర్ హెడ్ చాలా పెద్దది - చాలా వరకు మీరు Arduino వంటి ఎంబెడెడ్ మైక్రోకంట్రోలర్పై సులభంగా నడపలేరు (కనీసం, మీరు చేయగలరు, కానీ మీకు మరేదైనా ఎక్కువ మెమరీ ఉండదు ). MQTT మరొక వైపు తేలికైనది, కాబట్టి మీ నెట్వర్క్ చుట్టూ సందేశాలను పంపడం వలన పైపులు మూసుకుపోవు, మరియు ఇది మా చిన్న Arduino మెమరీ స్థలంలోకి సులభంగా సరిపోతుంది.
MQTT ఎలా పని చేస్తుంది?
MQTT కి సర్వర్ ('బ్రోకర్' అని పిలుస్తారు) మరియు ఒకటి లేదా అంతకంటే ఎక్కువ క్లయింట్లు అవసరం. సర్వర్ మధ్యవర్తిగా పనిచేస్తుంది, సందేశాలను స్వీకరిస్తుంది మరియు ఆసక్తి ఉన్న ఖాతాదారులకు వాటిని తిరిగి ప్రసారం చేస్తుంది.
తో కొనసాగిద్దాం ట్విట్టర్ కోసం యంత్రాలు అయితే సారూప్యత. ట్విట్టర్ యూజర్లు తమ స్వంత అర్థరహిత 140 అక్షరాలను ట్వీట్ చేయవచ్చు, మరియు వినియోగదారులు ఇతర వినియోగదారులను 'అనుసరించవచ్చు' పోస్ట్ల యొక్క క్యూరేటెడ్ స్ట్రీమ్ను చూడటానికి, MQTT క్లయింట్లు అక్కడ నుండి అన్ని సందేశాలను స్వీకరించడానికి ఒక నిర్దిష్ట ఛానెల్కు సభ్యత్వాన్ని పొందవచ్చు, అలాగే వారి స్వంత సందేశాలను ప్రచురించవచ్చు ఆ ఛానెల్కి. ఈ పబ్లిష్ మరియు సబ్స్క్రైబ్ నమూనాను ఇలా సూచిస్తారు పబ్ / సబ్ , సంప్రదాయానికి విరుద్ధంగా క్లయింట్ సర్వర్ HTTP మోడల్.
HTTP కి మీరు కమ్యూనికేట్ చేస్తున్న మెషీన్కు చేరుకోవాల్సిన అవసరం ఉంది, హలో చెప్పండి, ఆపై మీరు డేటాను పొందుతున్నప్పుడు లేదా ఉంచేటప్పుడు ఒకరికొకరు నిరంతరం ఒప్పుకుంటూ ముందుకు వెనుకకు ఉండాలి. పబ్/సబ్తో, పబ్లిషింగ్ చేస్తున్న క్లయింట్కు ఏ క్లయింట్లు సబ్స్క్రైబ్ అయ్యారో తెలుసుకోవాల్సిన అవసరం లేదు: ఇది కేవలం మెసేజ్లను బయటకు పంపుతుంది మరియు బ్రోకర్ వాటిని ఏ సబ్స్క్రైబ్ చేసిన క్లయింట్లకు అయినా రీస్ట్రిబ్యూట్ చేస్తుంది. ఏదైనా క్లయింట్ ట్విట్టర్ యూజర్ లాగానే రెండు విషయాలను ప్రచురించవచ్చు మరియు సబ్స్క్రైబ్ చేయవచ్చు.
ట్విట్టర్ కాకుండా, MQTT 140 అక్షరాలకు పరిమితం కాదు. ఇది డేటా అజ్ఞాతవాసి, కాబట్టి మీరు చిన్న సంఖ్యలు లేదా పెద్ద టెక్స్ట్ బ్లాక్లు, JSON ఫార్మాట్ చేసిన డేటాగ్రామ్లు లేదా ఇమేజ్లు మరియు బైనరీ ఫైల్లను కూడా పంపవచ్చు.
అన్నింటికీ HTTP కంటే MQTT ఉత్తమం కాదు - కానీ అది ఉంది మేము ఇంటి చుట్టూ చాలా సెన్సార్లను కలిగి ఉండబోతున్నట్లయితే మరింత అనుకూలంగా ఉంటుంది, నిరంతరం నివేదిస్తుంది.
OpenHAB మీ MQTT బ్రోకర్గా పనిచేయదని తెలుసుకోవడం కూడా చాలా ముఖ్యం - మేము ఆ బిట్ను తర్వాత పరిష్కరిస్తాము. అయితే, OpenHAB ఒక క్లయింట్గా పనిచేస్తుంది: ఇది మీ OpenHAB యాక్టివిటీ లాగ్ను, అలాగే నిర్దిష్ట ఛానెల్లను పరికరాలకు బంధించవచ్చు, కాబట్టి మీరు ఒక నిర్దిష్ట ఛానెల్లో MQTT సందేశాల ద్వారా నియంత్రించబడే స్విచ్ను కలిగి ఉండవచ్చు. సెన్సార్లతో నిండిన ఇంటిని సృష్టించడానికి ఇది అనువైనది.
మీ పైపై దోమలను ఇన్స్టాల్ చేయండి
OpenHAB ఒక MQTT క్లయింట్ను కలిగి ఉన్నప్పటికీ మీరు ఒక సబ్స్క్రైబ్ చేయవచ్చు మరియు సందేశాలను కూడా ప్రచురించవచ్చు, అది సర్వర్గా పనిచేయదు. దాని కోసం, మీరు వెబ్ ఆధారిత MQTT బ్రోకర్ను ఉపయోగించాలి (చెల్లింపు లేదా ఉచితం) లేదా మీ పైలో ఉచిత సాఫ్ట్వేర్ను ఇన్స్టాల్ చేయండి. నేను ఇవన్నీ ఇంట్లో ఉంచాలనుకుంటున్నాను, కాబట్టి నేను పైపై దోమలను ఇన్స్టాల్ చేసాను.
దురదృష్టవశాత్తు, సాధారణ apt-get ద్వారా లభించే వెర్షన్ పూర్తిగా పాతది. బదులుగా, తాజా వనరులను జోడిద్దాం.
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key దోమ-repo.gpg.key ని జోడించండి
cd /etc/apt/sources.list.d/
సుడో wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
sudo apt- పొందండి దోమలను ఇన్స్టాల్ చేయండి
స్థానిక నెట్వర్క్లో MQTT సర్వర్ అప్ మరియు రన్నింగ్ కోసం మనం చేయాల్సిందల్లా. మీ బ్రోకర్ డిఫాల్ట్గా పోర్ట్ 1883 లో నడుస్తున్నాడు.
మీ MQTT సర్వర్ ఉచిత MQTT.fx ఉపయోగించి పనిచేస్తుందో లేదో తనిఖీ చేయండి, ఇది క్రాస్ ప్లాట్ఫారమ్. క్రొత్త ప్రొఫైల్ను సృష్టించడానికి సెట్టింగ్ల చిహ్నాన్ని క్లిక్ చేయండి మరియు మీ రాస్ప్బెర్రీ పై యొక్క IP చిరునామా లేదా పేరును నమోదు చేయండి. సేవ్ చేయండి మరియు కనెక్ట్ నొక్కండి. ఎగువ కుడి వైపున ఉన్న చిన్న ట్రాఫిక్ లైట్ ఆకుపచ్చగా మారితే, మీరు వెళ్లడం మంచిది.
త్వరిత పరీక్ష కోసం, 'సబ్స్క్రైబ్' ట్యాబ్పై క్లిక్ చేసి, టైప్ చేయండి టాపిక్ / టెక్స్ట్ బాక్స్లోకి, ఆపై నొక్కండి సభ్యత్వాన్ని పొందండి బటన్. మీరు ఇప్పుడు టాపిక్లో అనే అంశంపై సందేశాన్ని స్వీకరించడానికి సభ్యత్వం పొందారు, అయితే ఇది 0 సందేశాలను చూపుతుంది. పబ్లిష్ ట్యాబ్కి తిరిగి వెళ్లి, చిన్న బాక్స్లోకి టాపిక్ను టైప్ చేయండి మరియు దిగువ పెద్ద టెక్స్ట్ బాక్స్లో ఒక చిన్న సందేశాన్ని టైప్ చేయండి. కొట్టుట ప్రచురించు కొన్ని సార్లు మరియు సబ్స్క్రైబ్ ట్యాబ్పై తిరిగి చూడండి. ఆ టాపిక్లో కొన్ని మెసేజ్లు కనిపించడం మీరు చూడాలి.
మేము మా నెట్వర్క్కు కొన్ని వాస్తవ సెన్సార్లను జోడించే ముందు, MQTT నెట్వర్క్ను స్ట్రక్చర్ చేయడానికి మరియు ఫిల్టర్ చేయడానికి మాకు వీలు కల్పించే టాపిక్ లెవల్స్ గురించి మనం నేర్చుకోవాలి. టాపిక్ పేర్లు కేస్ సెన్సిటివ్, $ తో మొదలుపెట్టకూడదు, లేదా స్పేస్ లేదా ASCII కాని అక్షరాలు-వేరియబుల్ పేర్ల కోసం ప్రామాణిక ప్రోగ్రామింగ్ ప్రాక్టీస్లు.
/ సెపరేటర్ ఒక టాపిక్ స్థాయిని సూచిస్తుంది, ఇది క్రమానుగతమైనది, ఉదాహరణకు కిందివి అన్నీ చెల్లుబాటు అయ్యే టాపిక్ స్థాయిలు.
inTopic / smallSubdivision / EvenSmallerSubdivision
మైహోమ్/లివింగ్ రూమ్/ఉష్ణోగ్రత
మైహోమ్/లివింగ్ రూమ్/ఆర్ద్రత
myHome/వంటగది/ఉష్ణోగ్రత
myHome/వంటగది/తేమ
ఇప్పటికే, సెన్సార్లు మరియు పరికరాలతో నిండిన స్మార్ట్ హోమ్ కోసం ఈ చెట్టు నిర్మాణం ఎలా సరిపోతుందో మీరు చూడాలి. ఒకే గదిలో బహుళ సెన్సార్లతో ఉపయోగించడానికి ఉత్తమ అభ్యాసం ఏమిటంటే, ప్రతి సెన్సార్ వేరియబుల్ను దాని స్వంత టాపిక్ లెవల్గా ప్రచురించడం - మరింత నిర్దిష్టతకు బ్రాంచ్ చేయడం (పైన ఉన్న ఉదాహరణలలో వలె) - ఒకే ఛానెల్కు బహుళ రకాల సెన్సార్లను ప్రచురించడానికి ప్రయత్నించడం కంటే .
క్లయింట్లు ప్రచురించవచ్చు లేదా వ్యక్తిగత టాపిక్ స్థాయిల సంఖ్యను సబ్స్క్రయిబ్ చేయవచ్చు లేదా ట్రీలో ఉన్నత స్థాయి నుండి ఫిల్టర్ చేయడానికి కొన్ని ప్రత్యేక వైల్డ్కార్డ్ అక్షరాలను ఉపయోగించవచ్చు.
ఏదైనా + టాపిక్ స్థాయికి వైల్డ్కార్డ్ ప్రత్యామ్నాయాలు. ఉదాహరణకి:
myHome/+/ఉష్ణోగ్రత
క్లయింట్ను రెండింటికీ సబ్స్క్రైబ్ చేస్తుంది
మైహోమ్/లివింగ్ రూమ్/ఉష్ణోగ్రత
myHome/వంటగది/ఉష్ణోగ్రత
... కానీ తేమ స్థాయిలు కాదు.
# అనేది బహుళ-స్థాయి వైల్డ్కార్డ్, కాబట్టి మీరు దీనితో లివింగ్ రూమ్ సెన్సార్ శ్రేణి నుండి ఏదైనా పొందవచ్చు:
మై హోమ్/లివింగ్ రూమ్/#
సాంకేతికంగా, మీరు రూట్ స్థాయికి కూడా సబ్స్క్రైబ్ చేయవచ్చు # ఇది బ్రోకర్ గుండా వెళుతుంది, కానీ అది మీ ముఖానికి ఫైర్ హోస్ని అంటించడం లాంటిది: కొంచెం ఎక్కువ. HiveMQ నుండి పబ్లిక్ MQTT బ్రోకర్కు కనెక్ట్ అవ్వడానికి మరియు #కు సబ్స్క్రైబ్ చేయడానికి ప్రయత్నించండి. నా క్లయింట్ క్రాష్ అవ్వడానికి ముందు నాకు కొన్ని సెకన్లలో 300 సందేశాలు వచ్చాయి.
MQTT బిగినర్ చిట్కా: ' /నా ఇల్లు/' అనేది వేరే విషయం ' నా ఇల్లు/' - ప్రారంభంలో స్లాష్తో సహా ఖాళీ టాపిక్ స్థాయిని సృష్టిస్తుంది, ఇది సాంకేతికంగా చెల్లుబాటు అయ్యేటప్పుడు సిఫార్సు చేయబడదు ఎందుకంటే ఇది గందరగోళంగా ఉంటుంది.
ఇప్పుడు మేము సిద్ధాంతాన్ని తెలుసుకున్నాము, ఆర్డునో, ఈథర్నెట్ షీల్డ్ మరియు DHT11 ఉష్ణోగ్రత మరియు తేమ సెన్సార్తో వెళ్దాం - మీరు బహుశా మీ స్టార్టర్ కిట్లో ఒకటి పొందవచ్చు, కాకపోతే, ఒక కదలిక కోసం పర్యావరణ సెన్సార్ను మార్చుకోండి సెన్సార్ (లేదా ఒక బటన్ కూడా).
ఈథర్నెట్ కనెక్షన్తో ఆర్డునో నుండి MQTT ని ప్రచురిస్తోంది
మీరు Wi-Fi లేదా ఈథర్నెట్ అంతర్నిర్మిత హైబ్రిడ్ ఆర్డునో-అనుకూల పరికరాన్ని కలిగి ఉంటే, అది కూడా పని చేయాలి. చివరికి మేము ప్రతి గదిలో నెట్వర్క్ కనెక్షన్ని ఉపయోగించాలని కమ్యూనికేట్ చేయడానికి మెరుగైన/చౌకైన మార్గాన్ని కోరుకుంటున్నాము, అయితే ఇది ప్రాథమికాలను తెలుసుకోవడానికి ఉపయోగపడుతుంది.
డౌన్లోడ్ చేయడం ద్వారా ప్రారంభించండి గితుబ్ నుండి pubsubclient లైబ్రరీ . మీరు 'జిప్గా డౌన్లోడ్ చేయి' బటన్ని ఉపయోగించినట్లయితే, నిర్మాణం కొంచెం తప్పు. అన్జిప్ చేయండి, ఫోల్డర్కు ఇప్పుడే పేరు మార్చండి pubsubclient , తర్వాత రెండు ఫైళ్లను బయటకు తీయండి src ఫోల్డర్ మరియు వాటిని డౌన్లోడ్ చేసిన ఫోల్డర్ రూట్కి ఒక లెవల్ పైకి తరలించండి. అప్పుడు మొత్తం ఫోల్డర్ను మీకి తరలించండి ఆర్డునో/లైబ్రరీలు డైరెక్టరీ.
మీరు స్వీకరించగల నా నమూనా కోడ్ ఇక్కడ ఉంది : DHT11 సిగ్నల్ అవుట్పుట్ పిన్లో ఉంది. కింది లైన్లో మీ పై కోసం సర్వర్ IP ని మార్చండి:
client.setServer ('192.168.1.99', 1883);
దురదృష్టవశాత్తు, మేము దాని స్నేహపూర్వక పేరును ఉపయోగించలేము (నా విషయంలో OpenHAB.local) ఆర్డునోలో TCP/IP స్టాక్ చాలా సరళమైనది మరియు బోంజూర్ నామకరణం కోసం కోడ్ను జోడించడం వలన మనం వృధా చేయకూడదనుకునే మెమరీ చాలా ఉంటుంది. సెన్సార్ డేటా ప్రసారం అవుతున్న అంశాలను మార్చడానికి, ఈ లైన్లకు క్రిందికి స్క్రోల్ చేయండి:
చార్ బఫర్ [10];
dtostrf (t, 0, 0, బఫర్);
client.publish ('openhab/himitsu/temperature', బఫర్);
dtostrf (h, 0, 0, బఫర్);
client.publish ('ఓపెన్హాబ్/హిమిట్సు/ఆర్ద్రత', బఫర్);
కోడ్లో కమాండ్ ఛానెల్కు సభ్యత్వం కూడా ఉంటుంది. కింది పంక్తిని కనుగొని సర్దుబాటు చేయండి:
client.subscribe ('openhab/himitsu/command');
అక్కడ ఉన్న కోడ్ని పరిశీలించండి మరియు మీరు నిర్దిష్ట ఛానెల్లకు ఆదేశాలను పంపడం ద్వారా ఉదాహరణకు LED లేదా రిలేను సులభంగా నియంత్రించవచ్చని మీరు చూస్తారు. ఉదాహరణ కోడ్లో, ఇది కమాండ్ రసీదుని అంగీకరిస్తూ సందేశాన్ని తిరిగి పంపుతుంది.
మీ కోడ్ని అప్లోడ్ చేయండి, మీ Arduino ని నెట్వర్క్లో ప్లగ్ చేయండి మరియు MQTT.fx ఉపయోగించి సబ్స్క్రైబ్ చేయండి # లేదా ఓపెన్హాబ్ / హిమిట్సు / # (లేదా మీరు గది పేరును ఏది మార్చినప్పటికీ, చివరన # ని చేర్చడం మర్చిపోవద్దు). త్వరలో మీరు సందేశాలు వస్తున్నట్లు చూడాలి; మరియు మీరు కమాండ్ టాపిక్కు ఆన్ లేదా ఆఫ్ పంపినట్లయితే, రసీదులు కూడా తిరిగి వస్తాయి.
OpenHAB కోసం MQTT బైండింగ్
సమీకరణంలో చివరి దశ దీనిని OpenHAB లో కలపడం. దాని కోసం, వాస్తవానికి మాకు బైండింగ్ అవసరం.
sudo apt-get install openhab-addon-binding-mqtt
సుడో చౌన్ -hR ఓపెన్హాబ్: ఓపెన్హాబ్/usr/షేర్/ఓపెన్హాబ్
బైండింగ్ను ప్రారంభించడానికి కాన్ఫిగర్ ఫైల్ను సవరించండి.
mqtt: broker.url = tcp: // స్థానిక హోస్ట్: 1883
mqtt: broker.clientId = ఓపెన్హాబ్
OpenHAB ని పునartప్రారంభించండి
సుడో సర్వీస్ ఓపెన్హాబ్ రీస్టార్ట్
అప్పుడు ఒక వస్తువు లేదా రెండు జోడించండి:
/ * MQTT సెన్సార్లు */
హిమిట్సు_టెంప్ 'హిమిట్సు ఉష్ణోగ్రత [%.1f ° C]' (హిమిట్సు, ఉష్ణోగ్రత) {mqtt = '<[broker:openhab/himitsu/temperature:state:default]'}
హిమిట్సు_హూమిడిటీ 'హిమిత్సు తేమ<[broker:openhab/himitsu/humidity:state:default]'}
ఇప్పుడు మీరు ఆకృతిని అర్థం చేసుకోవాలి; అది ఒక పొందుతోంది సంఖ్య అంశం MQTT బైండింగ్ నుండి, పేర్కొన్న అంశంపై. ఇది ఒక సాధారణ ఉదాహరణ, మీరు వికీ పేజీని చూడాలనుకోవచ్చు మరింత సంక్లిష్టంగా పొందవచ్చు .
అభినందనలు, మీకు ఇప్పుడు చౌకైన Arduino- ఆధారిత సెన్సార్ శ్రేణి ఆధారం ఉంది. మేము భవిష్యత్తులో దీనిని పునitingపరిశీలించి, ఆర్డునోలను వారి స్వంత ప్రత్యేక RF నెట్వర్క్లో ఉంచుతాము. నేను కూడా ఒకే విధమైన వెర్షన్ని సృష్టించాను Wizwiki 7500 బోర్డుల కోసం ఒకవేళ మీకు వాటిలో ఒకటి ఉంటే.
పట్టుదల మరియు గ్రాఫింగ్ డేటా
ఇప్పుడు మీరు బహుశా Z- వేవ్ లేదా MQTT నడుపుతున్న కస్టమ్ Arduinos నుండి సెన్సార్ల సమూహాన్ని ఏర్పాటు చేయవచ్చు-కాబట్టి మీరు ఎప్పుడైనా ఆ సెన్సార్ల ప్రస్తుత స్థితిని చూడవచ్చు మరియు మీరు వాటి విలువలకు కూడా ప్రతిస్పందించాలి. అయితే సెన్సార్ విలువల గురించి ఆసక్తికరమైన విషయం ఏమిటంటే అవి కాలక్రమేణా మారుతూ ఉంటాయి: అక్కడే పట్టుదల మరియు గ్రాఫింగ్ వస్తుంది. పట్టుదల OpenHAB లో అంటే కాలక్రమేణా డేటాను సేవ్ చేయడం. ముందుకు సాగండి మరియు RRD4J (జావా కోసం రౌండ్ రాబిన్ డేటాబేస్) సెటప్ చేయండి, ఎందుకంటే డేటా రౌండ్ రాబిన్ పద్ధతిలో సేవ్ చేయబడుతుంది - డేటాబేస్ పరిమాణాన్ని కుదించడానికి పాత డేటా విస్మరించబడుతుంది.
కింది ఆదేశాలతో rrd4j ప్యాకేజీలను ఇన్స్టాల్ చేయండి.
sudo apt-get install openhab-addon-persistence-rrd4j
sudo chown -hR openhab:openhab /usr/share/openhab
అప్పుడు అనే కొత్త ఫైల్ను సృష్టించండి rrd4j. పెర్సిస్ట్ లో ఆకృతీకరణలు/నిలకడ ఫోల్డర్ కింది వాటిని అతికించండి:
వ్యూహాలు {
ప్రతి నిమిషం: '0 * * * *?'
ప్రతి గంట: '0 0 * * *?'
ప్రతి రోజు: '0 0 0 * *?'
డిఫాల్ట్ = ప్రతి మార్పు
}
అంశాలు {
// విలువ అప్డేట్ అయినప్పుడు ప్రతిదీ కొనసాగించండి, కేవలం డిఫాల్ట్గా, మరియు స్టార్టప్లోని డేటాబేస్ నుండి వాటిని పునరుద్ధరించండి
*: వ్యూహం = ప్రతి మార్పు, పునరుద్ధరించు స్టార్టప్
// తరువాత మేము ఉష్ణోగ్రత సమూహంలోని ఏదైనా మరియు ప్రతి నిమిషం తేమ కోసం నిర్దిష్ట వ్యూహాలను నిర్వచిస్తాము
చాలా బాగుంది $ 2.00 hdtv కోసం ఇంట్లో తయారు చేసిన యాంటెన్నా
ఉష్ణోగ్రత*: వ్యూహం = ప్రతి గంట
తేమ*: వ్యూహం = ప్రతి నిమిషం
// ప్రత్యామ్నాయంగా మీరు ఇక్కడ నిర్దిష్ట అంశాలను జోడించవచ్చు, వంటివి
// బెడ్రూమ్_హీమిడిటీ, జేమ్స్ఇన్ ఆఫీస్: వ్యూహం = ప్రతి నిమిషం
}
ఈ ఫైల్ యొక్క మొదటి భాగంలో, మేము వ్యూహాలను నిర్వచిస్తున్నాము, అంటే కేవలం CRON వ్యక్తీకరణకు పేరు పెట్టడం. ఇది మేము ఇప్పటికే My.OpenHAB తో చేసినట్లే ఉంది, కానీ ఈసారి మేము ప్రతి రోజు, ప్రతి గంట మరియు ప్రతి నిమిషం ఉపయోగించగల కొన్ని కొత్త వ్యూహాలను రూపొందిస్తున్నాము. నేను ఇంకా వాటన్నింటినీ ఉపయోగించలేదు, కానీ నేను భవిష్యత్తులో ఉండవచ్చు.
ఫైల్ రెండవ భాగంలో, ఏ డేటా విలువలను సేవ్ చేయాలో మేము rr4dj కి చెబుతాము. డిఫాల్ట్గా, ప్రతిసారీ అప్డేట్ అయ్యే ప్రతిసారి మేము సేవ్ చేయబోతున్నాము, కానీ నిర్దిష్ట సెన్సార్ల కోసం నేను కొంత సమయం ఆధారిత వ్యూహాలను కూడా పేర్కొన్నాను. ఉష్ణోగ్రతల గురించి నేను పెద్దగా బాధపడలేదు, కాబట్టి ప్రతి గంటకు మాత్రమే ఆదా చేయాలని నేను సెట్ చేసాను, కానీ తేమ నాకు పెద్ద ఆందోళన కలిగిస్తుంది, కనుక ఇది ప్రతి నిమిషం ఎలా మారుతుందో చూడాలనుకుంటున్నాను. నిర్ణీత సమయాల్లో మీరు ప్రత్యేకంగా సేవ్ చేయదలిచిన ఇతర డేటా ఉంటే, ఇప్పుడు వాటిని ఇక్కడ జోడించండి లేదా అవసరమైన విధంగా సర్దుబాటు చేయండి.
గమనిక: మీరు డేటాను కూడా గ్రాఫ్ చేయాలనుకుంటే, మీరు దానిని కనీసం నిమిషానికి ఒకసారి స్టోర్ చేయాలి. మీ సెన్సార్ డేటా కూడా దీన్ని త్వరగా అప్డేట్ చేసినా ఫర్వాలేదు, నిమిషానికి ఒకసారి స్టోర్ చేయమని మీరు rr4dj కి చెప్పాలి.
నిర్వచించిన దానితో, విలువలు నిల్వ చేయబడుతున్నాయని మీకు చెప్పే కొన్ని డీబగ్ అవుట్పుట్ చూడటం ప్రారంభించాలి.
తరువాత, ఈ మొత్తం డేటా యొక్క కొన్ని అందమైన గ్రాఫ్లను తయారు చేద్దాం. ఇది నిజంగా సులభం. వ్యక్తిగత సెన్సార్ గ్రాఫ్ చేయడానికి, మీ సైట్ మ్యాప్కు కింది వాటిని జోడించండి:
చార్ట్ అంశం = బెడ్రూమ్_ తేమ కాలం = h
మీకు కావాల్సింది అక్షరాలా అంతే. కాలానికి చెల్లుబాటు అయ్యే విలువలు h, 4h, 8h, 12h, D, 3D, W, 2W, M, 2M, 4M, Y ; దీని అర్థం ఏమిటో స్పష్టంగా ఉండాలి. పేర్కొనబడకపోతే పూర్తి రోజు డేటా కోసం ఇది D కి డిఫాల్ట్ అవుతుంది.
బహుళ అంశాలతో గ్రాఫ్ను సృష్టించడానికి, బదులుగా సమూహ పేరును గ్రాఫ్ చేయండి:
చార్ట్ అంశం = తేమ కాలం = h
మీరు ఈ గ్రాఫ్ను వేరే చోట ఉపయోగించవచ్చని తెలుసుకోవడానికి కూడా మీకు ఆసక్తి ఉండవచ్చు; ఇది క్రింది URL ని ఉపయోగించి చిత్రాన్ని రూపొందిస్తోంది: http: // YOUROPENHABURL: 8080/చార్ట్? సమూహాలు = తేమ & పీరియడ్ = గం
ఎలా ఉంది మీ OpenHAB సిస్టమ్ వస్తోంది?
గైడ్ యొక్క ఈ వాయిదానికి అంతే, కానీ OpenHAB గురించి మీరు మా నుండి చివరిగా విన్నది ఇదేనని అనుకోకండి. ఆశాజనక ఇది మరియు బిగినర్స్ గైడ్ మీ స్వంత పూర్తి ఓపెన్హాబ్ సిస్టమ్ను అభివృద్ధి చేయడానికి మీకు ఒక ఘనమైన గ్రౌండ్ని అందించాయి - కానీ ఇది పూర్తిగా పూర్తి చేయని ప్రక్రియ.
కృతజ్ఞతగా, OpenHAB కొన్ని పరికరాల నుండి వందల వరకు, సాధారణ నియమ సంక్లిష్టత నుండి ఇంటి ఆటోమేషన్లో అంతిమ స్థాయి వరకు బాగా స్కేల్ చేయగలదు - కాబట్టి మీ సిస్టమ్ ఎలా వస్తుంది? మీరు ఏ పరికరాలను ఎంచుకున్నారు? మీరు పరిష్కరించబోయే తదుపరి పెద్ద ప్రాజెక్ట్ ఏమిటి?
వ్యాఖ్యలలో మాట్లాడుకుందాం - మరియు దయచేసి, ఈ గైడ్ మీకు ఉపయోగకరంగా అనిపిస్తే, మీ స్నేహితులు కూడా వారి స్వంత OpenHAB వ్యవస్థను ఎలా సెటప్ చేయవచ్చో చెప్పడానికి ఆ షేర్ బటన్లను క్లిక్ చేయండి.
మేము సిఫార్సు చేసిన మరియు చర్చించే అంశాలు మీకు నచ్చుతాయని మేము ఆశిస్తున్నాము! MUO అనుబంధ మరియు ప్రాయోజిత భాగస్వామ్యాలను కలిగి ఉంది, కాబట్టి మీ కొన్ని కొనుగోళ్ల నుండి మేము ఆదాయంలో వాటాను స్వీకరిస్తాము. ఇది మీరు చెల్లించే ధరను ప్రభావితం చేయదు మరియు ఉత్తమమైన ఉత్పత్తి సిఫార్సులను అందించడంలో మాకు సహాయపడుతుంది.
షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ యానిమేటింగ్ స్పీచ్ కోసం బిగినర్స్ గైడ్ప్రసంగాన్ని యానిమేట్ చేయడం ఒక సవాలుగా ఉంటుంది. మీరు మీ ప్రాజెక్ట్కి సంభాషణను జోడించడానికి సిద్ధంగా ఉంటే, మేము మీ కోసం ప్రక్రియను విచ్ఛిన్నం చేస్తాము.
తదుపరి చదవండి సంబంధిత అంశాలు- DIY
- స్మార్ట్ హోమ్
- ఆర్డునో
- హోమ్ ఆటోమేషన్
- లాంగ్ఫార్మ్
- లాంగ్ఫార్మ్ గైడ్
జేమ్స్ ఆర్టిఫిషియల్ ఇంటెలిజెన్స్లో BSc కలిగి ఉన్నారు మరియు CompTIA A+ మరియు నెట్వర్క్+ సర్టిఫికేట్ పొందారు. అతను హార్డ్వేర్ రివ్యూస్ ఎడిటర్గా బిజీగా లేనప్పుడు, అతను LEGO, VR మరియు బోర్డ్ గేమ్లను ఆస్వాదిస్తాడు. MakeUseOf లో చేరడానికి ముందు, అతను లైటింగ్ టెక్నీషియన్, ఇంగ్లీష్ టీచర్ మరియు డేటా సెంటర్ ఇంజనీర్.
జేమ్స్ బ్రూస్ నుండి మరిన్నిమా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి
టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!
సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి