विषयसूची:

वर्चुअल डोर बटन Mongoose OS और XinaBox का उपयोग कर रहा है: 10 कदम
वर्चुअल डोर बटन Mongoose OS और XinaBox का उपयोग कर रहा है: 10 कदम

वीडियो: वर्चुअल डोर बटन Mongoose OS और XinaBox का उपयोग कर रहा है: 10 कदम

वीडियो: वर्चुअल डोर बटन Mongoose OS और XinaBox का उपयोग कर रहा है: 10 कदम
वीडियो: ESP32-CAM Camera for Arduino IDE 2024, नवंबर
Anonim
वर्चुअल डोर बटन Mongoose OS और XinaBox का उपयोग कर रहा है
वर्चुअल डोर बटन Mongoose OS और XinaBox का उपयोग कर रहा है

नेवला और कुछ xChips का उपयोग करके, हमने एक वर्चुअल डोर बटन बनाया। कर्मचारियों को बुलाने के लिए एक भौतिक बटन के बजाय, वे अब इसे स्वयं कर सकते हैं।

चरण 1: इस परियोजना में प्रयुक्त चीजें

हार्डवेयर घटक

  • XinaBox CW02 x 1 आप इसके बजाय CW01 का उपयोग कर सकते हैं
  • ज़िनाबॉक्स IP01 x 1
  • XinaBox PU01 x 1 यदि आप अधिक मॉड्यूल प्रोग्राम करने का इरादा नहीं रखते हैं, तो आप केवल शक्ति के लिए IP01 का उपयोग कर सकते हैं।
  • ज़िनाबॉक्स OC03 x 1
  • XinaBox XC10 x 1 "गोंद" जो यह सब काम करता है!

सॉफ़्टवेयर ऐप्स और ऑनलाइन सेवाएं

नेवला ओएस वास्तव में बहुत बढ़िया और आसान IoT विकास उपकरण … और मुफ़्त

चरण 2: कहानी

हमारे स्वागत में हमारे स्टाफ को बुलाने की जरूरत थी, इसलिए हमने अपनी दवा लेने और एक वर्चुअल बटन बनाने का फैसला किया। यह कोड आपको एक आरपीसी (रिमोट प्रोसीजर कॉल) भेजने की अनुमति देता है, जो किसी भी ब्राउज़र से सामान्य HTTP कॉल की तरह दिखता है। हमने Mongoose का उपयोग किया, क्योंकि इसके साथ काम करना वास्तव में आसान और तेज़ है और यह कोड का अंतर्निहित OTA (ओवर द एयर) अपडेट है, इसका मतलब है कि हम अपनी तकनीक को स्थापित कर सकते हैं और फिर भी समय के साथ फर्मवेयर को अपग्रेड कर सकते हैं, इसे रीप्रोग्रामिंग के लिए अलग किए बिना।

चरण 3: तैयारी

  • नेवला-ओएस स्थापित करें: सीधे आगे, बस अपने ओएस के लिए इन आसान चरणों का पालन करें:
  • XC10 कनेक्टर का उपयोग करके IP01 और CW02 को एक साथ क्लिक करें। नीचे दी गई छवि देखें:
छवि
छवि
  • अपने USB पोर्ट में IP01 डालें
  • सुनिश्चित करें कि IP01 स्विच स्थिति B और DCE में है।
  • अपनी कमांड लाइन से Mongoose-OS को CW02 में फ्लैश करें। इस कदर:

सीडी

निर्यात MOS_PORT= बिन/मोस फ्लैश esp32

आप केवल कंसोल में प्रवेश कर सकते हैं और वहां से अधिकांश कर सकते हैं, लेकिन यहां हम इसे कमांड लाइन से करते हैं, इसलिए काम जल्दी हो जाता है। कंसोल में प्रवेश करने के लिए:

सीडी

बिन/मोस

चरण 4: विन्यास

हालांकि इन चरणों को एक लंबे कथन में किया जा सकता था, हमने उन्हें विभाजित करने का निर्णय लिया, और चूंकि आप उन्हें किसी भी तरह कॉपी और पेस्ट करेंगे, इसलिए इसे आसान बनाते हैं:

I2C पिन को xChips मानक पर सेट करें:

bin/mos config-set i2c.scl_gpio=14 i2c.sda_gpio=2

अपने CW02 को अपने वाईफाई से कनेक्ट करें:

बिन/मोस वाईफाई

एपी मोड में वाईफाई को डिस्कनेक्ट करें और एक डोमेन नाम सेट करें, ताकि आप सही आईपी पता खोजने के बजाय होस्टनाम द्वारा CW01 से जुड़ सकें। यह तभी काम करेगा जब:

  • आप वाईफाई को एपी मोड में डिस्कनेक्ट करते हैं जैसा कि हम नीचे करते हैं।
  • या तो मैक का उपयोग करें या विंडोज़ मशीन पर बोनजोर स्थापित करें।

bin/mos कॉल कॉन्फिग.सेट '{"config": {"wifi": {"ap": {"enable": false}}}}'

bin/mos कॉल Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos call Config. Set '{"config": {"dns_sd": {"host- नाम": "xinabox_switch"}}}

