विषयसूची:

इंटरएक्टिव माइनक्राफ्ट तलवार / साइन (ईएसपी 32-सीएएम) दर्ज न करें: 15 कदम (चित्रों के साथ)
इंटरएक्टिव माइनक्राफ्ट तलवार / साइन (ईएसपी 32-सीएएम) दर्ज न करें: 15 कदम (चित्रों के साथ)

वीडियो: इंटरएक्टिव माइनक्राफ्ट तलवार / साइन (ईएसपी 32-सीएएम) दर्ज न करें: 15 कदम (चित्रों के साथ)

वीडियो: इंटरएक्टिव माइनक्राफ्ट तलवार / साइन (ईएसपी 32-सीएएम) दर्ज न करें: 15 कदम (चित्रों के साथ)
वीडियो: How To Make Your Minecraft Trident Overpowered Enchantments 2024, नवंबर
Anonim
Image
Image
अंतिम उत्पाद
अंतिम उत्पाद

वास्तव में इस परियोजना के अस्तित्व में आने के कई कारण हैं:

1. सहकारी मल्टीटास्किंग लाइब्रेरी टास्क शेड्यूलर के लेखक के रूप में मैं हमेशा उत्सुक था कि सहकारी मल्टीटास्किंग के लाभों को पूर्व-खाली के लाभों के साथ कैसे जोड़ा जाए। दोनों के फायदे हैं और दोनों में कमियां हैं। दोनों के संयोजन से लाभों का लाभ उठाने और किसी विशेष उपयोग-मामले के आधार पर दोनों में से किसी एक के मुद्दों को हल करने का एक अनूठा अवसर मिलता है। दिलचस्प? पढ़ते रहिये…

2. यह तथ्य कि ESP32 एक मल्टी-कोर माइक्रोकंट्रोलर है, आकर्षक है। मैं हमेशा उत्सुक रहता था कि क्या मैं उस सुविधा का लाभ उठा सकता हूं। तो यहाँ प्रयोग था: क्या ESP32 दूसरे कोर पर कुछ और (सार्थक और यथोचित रूप से गहन कुछ और) करते हुए एक कोर का उपयोग करके आसानी से वीडियो स्ट्रीम कर सकता है। और भी दिलचस्प ?? पढ़ते रहिये…!

3. मुझे ओटीए फर्मवेयर प्रोविजनिंग और कॉन्फ़िगरेशन प्रबंधन के आसपास मेरी हाल की परियोजनाओं के लिए एक परीक्षण आधार की आवश्यकता है …

4. मैंने कुछ समय पहले दो एलईडी डॉट मैट्रिक्स मॉड्यूल खरीदे थे और यह पता नहीं लगा सका कि उनके साथ क्या किया जाए…

5. मेरा बेटा एक Minecraft गेमर है, और जैसा कि कोई भी छोटा लड़का अपने दरवाजे को "डोंट नॉट" पोस्टर से सजाना पसंद करता है …

तो आप यहां जाएं - इसके लिए सभी अच्छे कारण: इंटरएक्टिव "बंद दरवाजे के पीछे से" वीडियो फ़ीड की ईएसपी 32-सीएएम स्ट्रीमिंग के साथ दरवाजे के संकेत में प्रवेश न करें - या "मेरे कमरे में कौन आ रहा है?"

तो … यह सब क्या है?

यदि आपके पास पूरी कहानी पढ़ने का धैर्य है तो आप महसूस करते हैं कि यह वास्तव में एक Minecraft तलवार के बारे में नहीं है। यह परियोजना बहुत सारी अवधारणाओं का प्रमाण है:

  • प्रीमेप्टिव और कोऑपरेटिव मल्टीटास्किंग का सह-अस्तित्व
  • ESP32 कोर का चयनात्मक उपयोग
  • नए शब्दकोश और एस्पबूटस्ट्रैप पुस्तकालयों का उपयोग
  • ओटीए फर्मवेयर प्रावधान
  • विन्यास प्रबंधन
  • एकाधिक ग्राहकों के लिए वीडियो स्ट्रीमिंग

और एक बहुत अधिक।

आनंद लेना

आपूर्ति

  • ईएसपी 32-सीएएम
  • Arduino के लिए MAX7219 डॉट मैट्रिक्स मॉड्यूल 4-इन-1 एलईडी डिस्प्ले मॉड्यूल Geekcreit
  • एटम टेक 2500mAh पावर बैंक

