- PlatformIO क्या है?
- Arduino Uno के लिए PlatformIO की स्थापना
- Platformio IDE का उपयोग करके Arduino UNO को प्रोग्रामिंग करना
- प्लेटफॉर्म आईडीई का उपयोग करके प्रोग्रामिंग एसटीएम 32 बोर्ड
Arduino और Arduino IDE में विकास उनके सरल उपयोगकर्ता इंटरफ़ेस के साथ हमेशा आसान और मजेदार रहा है। Arduino IDE ओपन-सोर्स है और Arduino Boards के कोड को लिखने, संकलित करने और अपलोड करने जैसी सभी विशेषताओं के साथ Development Environment का उपयोग करने के लिए स्वतंत्र है। यह जावा पर आधारित है और विंडोज, ओएस एक्स और लिनक्स जैसे प्रमुख ओएस पर चलता है। लेकिन इसकी सभी सादगी और बड़े समुदाय के साथ, इसमें कुछ विशेषताएं नहीं हैं जो एक अनुभवी डेवलपर को तेज विकास के लिए आवश्यक होगी जो विकास की अवधि को कम कर सकती है। Arduino के लिए कई विकास वातावरण उपलब्ध हैं, लेकिन सभी के कुछ फायदे और नुकसान हैं। आज, हम PlatformIO विकास पर्यावरण के साथ शुरू करेंगे जो कि उपयोग करने में आसान है और Arduino पर्यावरण की तुलना में सुविधाओं को जोड़ा है।
PlatformIO क्या है?
PlatformIO IoT विकास के लिए पायथन आधारित ओपन सोर्स इकोसिस्टम है और विंडोज, मैक और लिनक्स पर एकीकृत डिबगर के साथ एक क्रॉस प्लेटफॉर्म आईडीई है। प्लेटफ़ॉर्मियो, लाइब्रेरी मैनेजर के लिए अरुदिनो या एमबीईडी सपोर्ट के साथ-साथ यूनिट टेस्टिंग और फ़र्मवेयर अपडेट के साथ आता है। PlatformIO कई प्लेटफ़ॉर्म, फ्रेमवर्क, बोर्ड जैसे Arduino, ESP32, ESP8266 का समर्थन करता है और उदाहरणों और पुस्तकालयों की संख्या के साथ आता है। यह उस प्लेटफ़ॉर्म से स्वतंत्र है जिसमें यह चल रहा है और इसके लिए कंप्यूटर पर केवल पायथन इंस्टाल्ड की आवश्यकता होती है।
PlatformIO के लाभ
PlatformIO में तेजी से व्यावसायिक विकास के लिए C / C ++ कोड कम्पलीशन और स्मार्ट कोड लिंटर जैसी अपनी विशेषताओं के साथ तेजी से विकास होता है जो कि Arduino IDE में नहीं है। इसके अतिरिक्त, PlatformIO कभी भी विकास के लिए गहरे और हल्के रंगों के साथ थीम समर्थन प्रदान करता है । यह स्मार्ट कोड नेविगेशंस और कोड फॉर्मेटिंग के साथ भी आता है । मुख्य विशेषताओं में मल्टी-प्लेटफॉर्म बिल्ड सिस्टम, लाइब्रेरी मैनेजर, सीरियल पोर्ट मॉनिटर आदि शामिल हैं।
एकीकृत डीबगर कई आर्किटेक्चर और विकास प्लेटफार्मों के लिए एक समर्थन के साथ शून्य विन्यास के साथ डिबग कई एम्बेडेड बोर्डों के लिए अनुमति देता है। PlatformIO यूनिफाइड डीबगर में सशर्त ब्रेकपॉइंट्स, एक्सप्रेशंस और वॉचपॉइंट्स, मेमोरी व्यूअर, एक सक्रिय डीबगिंग सत्र का हॉट पुनरारंभ जैसी विशेषताएं हैं। प्लेटफॉर्मियो कोर पायथन 2.7 में लिखा गया है और विंडोज, मैकओएस, लिनक्स, फ्रीबीएसडी और यहां तक कि एआरएम-आधारित क्रेडिट कार्ड के आकार के कंप्यूटर जैसे रास्पबेरी पाई, बीगलबोन, क्यूबीबोर्ड, सैमसंग एआरटीआईके आदि पर काम करता है। इसके अलावा प्लेटफॉर्मियो में फाइल एक्सप्लोरर है जो मदद करता है। फाइलों को व्यवस्थित करना जब परियोजना एक निश्चित स्तर तक बढ़ती है और आयोजन आवश्यक हो जाता है।
Arduino Uno के लिए PlatformIO की स्थापना
PlatformIO का उपयोग करना बहुत सरल है और इसे शुरू करने के लिए कुछ चरणों की आवश्यकता होती है। PlatformIO को कंप्यूटर पर स्थापित Python की आवश्यकता है क्योंकि ऊपर बताया गया है कि PlatformIO Core को Python 2.7 में लिखा गया था। ध्यान दें कि प्लेटफ़ॉर्मियो पायथन 3 का समर्थन नहीं करता है, इसलिए यह अनुशंसा की जाती है कि पायथन 2 संस्करण स्थापित करें और फिर प्लेटफ़ॉर्म ईईई स्थापित करने के लिए आगे बढ़ें। PlatformIO एक IDE प्लस है जो सबसे लोकप्रिय IDE और टेक्स्ट संपादकों के लिए आधिकारिक पैकेज (प्लगइन्स, एक्सटेंशन) प्रदान करता है।
आज हम प्लेटफ़ॉर्मो को एटम और विज़ुअल स्टूडियो कोड जैसे टेक्स्ट एडिटर में स्थापित करेंगे। प्लेटफ़ॉर्म आईडीई के आधिकारिक प्रलेखन में यह कहा गया है कि वीएस कोड (विज़ुअल स्टूडियो कोड) के लिए प्लेटफ़ॉर्मो आईडीई बेहतर सिस्टम प्रदर्शन प्रदान करता है, और उपयोगकर्ताओं ने इसे शुरू करना आसान पाया है। तो हम Visual Studio Code में PlatformIO को सेट-अप करेंगे। वीएस कोड एक प्रसिद्ध टेक्स्ट एडिटर है जिसमें कई एक्सटेंशन हैं, जो हमें विभिन्न प्रोग्रामिंग भाषाओं में विकसित करने की अनुमति देते हैं।
आइए Arduino UNO में कोड विकसित करने के लिए PlatformIO की स्थापना शुरू करें । इसमें ऐसे चरण शामिल हैं जो नीचे दिए गए हैं:
- सबसे पहले अपनी आधिकारिक वेबसाइट से विजुअल स्टूडियो कोड इंस्टॉल करें। विजुअल स्टूडियो कोड के इंस्टॉलेशन स्टेप्स यहां नहीं बताए जाएंगे, लेकिन आप इसे वीएस कोड वेबसाइट पर पा सकते हैं। विंडोज ओएस पर किसी भी अन्य सॉफ़्टवेयर को स्थापित करने की तरह सामान्य चरण भी शामिल हैं।
- जब यह सफलतापूर्वक स्थापित हो जाता है, तो Visual Studio कोड निम्न जैसा दिखेगा।
- अगला चरण VS कोड एक्सटेंशन का उपयोग करके PlatformIO को स्थापित करना शामिल है। इसके लिए आपको VS कोड के ऊपरी बाएं कोने पर एक्सटेंशन आइकॉन पर जाना होगा। वर्गाकार बॉक्स आइकन है जो शीर्ष बाएँ कोने पर 5 वें आइकन है। बस उस पर क्लिक करें और एक खोज बॉक्स उसके बगल में दिखाई देगा जहां आप विभिन्न प्रोग्रामिंग भाषाओं जैसे C / C ++, C #, पायथन, PHP, गो, जावास्क्रिप्ट, टाइपस्क्रिप्ट और Node.js आदि के लिए कई एक्सटेंशन पा सकते हैं।
- विस्तार खोज बॉक्स में "प्लेटफ़ॉर्मो" के लिए खोजें और आपको नेम और विवरण के साथ प्लेटफ़ॉर्मो आइकन दिखाई देगा। बस उस पर क्लिक करें और इसे स्थापित करें। टूलचाइन्स और अन्य निर्भरताओं को स्थापित करने में कुछ समय लग सकता है। निर्भरता में C / C ++ वातावरण शामिल है क्योंकि Arduino विकास ज्यादातर C / C ++ पर किया जाता है।
- जब स्थापना पूरी हो जाती है, तो आपको निम्न इंटरफ़ेस दिखाई देगा। इंटरफ़ेस में सभी आवश्यक नेविगेशन शामिल हैं जैसे कि नई परियोजना, आयात अरुडिनो प्रोजेक्ट, ओपन प्रोजेक्ट, प्रोजेक्ट उदाहरण आदि। यह PlatformIO की स्थापना के बाद VS कोड संपादक को फिर से शुरू करने की सिफारिश की गई है।
यह PlatformIO के इंस्टॉलेशन चरणों को पूरा करता है। अब PlatformIO स्थापित है और उपयोग करने के लिए तैयार है। Arduino IDE की तरह, हम ब्लिंक प्रोग्राम के साथ शुरुआत करेंगे और Arduino UNO में ब्लिंक प्रोग्राम को अपलोड करने का प्रयास करेंगे।
Platformio IDE का उपयोग करके Arduino UNO को प्रोग्रामिंग करना
Arduino UNO प्रोग्रामिंग करते समय PlatformIO इंटरफ़ेस को समवर्ती रूप से समझाया जाएगा। यहाँ हम प्लेटिनो का उपयोग करके निमिष एलईडी के लिए Arduino प्रोग्रामिंग कर रहे हैं। वही Arduino IDE का उपयोग करके किया जा सकता है। निमिष एलईडी के लिए एक नई परियोजना बनाने के लिए नीचे दिए गए चरणों का पालन करें।
- त्वरित पहुँच मेनू से "नई परियोजना" टैब चुनें।
- परियोजना का नाम (यहाँ यह 'ब्लिंक' है)। उस बोर्ड को खोजें और उसका चयन करें जो Arduino UNO है। चूंकि हम Arduino के ढांचे में काम कर रहे हैं, इसलिए चयनित रूपरेखा Arduino होगी। सभी विवरण भरने के बाद बस समाप्त पर क्लिक करें।
- संसाधन और अन्य निर्भरताओं को एकत्रित करके परियोजना का निर्माण शुरू हो जाएगा।
- जब प्रोजेक्ट सफलतापूर्वक बनाया जाता है, तो आपको सभी भरे हुए विवरणों के साथ "प्रोजेक्ट को सफलतापूर्वक आरंभीकृत किया गया है" जैसा शीघ्र संदेश मिलेगा।
- बनाई गई परियोजना को खोलने के लिए, बस Platformio के होम मेनू को नीचे स्क्रॉल करें और आपको शुरुआत से बनाई गई परियोजनाओं की सभी सूची दिखाई देगी। बनाई गई परियोजना के दाहिने कोने पर 'ओपन' पर क्लिक करके परियोजना खोलें और संपादन शुरू करें।
- जब परियोजना खोली जाती है, तो शुरू में यह अपने छिपे हुए जैसा दिखेगा, लेकिन चिंता न करें, PlatformIO में फ़ाइल एक्सप्लोरर सुविधा है जहां वर्तमान परियोजना की सभी फाइलें मिलेंगी । बस ऊपरी बाएँ कोने पर जाएँ और 'शीर्षक रहित (कार्यस्थल)' खोलें। इस पर क्लिक करने पर, सभी फाइलें ड्रॉपडाउन मेनू के रूप में दिखाई देंगी। 'कोड' को संपादित करने के लिए टेक्स्ट एडिटर खोजने के लिए, 'src' और ओपन 'main.cpp' चुनें। टेक्स्ट एडिटर मोड होम स्क्रीन पर एक नया टैब खोलने के साथ दिखाई देगा। यहां आप वर्तमान चालू परियोजना के सभी कोड लिख सकते हैं।
- बस Arduino UNO के लिए ब्लिंक कोड लिखें। ध्यान दें कि, Platformio के पास Arduino पुस्तकालयों के लिए डिफ़ॉल्ट पहुंच नहीं है, इसलिए हर बार जब आप Arduino के लिए कोड लिखते हैं, तो प्रोग्राम की शुरुआत में हमेशा Arduino लाइब्रेरी यानी "#include" शामिल करें ।
- अगला चरण कोड को संकलित करना और अपलोड करना होगा । ऐसा करने के लिए, चलिए PlatformIO द्वारा दिए गए कार्यों को देखते हैं। इसके अलावा PlatformIO डिफ़ॉल्ट रूप से COM पोर्ट का चयन करता है। लेकिन आप चाहें तो पोर्ट को बदल सकते हैं यदि यह वांछित COM पोर्ट नहीं है। COM पोर्ट के परिवर्तन को बाद में इस ट्यूटोरियल में समझाया जाएगा। PlatformIO में बिल्ड, अपलोड, अपलोड टू रिमोट डिवाइस, क्लीन, टेस्ट, रन टास्क, सीरियल मॉनिटर, न्यू टर्मिनल जैसे कार्य हैं । सभी कार्य संपादक के बाएं निचले कोने में पाए जा सकते हैं। जब आप आइकन पर हॉवर करते हैं, तो फ़ंक्शन दिखाए जाएंगे।
- स्केच बनाने के लिए 'बिल्ड’पर क्लिक करें और स्केच पर क्लिक करने के लिए Icon अपलोड’ आइकन पर क्लिक करें। जब अपलोड किया जाता है, तो आप अन्य सभी विवरणों के साथ अपलोड किए गए समय और "सफलता" कहते हुए संदेश देख पाएंगे। कोड सफलतापूर्वक अपलोड किया गया है और आप Arduino Board में एलईडी के निमिष को देख पाएंगे।
किसी भी COM पोर्ट को चुनने या बदलने के लिए, बस PlatformIO होम स्क्रीन पर जाएं और फिर डिवाइसेस पर जाएं, यहां आप सभी उपलब्ध उपकरणों को कनेक्ट करके देख सकते हैं। उपयुक्त COM पोर्ट चुनें और स्केच अपलोड करने के लिए उसी प्रक्रिया का पालन करें।
प्लेटफॉर्म आईडीई का उपयोग करके प्रोग्रामिंग एसटीएम 32 बोर्ड
STM32 बोर्ड की प्रोग्रामिंग बिल्कुल उसी तरह की होगी जैसे प्रोग्रामिंग Arduino UNO ऊपर बताई गई है। एसटीएम 32 के लिए नया प्रोजेक्ट खोलने पर अंतर एसटीएम 32 के लिए बोर्ड का चयन करेगा। PlatformIO के बारे में अच्छी बात यह है कि किसी भी बोर्ड को अलग से डाउनलोड करने के लिए किसी बाहरी पैकेज की आवश्यकता नहीं है, यह स्वचालित रूप से सभी पैकेजों को डाउनलोड करता है और हमारे लिए बोर्ड का चयन करना और संपादक के पास जाना आसान बनाता है। हम STM32 में स्केच अपलोड करने के लिए बाहरी JLink / JTAG / STLink / सीरियल प्रोग्रामर का उपयोग करेंगे। STM32 को Arduino IDE के साथ प्रोग्राम किया जा सकता है। PlatformIO के साथ इसे प्रोग्राम करने के लिए निम्नलिखित चरणों के साथ आगे बढ़ें।
- प्रोजेक्ट को केवल नाम दें (यहाँ यह 'ब्लिंक एसटीएम 32' है)। इसके बाद STM32 यानी ' BluePill F103C8 (जेनेरिक) ' के लिए बोर्ड चुनें । फिर Arduino के रूप में फ्रेमवर्क का चयन करें। फिनिश पर क्लिक करें और कुछ समय तक प्रतीक्षा करें क्योंकि शुरू में बोर्ड STM32 के लिए पैकेज और निर्भरता डाउनलोड करने में समय लगेगा।
- एक बार सेट अप करने के बाद, अगले प्रोजेक्ट निर्माण समय पहले की तुलना में कम होगा। अब बस लेफ्ट फाइल एक्सप्लोरर में अनटाइटलड (वर्कस्पेस) -> src -> main.cpp पर जाएं।
- अब आगामी चरण महत्वपूर्ण होंगे क्योंकि यह तय करने की आवश्यकता है कि हमें STM32 बोर्ड की प्रोग्रामिंग के लिए किस प्रोग्रामर का उपयोग करना चाहिए। कई प्रोग्रामर उपलब्ध हैं जैसे कि JTAG, STLink, JLink, Serial आदि। सभी काम करेंगे, लेकिन आपको 'platformio.ini' कॉन्फ़िगरेशन पेज या फ़ाइल को कॉन्फ़िगर करने की आवश्यकता है।
- इस परियोजना में, हम UART ब्रिज पर सीरियल प्रोग्रामर CP210x USB का उपयोग कर रहे हैं। हमने पहले ही USB पोर्ट का उपयोग करके प्रोग्रामिंग STM32F103C8 बोर्ड कर लिया है, ओ ज्यादातर कदम वहीं से उठाए जाएंगे। आप लिंक पर जा सकते हैं और इस बारे में अधिक जानकारी प्राप्त कर सकते हैं।
- सबसे पहले, सीरियल प्रोग्रामर को पिन मैपिंग के साथ STM32 बोर्ड से कनेक्ट करें और इसे पीसी से कनेक्ट करें।
सीरियल प्रोग्रामर को USB |
STM32 बोर्ड |
5 वी |
5 वी |
गाण्ड |
गाण्ड |
आरएक्स |
ए 9 |
टेक्सास |
A10 |
- अब प्रोजेक्ट एक्सप्लोरर पर जाएं और 'platformio.ini' पेज खोलें और चित्र में दिखाए अनुसार स्टेटमेंट को बदल दें। Upload_protocol बताएगा कि जो प्रोग्रामर (STLink, JLink, सीरियल आदि) का उपयोग करना चाहिए। Upload_port COM पोर्ट का चयन करता है। आप होम पेज में 'डिवाइसेस' पर जाकर पा सकते हैं। अपने COM पोर्ट के अनुसार COM पोर्ट बदलें।
- पर जाएं 'main.cpp' और करने के लिए प्रोग्राम बदल Blink कार्यक्रम। अब बस प्रोग्राम को अपलोड करें और यह सफलता का संदेश और अपलोड करने के लिए लिया गया समय दिखाएगा। अब एलईडी ST1332 बोर्ड के PC13 पिन से जुड़ा ब्लिंक करना शुरू कर देगा।
यह Arduino UNO के साथ-साथ PlatformIO का उपयोग करके STM32 बोर्ड प्रोग्रामिंग पर पूरा ट्यूटोरियल खत्म करता है । यदि आपको चरणों का पालन करते समय किसी भी कठिनाई का सामना करना पड़ता है, तो कृपया हमारे मंच पर लिखें या नीचे टिप्पणी करें।