और अंत में आपको कॉन्फ़िगरेशन को काम करने के लिए CW02 को रीबूट करना होगा

बिन/मोस कॉन्फिग को कॉल करें। '{"reboot": true}' सेव करें

इसके तुरंत बाद आपको xinabox_switch.local. को पिंग करने में सक्षम होना चाहिए

चरण 5: स्थापित करना

अपने कंप्यूटर से IP01 को अनप्लग करें और शीर्ष छवि के अनुसार एक सर्किट को असेंबल करें।

PU01 (या यदि आपने IP01 से चिपके रहने का निर्णय लिया है) को USB पावर स्रोत में प्लग करें। अपने मौजूदा स्विच से समानांतर तारों को कनेक्ट करें (इसे छोड़ दें, बस मामले में) OC03 (ध्रुवीयता कोई फर्क नहीं पड़ता)। फ्रिटिंग ड्राइंग देखें।

एक बार संचालित होने के बाद और यह देखने के लिए कि आप वास्तव में अपने xCW02 से बात कर रहे हैं, बस को स्कैन करने के बारे में क्या है, I2C बस उर्फ:

bin/mos --port ws://xinabox_switch.local/rpc कॉल I2C. Scan

यदि यह सब काम करता है और आपका xOC03 सही ढंग से स्थापित है, तो आपको एक संख्या '56' वापस दिखाई देनी चाहिए। वह दशमलव में OC03 का I2C पता है (हेक्स में यह 0x38 है)।

चरण 6: प्रोग्रामिंग

  • अब Mongoose को कंसोल मोड में खोलें, ऊपर देखें। यह एक विंडो के साथ खुलना चाहिए जहां यह पोर्ट नंबर मांगता है, दर्ज करें: ws://xinabox_switch.local/rpc
  • यह CW02 के साथ संचार करेगा, और महसूस करेगा कि इकाई पहले से ही फ्लैश और वाईफाई से जुड़ी हुई है, इसलिए यह सिर्फ 3 चेक मार्क देगा। विंडो बंद करें और फ़ाइल सूची ताज़ा करें
  • नीचे दिए गए कोड को init.js में कॉपी और पेस्ट करें, और save+reboot. पर क्लिक करें
  • आप सर्किट अब प्रोग्राम किया गया है।

चरण 7: परीक्षण

आपने अब एक और RPC कॉल लागू किया है ताकि आप अपने टर्मिनल से दर्ज कर सकें:

bin/mos --port ws://xinabox_switch.local/rpc कॉल स्विच

… और आपका बजर 2 सेकंड के लिए चलना चाहिए। आप इसे बस - लगभग - किसी भी ब्राउज़र से भी कर सकते हैं:

xinabox_switch.local/rpc/Switch

… उसी प्रभाव से।

चरण 8: अगला चरण

आप किसी ऐसे टूल का उपयोग कर सकते हैं जो किसी URL को सक्रिय कर सके। मैं इसे वर्कफ़्लो नामक ऐप्पल ऐप से करता हूं, जो मुझे इसे अपने फोन से या मेरी ऐप्पल वॉच से जटिलता के रूप में करने की अनुमति देता है, लेकिन वहां कई अन्य विकल्प हैं। यहाँ मेरी वर्कफ़्लो स्क्रिप्ट है, लेकिन हार्डकोडेड IP पते के साथ: आनंद लें!

छवि
छवि

ऐप्पल ऐप: वर्कफ़्लो - यहां हार्डकोडेड आईपी एड्रेस के साथ

चरण 9: स्कीमैटिक्स

बजर सर्किट OC03 को मौजूदा पुश बटन के समानांतर स्थापित करें।

यहाँ पर डाउनलोड करो।

OC03 सर्किट OC03 को मौजूदा पुश बटन के समानांतर स्थापित करें।

यहाँ पर डाउनलोड करो।

छवि
छवि

चरण 10: कोड

init.js JavaScript इस प्रोजेक्ट के लिए आपका मुख्य और एकमात्र कोड।

लोड ('api_config.js');

लोड ('api_gpio.js'); लोड ('api_i2c.js'); लोड ('api_net.js'); लोड ('api_sys.js'); लोड ('api_timer.js'); लोड ("api_rpc.js"); चलो नेतृत्व किया = Cfg.get ('pins.led'); चलो एडीआर = 0x38; चलो बस = I2C.get (); I2C.writeRegB (बस, एडीआर, 3, 0); I2C.writeRegB (बस, एडीआर, 1, 0); /* केवल सुनिश्चित होने के लिए बंद करें */देरी होने दें = 2000; GPIO.set_mode (एलईडी, GPIO. MODE_OUTPUT); RPC.addHandler('Switch', function(args) { GPIO.toggle(led); I2C.writeRegB(bus, adr, 3, 0); /* यदि OC03 फिर से जुड़ जाता है */ I2C.writeRegB(bus, adr, 1, 1); Timer.set (देरी, असत्य, फ़ंक्शन () {GPIO.toggle (नेतृत्व); I2C.writeRegB (बस, एडीआर, 1, 0); }, शून्य); सही लौटें;});

सिफारिश की: