Pi के साथ एक एप्लिकेशन विकसित करने का अंतर बहुत अलग या कुछ हद तक हार्डवेयर अंतर के साथ-साथ सॉफ़्टवेयर डेवलपमेंट टूलचिन अंतर के कारण एक माइक्रोकंट्रोलर के साथ एप्लिकेशन विकसित करने के समान हो सकता है।
इसमें माइक्रोकंट्रोलर्स की एक विस्तृत श्रृंखला उपलब्ध है जो 8 बिट से 64 बिट प्रोसेसर तक और कहीं भी कुछ K की रैम से लेकर कुछ गीगाबाइट की रैम तक होती है। अधिक सक्षम माइक्रोकंट्रोलर अनुभव की तरह अधिक पाई प्रदान करते हैं। कम सक्षम माइक्रोकंट्रोलर नहीं करते हैं।
और यहां तक कि पाई के साथ विंडोज 10 IoT ऑपरेटिंग सिस्टम बनाम रास्पियन, मेट या अन्य लिनक्स आधारित ओएस के लिए विकसित करने के बीच बड़े अंतर हैं। विंडोज 10 IoT को यूनिवर्सल विंडोज प्रोग्राम (UWP) पर्यावरण को लक्षित करने वाले दूरस्थ डीबगर के साथ एक विजुअल स्टूडियो टूलचैन का उपयोग करके एक विकास पीसी की आवश्यकता होती है। रास्पियन या मेट के लिए विकास वास्तव में पाई पर उपलब्ध उपकरणों के साथ एक पाई पर किया जा सकता है।
कंस्ट्रेन्ड अनुप्रयोग प्रोटोकॉल छोटे, विवश उपकरणों चीजें पर्यावरण के इंटरनेट के साथ इस्तेमाल किया जा रहा के लिए प्रयोग किया जाता है। माइक्रोकंट्रोलर हार्डवेयर और सॉफ्टवेयर की विविधता का अंदाजा लगाने के लिए, सीओएपी प्रोटोकॉल कार्यान्वयन पर यह पृष्ठ पर्यावरण को लक्षित करने का एक विचार प्रदान करता है। इसमें कंटकी ऑपरेटिंग सिस्टम का उल्लेख है, जिसे मैंने iOS, OSX और Android जैसे बेहतर ज्ञात OS के साथ अस्पष्ट रूप से सुना है। प्रोग्रामिंग की गई भाषाएं जावा, जावास्क्रिप्ट, सी, सी #, रूबी, गो, एर्लांग, रस्ट और पायथन हैं।
माइक्रोकंट्रोलर के साथ विकास के लिए उपयोग की जाने वाली उपकरण श्रृंखला निर्माता के साथ-साथ विकास समुदायों और खुले स्रोत की पहल से किस प्रकार के संसाधन उपलब्ध हैं, इसके आधार पर भिन्न होती है। कुछ मामलों में आप एक क्रॉस असेंबलर प्राप्त करते हैं, अन्य मामलों में आपको एक सी क्रॉस कंपाइलर मिलता है, और अन्य मामलों में आपको सभी घंटियाँ और सीटी और एमुलेटर के साथ एक अच्छा टूल चेन मिलता है और ऐसे ही विंडोज 10 टीटी के लिए विजुअल स्टूडियो टूलचैन के समान है।
एक माइक्रोकंट्रोलर के लिए वास्तविक विकास वातावरण में एक EEPROM प्रोग्रामर और सॉफ्टवेयर टूल्स का उपयोग करके एक नई छवि बनाई जा सकती है और इसे डिवाइस पर धकेल दिया जा सकता है या डिवाइस में आवश्यक कनेक्टिविटी हो सकती है ताकि नई छवि को सीरियल कनेक्शन या ओवर डाउनलोड किया जा सके। एक नेटवर्क कनेक्शन।
मेरी धारणा है कि अधिकांश माइक्रोकंट्रोलर्स के पास सी क्रॉस कंपाइलर होता है, हालांकि कंपाइलर पुराने मानकों जैसे K & R या शायद 998 का समर्थन कर सकता है। C क्रॉस कंपाइलरों में अक्सर माइक्रोप्रोसेसर विशिष्ट सुविधाओं के लिए गैर-मानक कीवर्ड होते हैं far
और near
पुराने खंड 8080 और 8086 प्रोसेसर वाले पॉइंटर्स के लिए कीवर्ड उनकी खंडित मेमोरी के साथ होते हैं।
ऐसी विशेष भाषाएं भी हैं, जो माइक्रोकंट्रोलर जैसे कि FORTH प्रोग्रामिंग भाषा को लक्षित करती हैं । इन भाषाओं में अक्सर रन टाइम डिज़ाइन होता है जो नंगे धातु को लक्षित करता है ताकि भाषा चलाने के समय के अलावा कोई ऑपरेटिंग सिस्टम न हो।
ऑपरेटिंग सिस्टम व्यावहारिक रूप से गैर-मौजूद से लेकर नंगे हड्डियों वाले लिनक्स के लिए एक विशेष ओएस जैसे कि फ्रीआरटीओएस या विंडोज एंबेडेड या पूर्ण विकसित लिनक्स या माइक्रोसॉफ्ट विंडोज तक हो सकता है। रास्पबेरी पाई के लिए यह SourceForge प्रोजेक्ट MINIBIAN देखें । इस ई-बुक को देखें, बेकिंग पाई: ऑपरेटिंग सिस्टम डेवलपमेंट जो असेंबलर में रास्पबेरी पाई के लिए एक अल्पविकसित ओएस के विकास का वर्णन करता है।
विजुअल स्टूडियो मैगज़ीन का यह लेख, विज़ुअल स्टूडियो के साथ इंटरनेट ऑफ़ थिंग्स प्रोग्रामिंग , लिनक्स के साथ-साथ विंडोज के लिए विकास के लिए विज़ुअल स्टूडियो आईडीई का उपयोग करने के अवलोकन के बाद उपलब्ध कई विभिन्न उपकरणों का अवलोकन प्रदान करता है।
ऑफ-द-शेल्फ, प्रोग्राम करने योग्य, नेटवर्क योग्य माइक्रोकंट्रोलर उपकरणों का एक विशाल और बढ़ता हुआ ब्रह्मांड अब उपलब्ध है। बहुत ही निचले स्तर पर आपके पास टेक्सास इंस्ट्रूमेंट्स जैसे विभिन्न प्रकार के पारंपरिक चिप निर्माताओं से विभिन्न प्रकार के सरल 16- और 32-बिट डिवाइस हैं। (मैंने सेंसरटैग डेवलपमेंट किट के साथ थोड़ा सा खेला और यह बहुत मजेदार है, मुझे लगता है कि वॉच डेपैक एक महान शिक्षण टूलसेट भी हो सकता है।)
कुछ बेहतर ज्ञात माइक्रोकंट्रोलर उपकरणों में अरुडिनो, बीगलबोर्ड और रास्पबेरी पाई शामिल हैं। इन वातावरणों में सभी लोगों का व्यापक सामुदायिक समर्थन होता है और बड़ी संख्या में तैयार बाहरी सेंसर, मोटर्स, सर्वो और जो कुछ भी आप कल्पना कर सकते हैं उसमें प्लग करने के लिए तैयार हैं। Adafruit, Limor "Ladyada" Fried द्वारा स्थापित सुपरस्टोर सीखने वाला इलेक्ट्रॉनिक्स, इन बोर्डों के लिए सभी प्रकार के बाह्य उपकरणों के साथ-साथ हल्के पंख विकास बोर्डों की अपनी लाइन प्रदान करता है।
...
Microsoft .NET फ्रेमवर्क और विज़ुअल स्टूडियो से परिचित डेवलपर्स के लिए उपकरणों का सबसे दिलचस्प ब्रह्मांड विंडोज 10 IoT कोर-संगत वातावरण हो सकता है। ये x86 और ARM-संचालित डिवाइस हैं जो C #, विजुअल बेसिक, पायथन और Node.js / जावास्क्रिप्ट सहित विभिन्न भाषाओं में लिखे यूनिवर्सल विंडोज प्लेटफॉर्म (UWP) ऐप्स को सपोर्ट करते हैं। विंडोज 10 IoT कोर रास्पबेरी पाई, एरो ड्रैगनबर्ड 410C, इंटेल जूल और कंप्यूट स्टिक और मिनवॉर्ड सहित उपकरणों का समर्थन करता है। दिलचस्प उत्पाद प्लेटफ़ॉर्म भी हैं, जैसे कि Askey TurboMate E1 पहनने योग्य।
एक माइक्रोकंट्रोलर एप्लिकेशन का एक विशिष्ट उदाहरण
यह एक स्वचालित कॉफी निर्माता से एक माइक्रोकंट्रोलर बोर्ड की एक छवि है। यह चीन में निर्मित स्वचालित कॉफी निर्माताओं के लिए एक मानक घटक प्रतीत होता है। निर्माता के लिए वेब साइट पीसीबी पर मुद्रित होती है।
छवि दो विचारों से बनी है। बाईं ओर का दृश्य बोर्ड के पीछे होता है जिसमें माइक्रोकंट्रोलर और सहायक सर्किटरी होते हैं। दायीं ओर का दृश्य एलसीडी स्क्रीन के साथ बोर्ड के सामने और बटन का एक सेट है जो वर्तमान समय को सेट करने और प्रारंभ समय की प्रोग्रामिंग जैसे कार्यों को करने के लिए उपयोग किया जाता है।
दाईं ओर का दृश्य एक वाहक में फिट बैठता है, जो तब कॉफी निर्माता के सामने एक उद्घाटन में फिट बैठता है। निचले पीसीबी पर स्विच रॉकर आर्म स्विच के साथ सक्रिय होते हैं। एलसीडी, जो विशेष उद्देश्य प्रतीत होता है, का उपयोग वर्तमान समय और स्थिति के साथ-साथ कॉफी निर्माता की सेटिंग्स को बदलते समय उपयोगकर्ता इंटरफ़ेस को प्रदर्शित करने के लिए किया जाता है। लाल एलईडी का उपयोग यह इंगित करने के लिए किया जाता है कि कॉफी बनाने वाला वास्तव में कॉफी बना रहा है और यह इंगित करने के लिए कि कब रोशनी को वापस बंद करके किया गया है।
माइक्रोकंट्रोलर एक ELAN माइक्रोइलेक्ट्रॉनिक कॉर्प EM78P447NAM (डेटाशीट) है जो कि 8 बिट माइक्रोकंट्रोलर है। कुछ बुनियादी आंकड़े बताते हैं कि यह एक छोटा और न्यूनतम उपकरण है, लेकिन यह अपने इच्छित उद्देश्य के लिए अच्छी तरह से काम करता है। इरादा सॉफ्टवेयर विकसित करने का है जिसे बाद में एक बार ROM में निर्माण के हिस्से के रूप में डाउनलोड किया जाता है।
• कम बिजली की खपत:
* Less then 2.2 mA at 5V/4MHz
* Typically 35 µA, at 3V/32KHz
* Typically 2 µA, during sleep mode
• चिप ROM पर 4K × 13 बिट्स
• ओटीपी मेमोरी कोड की घुसपैठ को रोकने के लिए तीन सुरक्षा बिट्स
• उपयोगकर्ता की आवश्यकताओं को समायोजित करने के लिए एक कॉन्फ़िगरेशन रजिस्टर
• चिप रजिस्टरों पर 148 × 8 बिट्स (SRAM, सामान्य प्रयोजन रजिस्टर)