चरण 1: अंतिम उत्पाद

अंतिम उत्पाद
अंतिम उत्पाद

मैं शुरू करूँगा कि अंतिम उत्पाद कैसा दिखता है, और फिर समझाता हूँ कि इसे कैसे बनाया गया और इसे कैसे नियंत्रित किया जाए।

यह इस तरह से अधिक आकर्षक लगता है …

चरण 2: तलवार फेसप्लेट

तलवार फेसप्लेट
तलवार फेसप्लेट
तलवार फेसप्लेट
तलवार फेसप्लेट

तलवार का फेसप्लेट व्हाइटबोर्ड से बनाया गया है, जिसे पेंसिल से चिह्नित किया गया है, और क्रायोला मार्करों से रंगा गया है। यह अकेले आपके बच्चे के साथ एक दिलचस्प परियोजना हो सकती है:

  • एक व्हाइटबोर्ड पर तलवार को चिह्नित करें
  • फेसप्लेट काट लें
  • वर्गों (या ब्लॉक) को चिह्नित करें
  • उन्हें अलग-अलग रंग दें
  • एक शार्प के साथ काली रेखाएँ जोड़ें।

मैंने हीरे की तलवार की एक नमूना तस्वीर के साथ एक खुला कार्यालय दस्तावेज़ शामिल किया है जिसे आप व्हाइटबोर्ड के ऊपर गोंद कर सकते हैं यदि आप शॉर्टकट पसंद करते हैं … एक बार सब कुछ हो जाने के बाद आप या तो फेसप्लेट को बाकी असेंबली में गर्म-गोंद कर सकते हैं या डबल का उपयोग कर सकते हैं- पक्षीय टेप।

चरण 3: डॉट मैट्रिक्स एलईडी डिस्प्ले

डॉट मैट्रिक्स एलईडी डिस्प्ले
डॉट मैट्रिक्स एलईडी डिस्प्ले
डॉट मैट्रिक्स एलईडी डिस्प्ले
डॉट मैट्रिक्स एलईडी डिस्प्ले
डॉट मैट्रिक्स एलईडी डिस्प्ले
डॉट मैट्रिक्स एलईडी डिस्प्ले

मेरे पास उनमें से 2, 4 खंड थे, इसलिए मैंने एक 8-खंड को एक बनाने का फैसला किया।

सुविधाजनक रूप से एक तरफ 5-पिन पुरुष हेडर होता है, और विपरीत दिशा में 5 छेद मिलते हैं। पुरुष हेडर को स्टेपल-जैसे आकार में झुकाकर, मैं दो मॉड्यूल को विद्युत और यांत्रिक रूप से जोड़ने में सक्षम था! एक पत्थर से दो पंछियों को मार डाला (या एक स्वाट से दो मक्खियाँ, एक निवाले से दो मुँह बंद करना, एक उपहार से दो दोस्त बनाना, एक धनुष पर दो तार लगाना, उस बात के और क्या मुहावरे हैं - क्या आपने सोचा?) क्षमा करें, मैंने पचा लिया)।

विपरीत पुरुष हेडर का उपयोग वर्बार्ड से मेल खाने वाले महिला हेडर को ESP32-Cam और अन्य घटकों से जोड़ने के लिए किया जाएगा।

दो घटक एक 3डी-मुद्रित पुल से जुड़े हुए हैं, जिसमें बिजली चालू और बंद करने के लिए एक स्विच भी है। ब्रिज और अन्य घटकों के लिए 3डी एसटीएल फाइलें गिटहब पर फाइल/3डी फ़ोल्डर में स्थित हैं।

चरण 4: शक्ति

शक्ति
शक्ति

तलवार 2500 एमएएच यूएसबी पावर बैंक द्वारा संचालित है - सबसे छोटा और सबसे पतला जो मुझे मिल सकता है। पावरबैंक एक 3डी-प्रिंटेड केस में स्लाइड करता है, जो डॉट मैट्रिक्स मॉड्यूल से भी जुड़ता है, इस प्रकार पूरी चीज को एक साथ रखता है।

पावर बैंक के मामले में दो गोल चुंबक चिपके हुए हैं, और इस तरह तलवार दरवाजे से जुड़ी हुई है (इसलिए इसे रखरखाव के लिए आसानी से अलग किया जा सकता है)।

चरण 5: योजनाबद्ध

ढांच के रूप में
ढांच के रूप में
ढांच के रूप में
ढांच के रूप में
ढांच के रूप में
ढांच के रूप में

वास्तविक योजनाबद्ध गिटहब पर स्थित है, लेकिन एक तस्वीर 1000 शब्दों (सूचना प्रौद्योगिकी में 1024) के लायक है, इसलिए आप यहां हैं:

यदि आप सोल्डरिंग गन के साथ अपना रास्ता जानते हैं तो यह काफी सरल है। नोट: 3 डी ब्रिज का हिस्सा बहुत विशिष्ट वर्बार्ड आकार के लिए डिज़ाइन किया गया है: 30 x 70 मिमी। यदि आप किसी भिन्न का उपयोग करने का निर्णय लेते हैं, तो आपको पुल घटक को फिर से डिज़ाइन करने की आवश्यकता है।

चरण 6: 3डी प्रिंटिंग

3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग
3 डी प्रिंटिग

बैटरी केस और ESP32-CAM वर्बार्ड को डॉट-मैट्रिक्स डिस्प्ले असेंबली से जोड़ने वाला एक ब्रिज 3D डिज़ाइन और प्रिंट किया गया था।

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

TinkerCad पर 3D डिज़ाइन में सिम्युलेटेड असेंबली योजनाबद्ध भी शामिल है कि कैसे पुर्जे एक साथ फिट होते हैं और उन्हें जोड़ा जाना चाहिए।

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

मल्टी-मल्टीटास्किंग

यह डिज़ाइन प्रीमेप्टिव मल्टीटास्किंग के लिए फ्रीआरटीओएस और सहकारी के लिए टास्कशेड्यूलर लाइब्रेरी का उपयोग करता है। Sword के व्यवहार और संदेशों को Blynk ऐप के माध्यम से नियंत्रित किया जाता है। सेटअप (पिन, कैमरा और डॉट-मैट्रिक्स इनिशियलाइज़ेशन, वाईफाई से कनेक्ट करना, आदि) के बाद, दो मुख्य RTOS कार्य बनाए जाते हैं:

  • वीडियो स्ट्रीमिंग RTOS कार्य, ESP32 के एप्लिकेशन कोर पर पिन किया गया (कोर 1)
  • टेक्स्ट डिस्प्ले और Blynk नियंत्रण RTOS कार्य, ESP32 (कोर 0) के पावर कोर पर पिन किया गया है, जो वाईफाई से संबंधित सभी कार्यों के लिए भी जिम्मेदार है। Text और Blynk संबंधित निष्पादन को TaskScheduler कार्यों के माध्यम से प्रबंधित किया जाता है।

मुझे पता चला कि RTOS कार्यों के लिए 4K स्टैक स्पेस पर्याप्त है, लेकिन स्टैक से बाहर निकलने की संभावना है, इसलिए यदि आप चाहें, तो इसे 8K करें - ESP32 पर बहुत RAM है।

सभी वीडियो कैप्चरिंग और स्ट्रीमिंग कोर 1 पर होती है। बाकी सब कुछ - कोर 0 पर।

ESP32 में थोड़ा पसीना तोड़ने के साथ उस सब को संभालने की पर्याप्त शक्ति है (वीडियो स्ट्रीमिंग करते समय बोर्ड गर्म हो जाता है)।

यह परियोजना का मुख्य लक्ष्य था: प्रीमेप्टिव और सहकारी मल्टीटास्किंग का शांतिपूर्ण और उत्पादक सह-अस्तित्व!

चरण 8: डॉट मैट्रिक्स नियंत्रण

मैं बहुत शक्तिशाली MD_Parola और MD_MAX72xx पुस्तकालयों का उपयोग कर रहा हूं जो Arduino IDE पुस्तकालय प्रबंधक में भी उपलब्ध हैं।

सभी पाठ्य विशेष प्रभाव उन पुस्तकालयों के माध्यम से किए जाते हैं। सही MAX72XX हार्डवेयर प्रकार (MD_MAX72XX::ICSTATION_HW मेरे मामले में, आपका भिन्न हो सकता है) निर्धारित करने में थोड़ा सा प्रयास करना पड़ा, उसके बाद, टेक्स्ट को नियंत्रित करना एक हवा है।

तलवार निम्नलिखित नियंत्रणों की अनुमति देती है:

  • चमक
  • पलक झपकाना
  • Chamak
  • स्क्रॉल गति और दिशा (ऊपर/नीचे, बाएँ/दाएँ, स्थिर)
  • आप इसे वॉल क्लॉक में भी बदल सकते हैं

चरण 9: वीडियो स्ट्रीमिंग

Blynk ऐप में वीडियो स्ट्रीमिंग के लिए एक छोटा सा विजेट है, लेकिन आप ब्राउज़र, VLC प्लेयर, या MJPEG मानक का समर्थन करने वाली किसी भी चीज़ में स्ट्रीम कर सकते हैं।

10 कनेक्टेड क्लाइंट तक समर्थित हैं।

इससे जुड़ने में सक्षम होने के लिए आपको अपने ESP32-CAM के आईपी पते का पता लगाना होगा। आप इसे अपने राउटर पर देख सकते हैं, या इस स्केच को पहले सक्षम _DEBUG_ विकल्प के साथ संकलित कर सकते हैं, और जब यह आपके नेटवर्क से जुड़ता है तो टर्मिनल का आईपी पता पढ़ सकता है।

महत्वपूर्ण: ESP32-CAM मॉड्यूल के लिए एक स्थायी IP पता निर्दिष्ट करना या उसके लिए DHCP आरक्षण बनाना बहुत ही उचित है ताकि पट्टे की समय सीमा समाप्त होने पर इसका पता न बदले। आप स्ट्रीम URL में IP पते को अपडेट करने के लिए Blynk ऐप को भी संशोधित कर सकते हैं - यदि आप इसके लिए तैयार हैं तो एक दिलचस्प होमवर्क असाइनमेंट।

वर्तमान स्केच एक QVGA रिज़ॉल्यूशन का उपयोग करता है: 320x240 पिक्सेल, जो इसे काफी तेज़ बनाता है। आप अन्य प्रस्तावों के साथ खेलने के लिए स्वतंत्र हैं और प्रोत्साहित करते हैं और यह तय करते हैं कि आपके लिए क्या काम करता है।

RAM कोई समस्या नहीं होनी चाहिए क्योंकि स्केच PSRAM का लाभ उठाता है।

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

स्केच बूट पर कॉन्फ़िगरेशन सर्वर से कॉन्फ़िगरेशन पैरामीटर लोड करने के लिए मेरे डिक्शनरी और एस्पबूटस्ट्रैप लाइब्रेरी का लाभ उठाता है।

मैं अपना खुद का कॉन्फ़िगरेशन सर्वर चलाता हूं, जिसे आप भी कर सकते हैं (यह एक साधारण Apache2 वेब सर्वर है जो वास्तव में सिर्फ JSON फाइलों की सेवा कर रहा है)।

आप कार्य के लिए उपलब्ध ऑनलाइन सेवाओं में से किसी का भी उपयोग कर सकते हैं: (OTADrive, Microsoft Azure, AWS IoT, आदि)। इस मामले में कृपया अपने कॉन्फ़िगरेशन स्रोत को इंगित करने वाले यूआरएल को उचित रूप से बनाने के लिए स्ट्रिंग मेककॉन्फिग (स्ट्रिंग पथ) विधि को बदलें। वैकल्पिक रूप से, आप कॉन्फ़िगरेशन फ़ाइल को ESP32-CAM पर SPIFFS फ़ाइल सिस्टम में सहेज सकते हैं और इसे वहां से पढ़ सकते हैं, या बस सभी प्रविष्टियों को हार्डकोड कर सकते हैं। कृपया अपने विकल्पों के लिए एस्पबूटस्ट्रैप लाइब्रेरी का रीडमे देखें।

कॉन्फ़िगरेशन फ़ाइल का एक उदाहरण GitHub पर दिया गया है।

यदि आप पैरामीटर को हार्डकोड करना पसंद करते हैं, तो एक उदाहरण नीचे है:

पीडी ("शीर्षक", "डीएनडी तलवार सेटअप");

पीडी ("एसएसआईडी", "आपका वाईफाई एसएसआईडी"); पीडी ("पासवर्ड", "आपका वाईफाई पासवर्ड"); पीडी ("संदेश", "हैलो!"); पीडी ("डिवाइस", "8"); पीडी ("blynk_auth", "आपका ब्लिंक AUTH UUID"); // यदि आप केवल अपना सर्वर चलाते हैं: pd ("blynk_host", "आपका blynk सर्वर IP"); पीडी ("blynk_port", "आपका सर्वर पोर्ट");

चरण 11: ओटीए फर्मवेयर अपडेट

स्केच भी ओटीए (ओवर द एयर) फर्मवेयर अपडेट सक्षम है और हर बूट पर नए फर्मवेयर की जांच कर रहा है।

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

आप कार्य के लिए उपलब्ध ऑनलाइन IoT सेवाओं में से किसी का भी उपयोग कर सकते हैं: (OTADrive, Microsoft Azure, AWS IoT, आदि)। इस मामले में कृपया अपने बाइनरी फ़ाइल स्रोत की ओर इशारा करते हुए एक अद्यतन URL को उचित रूप से बनाने के लिए शून्य checkOTA () विधि को बदलें।

यह वैकल्पिक है - आप केवल सीरियल कनेक्शन के माध्यम से बायनेरिज़ अपलोड करना चुन सकते हैं।

चरण 12: एमजेपीईजी सर्वर

इस विषय का यहाँ विस्तार से वर्णन किया गया है।

चरण 13: ब्लिंक ऐप

ब्लिंक ऐप
ब्लिंक ऐप
ब्लिंक ऐप
ब्लिंक ऐप
ब्लिंक ऐप
ब्लिंक ऐप

Blynk एक क्लाउड-आधारित IoT प्लेटफॉर्म है जो तेजी से ऐप विकास की अनुमति देता है। यह व्यक्तिगत उपयोग के लिए मुफ़्त है और यहाँ तक कि आपके पास अपना खुद का Blynk सर्वर चलाने का विकल्प भी है।

मैं (जैसा कि आप पहले ही अनुमान लगा चुके होंगे) अपना खुद का Blynk सर्वर चला रहा हूँ, लेकिन आपके लिए क्लाउड संस्करण का उपयोग करना आसान हो सकता है। Blynk iOS या Android ऐप इंस्टॉल करें, और अपने फोन पर ऐप को फिर से बनाने के लिए नीचे दिए गए चित्रों का पालन करें।

एप्लिकेशन को अपने ऐप के साथ काम करने के लिए आपको अपना खुद का Blynk Auth UUID प्रदान करना होगा। यही कारण है कि मैं कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता हूं। हालांकि, एक बार की परियोजना के लिए, एक हार्डकोडेड मान ठीक उसी तरह काम करेगा।

महत्वपूर्ण: कृपया सुनिश्चित करें कि ऐप कनेक्ट होने पर आपका Blynk प्रोजेक्ट डिवाइस को सूचित करने के लिए सेट है।

वीडियो स्ट्रीमिंग विजेट पर ध्यान दें: कभी-कभी वीडियो शुरू नहीं होता है। यह ESP32 के साथ कोई समस्या नहीं है, बल्कि Blynk एप्लिकेशन के वीडियो विजेट के साथ है। ऐप को बंद करने और फिर से खोलने या प्रोजेक्ट को फिर से रोकने/शुरू करने का प्रयास करें। आखिरकार, यह शुरू होता है। ऐसा लगता है कि यह समस्या ब्राउज़र या वीएलसी प्लेयर (उदाहरण के लिए) में मौजूद नहीं है।

चरण 14: आनंद लें

इसे बनाने और यह साबित करने में बहुत मज़ा आया कि ESP32 जैसा पोस्टमार्क आकार का उपकरण केवल वीडियो स्ट्रीम करने के अलावा भी बहुत कुछ कर सकता है। इस परियोजना से कई अवधारणाओं को अन्य अनुप्रयोगों में पुन: उपयोग किया जा सकता है।

चरण 15: पुस्तकालय और कोड

पुस्तकालय:

  • ब्लिंक सर्वर
  • एस्पबूटस्ट्रैप लाइब्रेरी
  • टास्क शेड्यूलर लाइब्रेरी
  • शब्दकोश पुस्तकालय
  • एलईडी मैट्रिक्स लाइब्रेरी
  • मॉड्यूलर स्क्रॉलिंग के लिए लाइब्रेरी एलईडी मैट्रिक्स टेक्स्ट डिस्प्ले

वास्तविक भंडार:

Minecraft इंटरएक्टिव तलवार / चिह्न दर्ज न करें (ESP32-CAM)

सिफारिश की: