विषयसूची:

इंटरनेट सक्षम पावर आउटलेट: 13 कदम
इंटरनेट सक्षम पावर आउटलेट: 13 कदम

वीडियो: इंटरनेट सक्षम पावर आउटलेट: 13 कदम

वीडियो: इंटरनेट सक्षम पावर आउटलेट: 13 कदम
वीडियो: Connect to the internet | You're offline check your connection android | youtube you're offline 2024, नवंबर
Anonim
Image
Image
आपूर्ति की जरूरत
आपूर्ति की जरूरत

PowerHub वेबसर्वर प्रोजेक्ट और इंटरनेट सक्षम आउटलेट सेटअप निर्देश

आपके घर में इंटरनेट सक्षम प्रकाश और आउटलेट के लिए केंद्रीय डेटा दृढ़ता केंद्र!

चरण 1: पावरहब वेबसर्वर प्रोजेक्ट और इंटरनेट सक्षम आउटलेट सेटअप निर्देश

आपके घर में इंटरनेट सक्षम प्रकाश और आउटलेट के लिए केंद्रीय डेटा दृढ़ता केंद्र

फ्लैशिंग रास्पबेरीपी हार्ड डिस्क / आवश्यक सॉफ़्टवेयर स्थापित करें (उबंटू लिनक्स का उपयोग करके) "रास्पियन जेसी लाइट" डाउनलोड करें

डैशबोर्डपीआई के लिए अपनी नई हार्ड डिस्क बनाएं

USB अडैप्टर के माध्यम से अपने कंप्यूटर में माइक्रोएसडी डालें और dd कमांड का उपयोग करके डिस्क छवि बनाएं

df -h कमांड के माध्यम से अपने सम्मिलित माइक्रोएसडी कार्ड का पता लगाएँ, इसे अनमाउंट करें और डिस्क कॉपी dd कमांड के साथ डिस्क इमेज बनाएं

$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /मीडिया/XXX/1234-5678

$ umount /dev/sdb1

सावधानी: सुनिश्चित करें कि कमांड पूरी तरह से सटीक है, आप इस कमांड से अन्य डिस्क को नुकसान पहुंचा सकते हैं

अगर=रास्पियन जेसी लाइट की छवि फ़ाइल का स्थान=आपके माइक्रोएसडी कार्ड का स्थान

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (नोट: इस मामले में, यह /dev/sdb, /dev/sdb1 पर एक मौजूदा कारखाना विभाजन था। माइक्रोएसडी)

अपना रास्पबेरीपी सेट करना

रास्पबेरीपी में अपना नया माइक्रोएसडी कार्ड डालें और एचडीएमआई पोर्ट से जुड़े मॉनिटर के साथ इसे चालू करें

लॉग इन करें

उपयोगकर्ता: पीआई पास: रास्पबेरी

सुरक्षा के लिए अपना खाता पासवर्ड बदलें

सुडो पासवार्ड पीआई

चरण 2: रास्पबेरीपी उन्नत विकल्प सक्षम करें

सुडो रास्पि-कॉन्फ़िगरेशन

चुनें: 1 फाइल सिस्टम का विस्तार करें

9 उन्नत विकल्प

A2 होस्टनाम इसे "वाईफ़ाई-आउटलेट" में बदल देता है

A4 SSH SSH सर्वर सक्षम करें

A7 I2C i2c इंटरफ़ेस सक्षम करें

अंग्रेज़ी/यूएस कीबोर्ड सक्षम करें

सुडो नैनो / आदि / डिफ़ॉल्ट / कीबोर्ड

निम्न पंक्ति बदलें: XKBLAYOUT="us"

कीबोर्ड लेआउट में बदलाव के लिए रीबूट पीआई / प्रभावी होने के लिए फाइल सिस्टम का आकार बदलना

$ सूडो शटडाउन -आर अब

अपने वाईफाई से ऑटो-कनेक्ट

सुडो नैनो /etc/wpa_supplicant/wpa_supplicant.conf

अपने रास्पबेरीपी को स्वचालित रूप से आपके होम वाईफाई से कनेक्ट करने के लिए निम्नलिखित पंक्तियों को जोड़ें (उदाहरण के लिए, यदि आपके वायरलेस नेटवर्क का नाम "लिंक्सिस" है, तो निम्नलिखित उदाहरण में)

नेटवर्क = { ssid = "linksys" psk = "वायरलेस पासवर्ड यहां" } वाईफाई नेटवर्क से कनेक्ट करने के लिए पीआई रीबूट करें

$ सूडो शटडाउन -आर अब

अब जब आपका PI अंततः स्थानीय नेटवर्क पर है, तो आप SSH के माध्यम से इसमें दूरस्थ रूप से लॉगिन कर सकते हैं। लेकिन पहले आपको वह आईपी पता प्राप्त करना होगा जो वर्तमान में उसके पास है।

$ ifconfig अपने PI के IP पते के लिए निम्न कमांड के आउटपुट में "inet addr: 192.168. XXX. XXX" देखें।

दूसरी मशीन पर जाएं और ssh. के माध्यम से अपने रास्पबेरीपी में लॉगिन करें

$ ssh [email protected]. XXX. XXX

चरण 3: आवश्यक पैकेज स्थापित करना प्रारंभ करें

$ sudo apt-get update

$ सुडो एपीटी-अपग्रेड प्राप्त करें

$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tools python-इमेजिंग

स्थानीय समय क्षेत्र सेटिंग अपडेट करें

$ sudo dpkg-reconfigure tzdata

इंटरफ़ेस का उपयोग करके अपना समय क्षेत्र चुनें

सरल निर्देशिका l कमांड सेट करें [वैकल्पिक]

vi ~/.bashrc

निम्न पंक्ति जोड़ें:

उपनाम एल = 'एलएस -एलएच'

स्रोत ~/.bashrc

VIM डिफ़ॉल्ट सिंटैक्स हाइलाइटिंग को ठीक करें [वैकल्पिक]

sudo vi /etc/vim/vimrc

निम्नलिखित पंक्ति को असम्बद्ध करें:

वाक्य रचना पर

i2c पायथन ड्राइवर स्थापित करें

चरण 4: वेब एपीआई बनाएं

निम्नलिखित निर्देश आपको केंद्रीय हब बनाने की अनुमति देंगे जो आपके द्वारा बनाए जा सकने वाले विभिन्न वाईफाई सक्षम आउटलेट और दीवार स्विच को बताता है कि कौन से डिवाइस चालू और बंद हैं। यह आपकी पसंद के वेबहोस्ट पर रखने के लिए एक छोटी सी पीएचपी स्क्रिप्ट है। इसमें जानकारी प्राप्त करने और सेट करने के लिए निम्न API है। नोट: उचित URL रूटिंग के लिए.htaccess फ़ाइल शामिल करना न भूलें।

अपनी पसंद के PHP सक्षम वेबसर्वर में "index.php", "values/" फोल्डर और settings.php (आपके अपने मूल्यों के लिए कॉन्फ़िगर किया गया) स्थापित करें। "सेटिंग्स.php" फ़ाइल में गुप्त कुंजी मान उस गुप्त कुंजी मान से मेल खाना चाहिए जिसे आप "settings.py" फ़ाइल में सेट करेंगे। यह बुनियादी स्तर पर किसी भी अन्य वेब ट्रैफ़िक को मान सेट करने/लिखने से रोकेगा, आपके उपकरणों को चालू करने के लिए, अब आपको ऐसा करने के लिए HTTP अनुरोध शीर्षलेख में इस हैशेड एपीआई कुंजी की आवश्यकता है।

एपीआई निम्नलिखित सुविधाओं का समर्थन करता है, इस परियोजना के लिए हम केवल "ध्वज" मानों का उपयोग करेंगे जो बूलियन मान हैं जो स्विच को चालू और बंद करने के लिए कहते हैं। शायद यदि आप "रीडिंग" मूल्यों का लाभ उठाना चाहते हैं, तो आप इसे प्राप्त कर सकते हैं, यदि कमरे का तापमान वहां के तापमान को बचाकर बहुत गर्म हो जाता है, तो यह एक खिड़की के पंखे को चालू कर सकता है, आदि।

कोड प्राप्त करें

वेबसर्वर और आउटलेट रास्पबेरीपीआई चलाने के लिए कोड प्राप्त करने के लिए गिटहब से निम्नलिखित प्रोजेक्ट को क्लोन करें।

github.com/khinds10/PowerHub

वेबसर्वर पर चलते समय API समापन बिंदु

myhost/message (वर्तमान संदेश सेट प्राप्त करें)

myhost/message/set (एक नया संदेश सेट करने के लिए HTTP इस URL पर एक कच्चा स्ट्रिंग मान पोस्ट करें)

myhost/flag/{id} (पूर्णांक द्वारा ध्वज की वर्तमान बूलियन स्थिति प्राप्त करें: {id})

myhost/flag/all (एक सरणी के रूप में सभी झंडों की सभी वर्तमान बूलियन स्थिति प्राप्त करें)

myhost/flag/{id}/set (वर्तमान बूलियन स्थिति को पूर्णांक द्वारा ध्वज के लिए 'सही' पर सेट करें: {id})

myhost/flag/{id}/unset (वर्तमान बूलियन स्थिति को पूर्णांक द्वारा ध्वज के लिए 'गलत' पर सेट करें: {id})

myhost/reading/{id} (पूर्णांक द्वारा पढ़ने के लिए वर्तमान औसत मान प्राप्त करें: {id})

myhost/reading/all (एक सरणी के रूप में सभी रीडिंग के लिए वर्तमान औसत मूल्य प्राप्त करें)

myhost/reading/{id}/set (वर्तमान परिकलित औसत में एक नया मान जोड़ने के लिए HTTP इस URL पर एक अपरिष्कृत संख्यात्मक मान पोस्ट करें) -- नीचे देखें कि औसत मान के लिए कुल कितने मान संकलित किए गए हैं कॉन्फ़िगरेशन 'रीडिंग' मानों की गणना हाल ही में लगातार पढ़ने वाले संख्यात्मक मानों की एक निश्चित संख्या के औसत के रूप में की जाती है। निम्नलिखित स्थिरांक को सेट करें कि औसत का उत्पादन करने के लिए सबसे हाल के रीडिंग में से कितने को शामिल किया जाना चाहिए।

$ रीडिंग औसत सीमा = 5;

डेटास्टोर सर्वर नीचे दी गई परंपराओं का नामकरण करके स्थित साधारण फाइलों के मूल्यों को बनाए रखेगा। नोट: {id} को आने वाले अनुरोध के URL द्वारा प्रस्तुत वास्तविक पूर्णांक से बदल दिया जाएगा।

$valueFileFolder = 'मान' (माप फ़ाइलों को शामिल करने के लिए फ़ोल्डर का नाम) $messageFileName = 'message.msg' (संदेश टेक्स्ट फ़ाइल का नाम) $readingsFilesNames = 'reading{id}.avg' (औसत CSV का नाम) रीडिंग फाइल) $flagFilesNames = 'flag{id}.flg' (बूलियन फ्लैग वैल्यू फ्लैग फाइल का नाम)

सुनिश्चित करें कि सभी मान फ़ाइलें systemchmod ७७७ मान/* द्वारा लिखने योग्य हैं

चरण 5: आपूर्ति की आवश्यकता

आपूर्ति की जरूरत
आपूर्ति की जरूरत
आपूर्ति की जरूरत
आपूर्ति की जरूरत
आपूर्ति की जरूरत
आपूर्ति की जरूरत

1 इंच का छेद देखा (ड्रिल के लिए)

5V 2 चैनल रिले मॉड्यूल

डुप्लेक्स रिसेप्टकल वॉल प्लेट

डुप्लेक्स रिसेप्टकल

पाई ज़ीरो W

सरफेस माउंट बैकबॉक्स डुअल गैंग

सफेद प्रबुद्ध पुश बटन

चरण 6: आउटलेट का निर्माण

आउटलेट का निर्माण
आउटलेट का निर्माण

ब्रेक आउटलेट टैब

प्रत्येक सॉकेट को स्वतंत्र रूप से चालू/बंद करने के लिए आउटलेट के किनारे पर स्थित टैब को तोड़ें

चरण 7: बटन स्थापित करें

बटन स्थापित करें
बटन स्थापित करें
बटन स्थापित करें
बटन स्थापित करें

आउटलेट फेसप्लेट पर 1 छेद का उपयोग करके आउटलेट के बगल में रखे जाने वाले बटनों के लिए 2 छेदों को देखा गया देखा

घटकों का परीक्षण आकार

सुनिश्चित करें कि सभी घटक आउटलेट सतह माउंट बॉक्स में फिट होंगे

चरण 8: वायर रिले

वायर रिले
वायर रिले
वायर रिले
वायर रिले

आउटलेट के लिए रिले को तार दें, दीवार पर जाने वाले एक्सटेंशन कॉर्ड से, जमीन (हरा) और तटस्थ (सफेद) को सीधे आउटलेट से कनेक्ट करें। व्यक्तिगत रूप से

चरण 9: अतिरिक्त वायरिंग और असेंबली इमेज

अतिरिक्त वायरिंग और असेंबली इमेज
अतिरिक्त वायरिंग और असेंबली इमेज

चरण 10: वायरिंग आरेख

वायरिंग का नक्शा
वायरिंग का नक्शा

रास्पबेरीपीआई पायथन कोड के साथ काम करने के लिए घटकों को सही ढंग से तार करने के लिए आरेख का उपयोग करें।

चरण 11: ड्राई रन का परीक्षण करें

टेस्ट ड्राई रन
टेस्ट ड्राई रन
टेस्ट ड्राई रन
टेस्ट ड्राई रन
टेस्ट ड्राई रन
टेस्ट ड्राई रन

छेद इकाई को एक साथ पेंच करने से पहले अंतिम असेंबली के बाद, यह सुनिश्चित करने के लिए डिवाइस का सूखा रन करें कि कोई शॉर्ट्स, खराब वायरिंग नहीं है

चरण 12: स्टार्टअप स्क्रिप्ट सेट करें

क्रोंटैब -ई

निम्नलिखित पंक्तियाँ जोड़ें

@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py

सिफारिश की: