औद्योगिक मॉनिटर - रास्पबेरी पाई मॉनिटर (काला) एक सर्किट बोर्ड का एक बंद

HMI प्रोटोटाइप

तेज़ और किफ़ायती

एम्बेडेड सॉफ़्टवेयर डेवलपमेंट

पेशेवर समाधान

एम्बेडेड सॉफ़्टवेयर एक कंप्यूटर सॉफ़्टवेयर है, जिसे ऐसी मशीनों या डिवाइस को कंट्रोल करने के लिए लिखा गया है, जिन्हें आमतौर पर कंप्यूटर के रूप में नहीं देखा जाता और आम भाषा में एम्बेडेड सिस्टम कहा जाता है।
यह आमतौर पर एक खास तरह के हार्डवेयर के लिए बनाया जाता है जिस पर वह चलता है और इसमें समय और मेमोरी से संबंधित शर्तें होती हैं।

एम्बेडेड सॉफ्टवेयर रास्पबेरी पाई - योक्टो एक डॉकर वातावरण में रास्पबेरी पाई 4 का निर्माण एक कंप्यूटर का स्क्रीनशॉट

यह प्रोजेक्ट दुनिया भर के एम्बेडेड डेवलपर्स को सुविधाजनक टूल और ऐसी जगह मुहैया करवाता है, जहाँ वे एम्बेडेड और IOT डिवाइस या ऐसी किसी भी जगह के लिए जहाँ कस्टमाइज़्ड Linux OS की ज़रूरत हो, Linux इमेज तैयार करने के मकसद से टेक्नोलॉजी, सॉफ़्टवेयर स्टैक, कॉन्फ़िगरेशन और काम करने के अच्छे तौर-तरीके शेयर कर सकते हैं।

एम्बेडेड सॉफ्टवेयर रास्पबेरी पाई - योक्टो रास्पबेरी कस्टम स्प्लैश स्क्रीन प्रगति पट्टी के साथ काले पाठ के साथ एक सफेद लोडिंग बार

आमतौर पर, अगर आप किसी Raspberry Pi के लिए Yocto की मदद से अपनी कस्टम linux इमेज तैयार करते हैं, तो ज़ाहिर है आप प्रोग्रेस बार वाली एक कस्टम स्प्लैश स्क्रीन दिखाना चाहेंगे।

एम्बेडेड सॉफ्टवेयर - योक्टो बूट रास्पबेरी से क्यूटी अनुप्रयोग एक कंप्यूटर का स्क्रीनशॉट

इस गाइड में हम आपको एक Yocto प्रोजेक्ट सेटअप करने के साथ-साथ Raspberry Pi 4 के लिए Qt और Qt डेमो ऐप्लिकेशन इंस्टॉल करने और इस Qt डेमो ऐप्लिकेशन को ऑटोस्टार्ट करने के बारे में जानकारी देंगे।

एम्बेडेड सॉफ्टवेयर रास्पबेरी पाई - योक्टो - रास्पबेरी - पिग्पियो - क्यूटी एक कंप्यूटर प्रोग्राम का स्क्रीनशॉट
PIGPIO लाइब्रेरी और Qt टूलचेन शामिल करें

Yocto को कॉन्फ़िगर करके pigpio लाइब्रेरी, Qt और क्रॉस-कम्पाइलेशन के लिए एक टूलचेन के इंटिग्रेशन के साथ Raspberry Pi 4 के लिए कस्टमाइज़्ड Linux बनाएँ।

एम्बेडेड सॉफ्टवेयर - Visionफाइव - Mander - Yocto एक कंप्यूटर का स्क्रीनशॉट
भाग 1 - Yocto परिवेश का बुनियादी सेटअप

लेखों की श्रृंखला का भाग 1, Mender क्लाइंट के इंटीग्रेशन के साथ Yocto Linux बनाने के लिए Yocto परिवेश कैसे सेट अप करें।

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

डेटा के लगातार लेखन या ओवरराइटिंग के कारण, एसडी कार्ड का जीवनकाल प्रभावित होता है।

उदाहरण के लिए, उन अनुप्रयोगों के लिए रैम डिस्क पर अस्थायी डेटा (जैसे तुलनात्मक गणना के लिए सेंसर मान) लिखने की सिफारिश की जाती है जिनमें अक्सर अस्थायी डेटा होता है (जैसे तुलनात्मक गणना के लिए सेंसर मान) जिनकी पुनरारंभ के बाद आवश्यकता नहीं होती है।

आप रास्पबेरी पाई 4 के यूएसबी-सी इंटरफ़ेस का भी उपयोग कर सकते हैं, जो सामान्य रूप से बिजली की आपूर्ति के लिए उपयोग किया जाता है, एक सामान्य यूएसबी इंटरफ़ेस के रूप में।
इस मामले में, हालांकि, रास्पबेरी को जीपीआईओ पिन के माध्यम से बिजली की आपूर्ति करनी चाहिए।

एम्बेडेड सॉफ्टवेयर रास्पबेरी पाई - रास्पबेरी पाई 4 पर क्यूटी नीली स्क्रीन का एक कंप्यूटर स्क्रीन शॉट

Qt का अक्सर ग्राफ़िक इंटरफ़ेस डेवलप करने के लिए इस्तेमाल किया जाता है। Qt में C ++ लाइब्रेरीज़ होती हैं, जिनकी मदद से ऐसे ग्राफ़िकल इंटरफ़ेस बनाए जा सकते हैं, जिन्हें अलग-अलग तरह के ऑपरेटिंग सिस्टम पर कम्पाइल किया जा सकता है।
चूँकि इस कम्पाइलेशन के लिए ढेर सारी कम्प्यूटिंग पावर की ज़रूरत होती है, इसलिए डेवलपमेंट और किसी होस्ट कम्प्यूटर पर कम्पाइलेशन के लिए अपेक्षाकृत कम पावर वाले प्रोसेसर का इस्तेमाल करने का सुझाव दिया जाता है और इसके बाद पूरे हो चुके ऐप्लिकेशन को टार्गेट कम्प्यूटर पर लोड किया जाना चाहिए।

यह कंप्यूट मॉड्यूल 4 पर रास्पबेरी पाई ओएस लाइट स्थापित करने के लिए एक गाइड है। एक कार्य कंप्यूटर के रूप में, मैं एक आभासी मशीन में स्थापित उबंटू 20 का उपयोग करता हूं।

यह रास्पबेरी पाई 4 के लिए क्यूटी 5.15.2 को क्रॉस-संकलन करने और इसे कम्प्यूट मॉड्यूल 4 पर स्थापित करने के लिए एक गाइड है। यह रास्पबेरी पाई 4 पर मेरे ब्लॉग पोस्ट क्यूटी के लिए एक अपडेट है, इस अंतर के साथ कि इस बार मैं रास्पबेरी पाई ओएस लाइट का उपयोग कर रहा हूं।

यह रास्पबेरी पाई 4 के लिए क्रॉस-संकलित क्यूटी पुस्तकालयों का उपयोग करने और रास्पबेरी के लिए एप्लिकेशन बनाने के लिए क्यूटी-क्रिएटर को कॉन्फ़िगर करने के लिए एक गाइड है।

एम्बेडेड सॉफ्टवेयर - रास्पबेरी पाई 4 के लिए क्यूटी क्रॉस संकलन सेटअप स्क्रिप्ट एक कंप्यूटर प्रोग्राम का स्क्रीनशॉट

इस पेज पर हम स्क्रिप्ट्स के डाउनलोड लिंक देते हैं, ताकि linux होस्ट और Raspberry Pi 4 पर ऑटोमैटिक रूप से क्रॉस कम्पाइलिंग सेट अप की जा सके और साथ ही इन्हें इस्तेमाल करने की जानकारी भी देते हैं।

इस ब्लॉग में, मैं टीसीपी/आईपी पर मॉडबस कनेक्शन के उदाहरण के रूप में एक छोटा क्यूटी क्विक एप्लिकेशन (क्यूएमएल) प्रदान करना चाहता हूं।
क्यूटी उदाहरणों में, मुझे केवल मॉडबस कनेक्शन के लिए क्यूइलेक्ट्रिक उदाहरण मिले हैं, और हाल ही में इसके लिए क्यूटी क्विक एप्लिकेशन बनाने के बाद, मैं एक उदाहरण के रूप में इसका एक स्लिम-डाउन संस्करण प्रदान करना चाहता हूं।

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

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

एम्बेडेड सॉफ्टवेयर - एचडीएमआई मॉनिटर सेटिंग्स एक कंप्यूटर प्रोग्राम का स्क्रीनशॉट
ddcutil के ज़रिए HDMI मॉनिटर सेटिंग कंट्रोल करें

ddcutil इंस्टॉल करने और I2C के ज़रिए किसी HDMI मॉनिटर की सेटिंग कंट्रोल करने की Yocto रेसिपी।

एम्बेडेड सॉफ्टवेयर - काले पाठ के साथ एक पीली स्क्रीन
Yocto में libgpiod शामिल करें

Yocto में libgpiod लाइब्रेरी शामिल करें और उसे अपने एम्बेडेड सिस्टम में इस्तेमाल करें।