विषयसूची:

Android और Arduino SMS आधारित होम ऑटोमेशन: 5 चरण (चित्रों के साथ)
Android और Arduino SMS आधारित होम ऑटोमेशन: 5 चरण (चित्रों के साथ)

वीडियो: Android और Arduino SMS आधारित होम ऑटोमेशन: 5 चरण (चित्रों के साथ)

वीडियो: Android और Arduino SMS आधारित होम ऑटोमेशन: 5 चरण (चित्रों के साथ)
वीडियो: Android SMS App Based Device Switching using Arduino 2024, जुलाई
Anonim
Android और Arduino SMS आधारित होम ऑटोमेशन
Android और Arduino SMS आधारित होम ऑटोमेशन
Android और Arduino SMS आधारित होम ऑटोमेशन
Android और Arduino SMS आधारित होम ऑटोमेशन

! ! ! सूचना ! ! !

मेरे क्षेत्र में स्थानीय सेलफोन टावर के उन्नयन के कारण, मैं अब इस जीएसएम मॉड्यूल का उपयोग करने में सक्षम नहीं हूं। नया टावर अब 2जी डिवाइस को सपोर्ट नहीं करता है। इसलिए, मैं अब इस परियोजना के लिए कोई समर्थन नहीं दे सकता।

हाल ही में, मुझे खेलने के लिए अपेक्षाकृत सस्ता क्वाड बैंड जीएसएम/जीपीआरएस मॉड्यूल मिला। यह एक SIM800L मॉड्यूल है, और सीरियल पोर्ट के माध्यम से किसी भी माइक्रो के साथ संचार करता है। यह एक पैनल माउंट एंटीना के साथ पूरा हुआ।

मैंने एक साधारण एसएमएस कंट्रोलर सिस्टम बनाने का फैसला किया जो उपकरणों को नियंत्रित करने और अलार्म इंगित करने के लिए लघु संदेश सेवा (एसएमएस) कमांड का उपयोग करता है।

चरण 1: एसएमएस कमांड

एसएमएस कमांड
एसएमएस कमांड

किसी भी संचार प्रणाली के साथ, विशिष्ट कमांड को रिमोट डिवाइस पर भेजने की आवश्यकता होती है ताकि यह बताया जा सके कि क्या करना है। इसी तरह, रिमोट डिवाइस को इन कमांड्स पर रिप्लाई या रिएक्ट करने की जरूरत होती है। इस परियोजना में दो भाग होते हैं, एसएमएस नियंत्रक, और एक मानक सेलुलर फोन।

विचार चार डिजिटल आउटपुट के साथ एक साधारण एसएमएस नियंत्रक बनाने का था। प्राप्त एसएमएस के आधार पर, यूनिट को अलग-अलग आउटपुट को नियंत्रित करने में सक्षम होना चाहिए।

मैंने चार डिजिटल इनपुट शामिल करने का भी फैसला किया। इसका उपयोग अलार्म या अन्य जानकारी को इंगित करने के लिए किया जा सकता है।

निर्माण शुरू करने से पहले, मैंने विशिष्ट कार्यों के लिए विशिष्ट आदेश बनाने का निर्णय लिया। यह 'कमांड' एक सेल्युलर फोन से एक एसएमएस के जरिए भेजा जाएगा।

एसएमएस नियंत्रक आदेश प्राप्त करते हैं:

o1:1 - आउटपुट 1 चालू करें

o1:0 - आउटपुट 1 बंद करें

o1:p - पल्स आउटपुट 1 चालू, फिर बंद करें

o2:1 - आउटपुट 2 चालू करें

o2:0 - आउटपुट 2 बंद करें

o2:p - पल्स आउटपुट 2 चालू करें, फिर बंद करें

o3:1 - आउटपुट 3 चालू करें

o3:0 - आउटपुट 3 बंद करें

o3:p - पल्स आउटपुट 3 चालू करें, फिर बंद करें

o4:1 - आउटपुट 4 चालू करें

o4:0 - आउटपुट 4 बंद करें

o4:p - पल्स आउटपुट 4 चालू करें, फिर बंद करें

???? - इनपुट और आउटपुट की अनुरोध स्थिति

#### - सिस्टम रीसेट करें

प्रतिक्रिया के लिए, एसएमएस नियंत्रक को प्राप्त आदेशों का जवाब देना चाहिए, और एक एसएमएस के साथ जवाब देना चाहिए। मैंने फैसला किया कि इस उत्तर एसएमएस में सभी I/O पिन की स्थिति शामिल होनी चाहिए।

एसएमएस नियंत्रक प्रतिक्रिया आदेश:

i1:x i2:x i3:x i4:x o1:x o2:x o3:x o4:x

जहां x I/O स्थिति है, 1 ऑन के लिए, 0 ऑफ के लिए।

चरण 2: एसएमएस नियंत्रक का निर्माण

एसएमएस नियंत्रक का निर्माण
एसएमएस नियंत्रक का निर्माण
एसएमएस नियंत्रक का निर्माण
एसएमएस नियंत्रक का निर्माण
एसएमएस नियंत्रक का निर्माण
एसएमएस नियंत्रक का निर्माण

आवश्यक उपकरण:

ब्रेडबोर्ड पर कोई भी Arduino, या स्टैंड-अलोन ATMEGA328p

एसएमएस भेजने और प्राप्त करने में सक्षम सिम कार्ड के साथ SIM800L GSM/GPRS मॉड्यूल

डीसी / डीसी कनवर्टर नीचे कदम

ध्यान दें !

SIM800L मॉड्यूल को पावर देने के लिए DC/DC कनवर्टर की आवश्यकता होती है। यह मॉड्यूल आपके पास मौजूद संस्करण के आधार पर 3.7V और 5V के बीच संचालित होता है। इस मॉड्यूल को एक बिजली आपूर्ति की भी आवश्यकता होती है जो मॉड्यूल डेटा संचारित करते समय 2A तक पहुंचा सकती है। इसे सीधे Arduino Uno से संचालित नहीं किया जा सकता है !

सर्किट काफी सरल है। मैंने इसे ब्रेडबोर्ड पर इकट्ठा और परीक्षण किया है।

सर्किट की शक्ति डीसी / डीसी कनवर्टर के माध्यम से होती है, आउटपुट वोल्टेज 4.5V पर सेट होता है। डिजिटल आउटपुट का अनुकरण करने के लिए चार एलईडी और डिजिटल इनपुट के लिए चार बटन हैं। SIM800L ATMEGA328p के Rx/Tx पिन से जुड़ा है।

एक 5 वीं एलईडी का उपयोग यह इंगित करने के लिए किया जाता है कि सिस्टम कब एसएमएस भेजने में व्यस्त है।

चरण 3: ATMEGA328p की प्रोग्रामिंग करना

ATMEGA328p प्रोग्रामिंग
ATMEGA328p प्रोग्रामिंग
ATMEGA328p. प्रोग्रामिंग
ATMEGA328p. प्रोग्रामिंग

प्रोग्रामिंग से पहले, INO फ़ाइल खोलें, और फ़ोन नंबर संपादित करें। xxxxxxxxxx को पंक्ति ४६ में अपने स्वयं के सेल्युलर फ़ोन नंबर से बदलें। पुन: संकलित करें, और फ़ाइल अपलोड करें।

साथ ही, INO फ़ाइल में सॉफ़्टवेयर सीरियल पोर्ट को कॉन्फ़िगर करने के तरीके के बारे में निर्देश पढ़ें।

//=============================================================================//

// ! ! ! ध्यान दें ! ! !

// ================

//

// सॉफ्टवेयर सीरियल लाइब्रेरी में बफर को 200. में बदला जाएगा

//

// सॉफ्टवेयर सीरियल का उपयोग करने के लिए, उपयोगकर्ता को सॉफ्टवेयर सीरियल बफर को भी 200 में बदलना चाहिए।

// इसे निम्न फ़ाइल में संपादित किया जाना चाहिए:

//

// C:/प्रोग्राम फाइल्स/Arduino x.x.x/Hardware/Arduino/AVR/Libraries/SoftwareSerial/src/SoftWareSerial.h

//

// नीचे के रूप में बफर बदलें:

//

// #ifndef _SS_MAX_RX_BUFF

// #परिभाषित करें _SS_MAX_RX_BUFF 200

// आरएक्स बफर आकार

// #अगर अंत

//

//=============================================================================

एक Arduino UNO का उपयोग करके ब्रेडबोर्ड पर ATMEGA328p को प्रोग्राम करने के लिए इस निर्देश का संदर्भ लें।

www.instructables.com/id/Arduino-UNO-as-AtM…

चरण 4: एसएमएस नियंत्रक का उपयोग करना

एसएमएस नियंत्रक का उपयोग करना
एसएमएस नियंत्रक का उपयोग करना

एसएमएस नियंत्रक का उपयोग करना

यदि चार इनपुट में से कोई भी ट्रिगर होता है तो एसएमएस नियंत्रक स्वचालित रूप से आपके फोन पर एक एसएमएस भेजेगा। ट्रिगर का विवरण एसएमएस टेक्स्ट में निहित होगा।

एसएमएस संदेशों और आदेशों को आईएनओ फ़ाइल में आपकी आवश्यकताओं के अनुसार संपादित किया जा सकता है।

एसएमएस नियंत्रक आउटपुट का परीक्षण

अपने सेल्युलर फ़ोन से, अपने SIM800L सिमकार्ड नंबर पर निम्न आदेश भेजें:

o1:1, यह आउटपुट 1 को चालू करेगा।

आपके फोन पर, आपको निम्नलिखित एसएमएस प्राप्त होंगे:

i1:0 i2:0 i3:0 i4:0 o1:1 o2:0 03:0 o4:0

01:00, यह आउटपुट 1 को बंद कर देगा।

आपके फोन पर, आपको निम्नलिखित एसएमएस प्राप्त होंगे:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

01:p, यह 1 सेकंड के लिए आउटपुट 1 को चालू करेगा, फिर आउटपुट 1 को फिर से बंद कर देगा (स्पंदित)।

आपके फोन पर, आपको निम्नलिखित एसएमएस प्राप्त होंगे:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

एसएमएस नियंत्रक इनपुट का परीक्षण

एसएमएस नियंत्रक पर, बटन 1 को संक्षेप में दबाएं

आपके फ़ोन पर, आपको स्वचालित रूप से निम्न SMS प्राप्त होंगे:

i1:1 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

एसएमएस नियंत्रक पर, बटन 2 को संक्षेप में दबाएं

आपके फ़ोन पर, आपको स्वचालित रूप से निम्न SMS प्राप्त होंगे:

i1:1 i2:1 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

एसएमएस कंट्रोलर पर, बटन 3 को संक्षेप में दबाएं

आपके फ़ोन पर, आपको स्वचालित रूप से निम्न SMS प्राप्त होंगे:

i1:1 i2:1i3:1 i4:0 o1:0 o2:0 03:0 o4:0

जैसा कि प्राप्त एसएमएस पर देखा जा सकता है, आउटपुट प्राप्त आदेशों के अनुसार बदलता है। हालांकि, बटन दबाए जाने के बाद इनपुट 1 से 0 में वापस नहीं बदलते हैं। क्योंकि मैं इनपुट में कोई भी बदलाव देखने में सक्षम होना चाहता था, मैंने इनपुट स्थिति में सील करने का फैसला किया जब तक कि एसएमएस नियंत्रक को रीसेट कमांड नहीं भेजा जाता।

अलार्म रीसेट करें

इनपुट स्थिति को रीसेट करने के लिए, निम्न आदेश भेजें:

####, यह इनपुट स्थिति को रीसेट कर देगा।

आपके फोन पर, आपको निम्नलिखित एसएमएस प्राप्त होंगे:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

स्थिति अपडेट होती है

आप निम्न आदेश भेजकर किसी भी समय स्थिति का अनुरोध कर सकते हैं:

????, यह I/Os के स्टेटस अपडेट का अनुरोध करेगा।

आपके फोन पर, आपको निम्नलिखित एसएमएस प्राप्त होंगे:

i1:x i2:x i3:x i4:x o1:x o2:x 03:x o4:x

जहां x स्थिति को इंगित करता है, 1 चालू के लिए, 0 बंद के लिए।

चरण 5: Android एप्लिकेशन

एंड्रॉइड एप्लिकेशन
एंड्रॉइड एप्लिकेशन
एंड्रॉइड एप्लिकेशन
एंड्रॉइड एप्लिकेशन
एंड्रॉइड एप्लिकेशन
एंड्रॉइड एप्लिकेशन

एमआईटी ऐप आविष्कारक 2 (https://ai2.appinventor.mit.edu/) का उपयोग करके, मैंने अपने एंड्रॉइड सेलुलर फोन के लिए एक सरल यूजर इंटरफेस बनाया। यह ऐप आपको प्रत्येक I/O के विवरण को अनुकूलित करने की अनुमति देता है। यह टेलीफोन नंबर की प्रविष्टि के लिए भी अनुमति देता है।

आउटपुट को नियंत्रित करने के लिए चार बटन का उपयोग किया जाता है, जबकि चेक बॉक्स इनपुट स्थिति को इंगित करते हैं।

ऐप को संपादित करने के लिए, एक एमआईटी ऐप आविष्कारक 2 खाता बनाएं, और एआईए फ़ाइल आयात करें।

अपने फोन पर ऐप इंस्टॉल करने के लिए, एपीके फाइल को अपने फोन में कॉपी करें और इसे इंस्टॉल करें। आपको अपने फोन की सुरक्षा सेटिंग्स के तहत "अज्ञात स्रोतों" से ऐप्स की स्थापना को सक्षम करना होगा।

सिफारिश की: