रास्पबेरी पाई हमेशा चलने वाले सभी प्रकार के कार्यक्रमों को स्थापित करने के लिए आदर्श है। ऐसा करने का सबसे विश्वसनीय तरीका डॉकर के साथ है: इस तरह प्रत्येक प्रोग्राम एक कंटेनर में अलग-थलग चलता है, इसलिए वे एक दूसरे के साथ हस्तक्षेप नहीं कर सकते। हम आपको दिखाएंगे कि रास्पबेरी पाई पर डॉकर का उपयोग कैसे करें और आपको किस पर ध्यान देना चाहिए।
यदि आपके पास कुछ समय के लिए रास्पबेरी पाई है, तो संभावना है कि आप इस पर अधिक से अधिक सॉफ़्टवेयर स्थापित करते रहेंगे। होम असिस्टेंट,Zwave2Mqtt, Node-RED, Rhasspy… यह सब ठीक चल रहा है, जब तक कि आप अपने सभी सॉफ़्टवेयर को एक नए संस्करण में अपडेट नहीं करते हैं, और अचानक आपका कोई प्रोग्राम काम करना बंद कर देता है और एक अस्पष्ट त्रुटि संदेश देता है।
क्या हुआ? एक सामान्य परिदृश्य निम्नलिखित है। सॉफ्टवेयर ए और बी दोनों पुस्तकालय सी के संस्करण 1.0 का उपयोग करते हैं। इस बीच, पुस्तकालय सी का संस्करण 2.0 जारी किया गया है, जो सी 1.0 के साथ असंगत है। सॉफ्टवेयर ए को पुस्तकालय सी 2.0 का उपयोग करने के लिए फिर से लिखा जा रहा है, जबकि सॉफ्टवेयर बी के डेवलपर्स इतने तेज नहीं हैं और कुछ समय के लिए पुस्तकालय सी 1.0 के साथ रहेंगे। आप सॉफ़्टवेयर A को अद्यतन करते हैं और जो लायब्रेरी C 2.0 को स्थापित करता है। लेकिन रास्पियन पुस्तकालय का केवल एक संस्करण स्थापित कर सकता है। नतीजतन, सॉफ्टवेयर बी अचानक काम नहीं करता है, क्योंकि यह पुस्तकालय सी 2.0 के साथ संगत नहीं है।
व्यवहार में, इस तरह की स्थिति से बचने के लिए लिनक्स वितरण वे सब कुछ करते हैं जो वे कर सकते हैं, लेकिन ऐसा होता है। कभी-कभी बहुत अधिक सूक्ष्म तरीकों से, इसलिए यह हमेशा तुरंत स्पष्ट नहीं होता है कि समस्या का कारण क्या है।
01 डॉकर क्या है?
डॉकर डेवलपर्स के लिए एप्लिकेशन वितरित करना आसान बनाता है ताकि आप उन्हें किसी भी लिनक्स सिस्टम पर चला सकें। ये एप्लिकेशन डॉकर हब पर एक छवि के रूप में पाए जा सकते हैं। ऐसी छवि मूल रूप से न्यूनतम लिनक्स सिस्टम के लिए एक टेम्पलेट है, जिसे आप कंटेनर के रूप में रास्पियन के शीर्ष पर चला सकते हैं।
प्रत्येक कंटेनर अन्य कंटेनरों से पूरी तरह से अलग है। तो एक कंटेनर में एप्लिकेशन अन्य कंटेनरों में एप्लिकेशन नहीं देखता है। और एक कंटेनर को स्थापित और अपडेट करना सुनिश्चित करता है कि नया संस्करण अन्य कंटेनरों में एप्लिकेशन के साथ विरोध नहीं करता है। इसलिए यदि आप अपने रास्पबेरी पाई पर मुट्ठी भर से अधिक एप्लिकेशन चलाना चाहते हैं, तो डॉकर आपको मज़बूती से ऐसा करने में मदद करेगा। डॉकर के लिए धन्यवाद, आप नए सॉफ़्टवेयर के साथ सुरक्षित रूप से प्रयोग भी कर सकते हैं: आपको यह पसंद नहीं है, बस बाद में कंटेनर को हटा दें।
02 डॉकर स्थापित करें
हम मानते हैं कि आपके पास रास्पियन स्थापित है, लाइट संस्करण पर्याप्त होगा। फिर इस मूल पाठ्यक्रम में कमांड करने के लिए ssh के माध्यम से लॉग इन करें। सबसे पहले, डॉकर को कमांड के साथ स्थापित करें:
कर्ल-एसएसएल //get.docker.com | श्री
फिर उपयोगकर्ता को दें अनुकरणीय (जिसके साथ आप लॉग इन हैं) डॉकर तक पहुंच, ताकि आप कमांड के साथ सभी डॉकर कमांड न चलाएं सुडो प्रदर्शन करना चाहिए:
sudo usermod pi -aG docker
निकास के साथ लॉग आउट करें और फिर से लॉग इन करें। अब उपयोगकर्ता संबंधित है अनुकरणीय समूह के लिए डाक में काम करनेवाला मज़दूर.
03 नमस्ते दुनिया
अब आपको पहले डॉकर कंटेनर को बूट करने में सक्षम होना चाहिए:
डॉकर रन --आरएम हैलो-वर्ल्ड
यह कमांड डॉकर कंटेनर हैलो-वर्ल्ड चलाएगा। यह कंटेनर अपने आउटपुट में दिखाता है कि वास्तव में क्या होता है: छवि आपके रास्पबेरी पाई पर नहीं पाई जाती है और फिर डॉकर द्वारा डॉकर हब से डाउनलोड की जाती है। फिर डॉकर इस इमेज के आधार पर एक कंटेनर बनाता है और उसमें प्रोग्राम चलाता है। विकल्प से -आर एम कार्यक्रम बंद होने के बाद कंटेनर को साफ किया जाता है। अब आप जानते हैं कि डॉकर सही ढंग से स्थापित और काम कर रहा है।
हायप्रियोट
हम इस मूल ट्यूटोरियल में बस डॉकर को रास्पियन पर स्थापित करेंगे, लेकिन अन्य ऑपरेटिंग सिस्टम भी संभव हैं यदि आप रास्पबेरी पाई पर डॉकर में रुचि रखते हैं। उदाहरण के लिए, Hypriot है: रास्पबेरी पाई के लिए एक ऑपरेटिंग सिस्टम जिसे डॉकर का उपयोग करने के लिए अनुकूलित किया गया है। फिर आपको केवल इस छवि को अपने रास्पबेरी पाई के माइक्रो-एसडी कार्ड पर स्थापित करना होगा और आप तुरंत डॉकर का उपयोग शुरू कर सकते हैं। Hypriot विशेष रूप से दिलचस्प है यदि आप अपने रास्पबेरी पाई पर सिर्फ डॉकर कंटेनर चला रहे हैं और कुछ नहीं।
04 कंटेनर बनाएं
डॉकर कंटेनरों के साथ काम करने की मूल बातें कमांड के साथ की जाती हैं डाक में काम करनेवाला मज़दूर, जैसा कि हमने पिछले चरण में दिखाया था। आमतौर पर डॉकर के साथ आप एक कंटेनर नहीं चलाना चाहते हैं और इसे तुरंत बंद कर देते हैं, लेकिन इसे चलने दें। इसलिए हम विकल्प का उपयोग नहीं करते हैं --आरएम. साथ ही, आप चाहते हैं कि कंटेनर हर समय स्क्रीन पर आउटपुट देखे बिना पृष्ठभूमि में चले। विकल्प -डी.
यदि आपने इस तरह से एक कंटेनर शुरू किया है, तो डॉकर इसे एक यादृच्छिक नाम देगा, जो उपयोगी नहीं है यदि आपके पास मुट्ठी भर से अधिक कंटेनर हैं। विकल्प के साथ --नाम नाम इसलिए आप कंटेनर को एक निश्चित नाम दें।
फिर आपको नेटवर्क कनेक्शन को भी देखना होगा। चूंकि प्रत्येक डॉकर कंटेनर अलग है, आप उदाहरण के लिए एक कंटेनर में पोर्ट 80 पर चलने वाले वेब सर्वर तक नहीं पहुंच सकते हैं। इसलिए, आपको डॉकर को रास्पबेरी पाई पर पोर्ट 8888 पर प्रत्येक अनुरोध को अग्रेषित करने का निर्देश देना होगा, उदाहरण के लिए, एक विशिष्ट कंटेनर में 80 पोर्ट करना। आप विकल्प के साथ ऐसा करते हैं -पी 8888:80. नमूना कंटेनर के लिए इन सभी विकल्पों को एक साथ रखते हुए, निम्न आदेश चलाएँ:
डॉकर रन -d --name whoami -p 8888:80 कंटेनस/व्हामी
यदि सब कुछ ठीक रहा, तो थोड़ी देर बाद आपको हेक्साडेसिमल संख्याओं की एक लंबी स्ट्रिंग दिखाई देगी (जैसे 5122c935ce5178751a59699d2c5605c607700bd04e5f57a6c18de434ae53956e) यह कंटेनर की आईडी है। यदि आप अब अपने वेब ब्राउज़र में सर्फ़ करते हैं // आईपी: 8888 के बजाय के साथ आईपी आपके रास्पबेरी पाई का आईपी पता, आपको एक वेब पेज दिखाई देगा जो कंटेनर में वेब सर्वर द्वारा उत्पन्न होता है।
05 अपने कंटेनर देखें
एक बार जब आप इस तरह के कुछ कंटेनर शुरू कर देते हैं, तो प्रबंधन महत्वपूर्ण होना शुरू हो जाता है। सबसे पहले, यह देखना उपयोगी है कि कौन से कंटेनर चल रहे हैं:
डॉकर पीएस
फिर आप उन सभी कंटेनरों के बारे में जानकारी देखेंगे जो सक्रिय हैं (विकल्प के साथ -ए बंद हो चुके कंटेनरों सहित)। पहले कॉलम में प्रत्येक कंटेनर के लिए एक अद्वितीय आईडी होती है, उसके बगल में वह छवि होती है जिससे कंटेनर बनाया गया था। स्तंभ स्थिति सबसे अच्छा अगर आपको समस्या है। उदाहरण के लिए, यदि आपका कंटेनर किसी समस्या के कारण पुनरारंभ होता रहता है, तो आप इसे यहां देखेंगे।
कॉलम में बंदरगाहों आप इस्तेमाल किए गए बंदरगाहों को देखते हैं। उदाहरण के लिए, हमारे कंटेनर के सामने whoami is 0.0.0.0:8888->80/टीसीपी. इसका मतलब है कि रास्पबेरी पाई पर टीसीपी पोर्ट 8888 को कंटेनर पर टीसीपी पोर्ट 80 पर पुनर्निर्देशित किया जाएगा। आखिरी कॉलम में आप कंटेनर का नाम देखते हैं, जिसे आप आगे डॉकर कमांड में इस्तेमाल कर सकते हैं।
ज्यादा जानकारी चाहिए तो कमांड आती है डोकर आँकड़े उपयोगी। फिर आप प्रत्येक कंटेनर के लिए आंकड़े देखेंगे, जैसे कि प्रोसेसर, मेमोरी और नेटवर्क की खपत। यदि आप चाहते हैं कि डॉकर एक विशिष्ट कंटेनर के बारे में सभी जानकारी जानता है, तो इस कमांड को कंटेनर की आईडी या नाम से चलाएं:
डोकर निरीक्षण कंटेनर
और अंत में, यदि आप किसी कंटेनर के लॉग देखना चाहते हैं, तो इन दो आदेशों में से एक चलाएँ:
डोकर लॉग कंटेनर
डोकर लॉग -f कंटेनर
विकल्प के साथ -एफ वास्तविक समय में लॉग का पालन करें क्योंकि कंटेनर उन्हें उत्पन्न करता है।
06 अपने कंटेनरों और छवियों को प्रबंधित करें
यदि आप चल रहे कंटेनर को रोकना, शुरू करना या पुनरारंभ करना चाहते हैं, तो आप क्रमशः इन आदेशों के साथ आसानी से कर सकते हैं:
डॉकटर स्टॉप कंटेनर
डॉकटर लॉन्च कंटेनर
डोकर पुनरारंभ कंटेनर
यदि आप किसी कंटेनर को अस्थायी रूप से रोकना चाहते हैं (इसमें सभी प्रोग्राम अस्थायी रूप से 'जमे हुए' होंगे), तो यह कमांड चलाएँ:
डॉकटर पॉज़ कंटेनर
इस आदेश के बाद, कंटेनर में सभी प्रोग्राम फिर से चलेंगे:
डॉकटर अनपॉज CONTAINER
आदेश के साथ डोकर चित्र आप उन छवियों की सूची देखेंगे जिन्हें डॉकर ने डाउनलोड किया है। हमारे whoami कंटेनर के लिए कॉलम में देखें भंडार ये पाठ कंटेनस/व्हामी खड़े और स्तंभ में उपनाम खड़ा नवीनतम. छवि का पूरा नाम होगा सम्मिलित/व्हामी:नवीनतम हैं, लेकिन वो नवीनतम टैग के लिए डिफ़ॉल्ट मान है, इसलिए छोड़ा जा सकता है। इसलिए, भाग 4 में हमारे सत्रीय कार्य में, हम डोकर रन अभी - अभी कंटेनस/व्हामी एक छवि के रूप में।
कॉलम में बनाया था देखें कि यह चित्र कितने समय पहले डाउनलोड किया गया था। इस छवि को अद्यतन करने के लिए, निम्न आदेश चलाएँ:
डॉकटर पुल कंटेनस/व्हामी:नवीनतम
डॉकर तब छवि का नवीनतम संस्करण डाउनलोड करता है या आपको बताता है कि छवि अद्यतित है। यदि आप इसे बाद में फिर से करते हैं डोकर चित्र आप देखेंगे कि एक छवि जोड़ी गई है।
लेकिन वर्तमान व्हामी कंटेनर अभी भी पुरानी छवि का उपयोग करता है। इसे अपग्रेड करने के लिए, रोकें (डॉकर स्टॉप व्हामी) और हटाएं (डॉकर आरएम वोहामी) आप कंटेनर बनाते हैं, और खंड 4 से docker run कमांड का उपयोग करके कंटेनर को फिर से बनाते हैं।
साफ करना
यदि आप कंटेनर में नवीनतम संस्करण चलाने के लिए अपनी डॉकर छवियों को नियमित रूप से अपडेट करते हैं, तो पुरानी छवियां बनी रहेंगी। आपके रास्पबेरी पाई का माइक्रो-एसडी कार्ड अधिकतम कुछ दसियों गीगाबाइट की क्षमता के साथ जल्दी से भर सकता है, खासकर यदि आप बड़े कंटेनर चलाते हैं। उदाहरण के लिए, होम असिस्टेंट और रैस्पी जैसे कंटेनर आकार में एक गीगाबाइट से अधिक होते हैं। अब डॉकर एक प्रणाली के साथ काम करता है ताकि एक अद्यतन के साथ पूर्ण गीगाबाइट डाउनलोड और फिर से संग्रहीत न हो, लेकिन कई अपडेट के बाद आवश्यक भंडारण में वृद्धि जारी है। आदेश के साथ डॉकर आरएमआई IMAGE_ID कमांड के आउटपुट में आपके द्वारा निर्दिष्ट आईडी के आधार पर एक छवि हटाएं डोकर चित्र पाता है। डॉकर भी कमांड जानता है डॉकर छवि प्रून जो एक कंटेनर द्वारा उपयोग नहीं की जाने वाली सभी छवियों को हटा देता है। का डॉकर सिस्टम प्रून रुके हुए कंटेनर, कम से कम एक कंटेनर द्वारा उपयोग नहीं किए जाने वाले नेटवर्क और कैशे फ़ाइलों को भी हटा दें।
07 वॉल्यूम
हमारा उदाहरण कंटेनर whoami ने किसी भी कॉन्फ़िगरेशन डेटा या डेटा का उपयोग नहीं किया है। लेकिन आप अपने रास्पबेरी पाई पर एक डॉकर कंटेनर के साथ एक निर्देशिका साझा कर सकते हैं ताकि वह इससे डेटा तक पहुंच सके। डॉकर ऐसी साझा निर्देशिका को वॉल्यूम कहते हैं।
यदि आप अपने रास्पबेरी पाई पर कई कंटेनरों के साथ काम करने जा रहे हैं, तो यह अनुशंसा की जाती है कि आप उनकी निर्देशिकाओं को एक साथ रखें। उसके लिए एक निर्देशिका बनाएँ, उदाहरण के लिए:
mkdir -p /home/pi/containers/nginx/data
फिर फोल्डर में रखें कंटेनर/nginx/डेटा एक पंक्ति index.html एक html पेज के साथ।
तब आप अब nginx (एक वेब सर्वर) के साथ एक कंटेनर शुरू कर सकते हैं जिसके साथ आप इस निर्देशिका को साझा करते हैं:
डॉकर रन -d --name nginx -p 8080:80 -v /home/pi/containers/nginx/data:/usr/share/nginx/html:ro nginx
फिर कंटेनर वेब सर्वर से शुरू होता है और निर्देशिका को माउंट करता है /होम/पीआई/कंटेनर/एनजी/डेटा स्थान पर कंटेनर में अपने रास्पबेरी पाई पर /usr/शेयर/nginx/html, केवल पढ़ने की अनुमति के साथ (आरओई केवल पढ़ने के लिए खड़ा है)। यदि आप अभी सर्फ करते हैं आईपी:8080 क्या आपको html फ़ाइल मिलती है index.html देखने के लिए।
08 डॉकर लिखें
अब तक हमने मैन्युअल रूप से डॉकर कंटेनरों को कमांड के साथ शुरू किया है डोकर रन. लेकिन अगर आप कुछ और डॉकर कंटेनर चला रहे हैं और नियमित रूप से उनके कॉन्फ़िगरेशन को बदलना चाहते हैं, तो एक अलग तरीका बेहतर है: सब कुछ एक कॉन्फ़िगरेशन फ़ाइल में डालना। वह डॉकर कंपोज़ के साथ जाता है।
ऐसा करने के लिए, पहले पायथन के पैकेज मैनेजर पाइप को स्थापित करें और फिर इन आदेशों के साथ डॉकर कंपोज़ (जो एक पायथन प्रोग्राम है) स्थापित करें:
sudo apt स्थापित python3-pip
sudo pip3 docker-compose स्थापित करें
अब आप एक फ़ाइल में कई डॉकर कंटेनरों को कॉन्फ़िगर कर सकते हैं docker-compose.yml बनाना। ऐसा करने के लिए, डॉकर कंपोज़ फ़ाइल बनाएं:
नैनो docker-compose.yml
हमारे उदाहरण कंटेनर whoami और nginx के लिए निम्नलिखित कॉन्फ़िगरेशन में रखें:
संस्करण: '3.7'
सेवाएं:
मैं कौन हूं:
छवि: सम्मिलित / whoami
कंटेनर_नाम: whoami
पुनरारंभ करें: हमेशा
बंदरगाह:
- 8888:80
नग्नेक्स:
छवि: nginx
कंटेनर_नाम: nginx
पुनरारंभ करें: हमेशा
बंदरगाह:
- 8080:80
आयतन:
- /होम/पीआई/कंटेनर/nginx/डेटा:/usr/share/nginx/html:ro
09 वाईएएमएल
फ़ाइल को Ctrl+O से सहेजें और नैनो से Ctrl+X से बाहर निकलें। यह एक YAML फ़ाइल है (एक्सटेंशन .yml के साथ)। YAML (पुनरावर्ती संक्षिप्त नाम "YAML मार्कअप लैंग्वेज नहीं है" के लिए खड़ा है) कॉन्फ़िगरेशन डेटा को पढ़ने योग्य तरीके से परिभाषित करने के लिए एक फ़ाइल प्रारूप है। अधिक जानकारी आधिकारिक वेबसाइट पर पाई जा सकती है।
आप इस फाइल में देख सकते हैं कि हम दो कंटेनरों को सेवाओं के रूप में परिभाषित करते हैं। प्रत्येक कंटेनर के लिए हम उपयोग की गई छवि को परिभाषित करते हैं, वह नाम जिसे कंटेनर दिया जाना चाहिए और क्या समस्या होने पर कंटेनर को स्वचालित रूप से पुनरारंभ करना चाहिए। इसके अलावा, हम पुनर्निर्देशित पोर्ट और वॉल्यूम को भी परिभाषित करते हैं।
आप यह सारी जानकारी कमांड लाइन पर भी पा सकते हैं डोकर रन, लेकिन इस डॉकर कंपोज़ फ़ाइल में यह थोड़ा अधिक व्यवस्थित है।
10 डॉकर कंपोज़ के साथ काम करना
एक बार आपके पास एक फ़ाइल docker-compose.yml आप इसमें परिभाषित कंटेनरों को आसानी से बना और चला सकते हैं:
docker-compose up -d
उसके बाद आप इन कंटेनरों को docker कमांड से प्रबंधित कर सकते हैं, लेकिन docker-compose के पास विशेष रूप से Docker Compose के साथ आपके द्वारा बनाए गए कंटेनरों को प्रबंधित करने के लिए बहुत सारे विकल्प हैं। इस प्रकार आप निम्न आदेश के साथ सब कुछ साफ करते हैं, सभी परिभाषित कंटेनरों को रोक दिया जाएगा और हटा दिया जाएगा:
डॉकटर कंपोज़ डाउन
आप सभी कंटेनरों के लॉग का अनुसरण भी कर सकते हैं:
डॉकर-लिखें लॉग -f
प्रत्येक कंटेनर अपने लॉग संदेशों को एक अलग रंग में प्रदर्शित करता है। डॉकर कंपोज़ में सभी कंटेनरों को रोकने, शुरू करने और पुनः आरंभ करने के लिए एक परिचित धुन है:
डॉकर कंपोज़ स्टॉप
डोकर कंपोज़ स्टार्ट
डॉकर कंपोज़ रीस्टार्ट
अपनी डॉकर कंपोज़ फ़ाइल के सभी कंटेनरों को निम्नलिखित दो आदेशों के साथ अपडेट करें:
डोकर कंपोज़ पुल
डॉकर कंपोज़ रीस्टार्ट
पहला कमांड आपके द्वारा परिभाषित सभी कंटेनरों के लिए नई छवियां डाउनलोड करेगा और दूसरा कमांड उन सभी कंटेनरों को रीबूट करेगा ताकि वे नई छवि का उपयोग कर सकें। उसके बाद आप चाहें तो पुरानी छवियों को हटा सकते हैं:
डॉकर छवि प्रून
11 और आगे
आप डॉकर हब पर कई अनुप्रयोगों की डॉकर छवियां पा सकते हैं। LinuxServer.io पर आपको स्वयंसेवकों द्वारा अनुरक्षित दर्जनों डॉकर चित्र भी मिलेंगे। इन छवियों को अच्छी तरह से बनाए रखा और प्रलेखित किया गया है, और वे सभी एक समान दृष्टिकोण और बुनियादी ढांचे का उपयोग करते हैं।
अपने आप को 'आधिकारिक' डॉकर छवियों तक सीमित करने का प्रयास करें, जो किसी प्रोजेक्ट द्वारा स्वयं प्रदान की जाती हैं, या विश्वसनीय पार्टियों जैसे LinuxServer.io से छवियां। क्योंकि सिद्धांत रूप में कोई भी डॉकर छवियों को डॉकर हब पर प्रकाशित कर सकता है, लेकिन उन्हें हमेशा अद्यतित नहीं रखा जाता है।
सही प्रोसेसर आर्किटेक्चर
यह महत्वपूर्ण है कि आप सही प्रोसेसर आर्किटेक्चर के लिए डॉकर इमेज डाउनलोड करें। रास्पबेरी पाई में एक एआरएम प्रोसेसर है, जो पीसी में पाए जाने वाले इंटेल या एएमडी प्रोसेसर के साथ संगत नहीं है। आपके प्रोसेसर आर्किटेक्चर के लिए सही संस्करण को स्वचालित रूप से डाउनलोड करने के लिए कई डॉकर छवियां प्रकाशित की जाती हैं। डॉकर हब पर, आप पाएंगे कि वांछित डॉकर छवि पृष्ठ के तहत कौन से आर्किटेक्चर समर्थित हैं। रास्पियन के लिए जो arm32v7, arm/v7 या armhf है। यदि आपको डॉकर कंटेनर शुरू करते समय त्रुटि संदेश मिलता है: निष्पादन प्रारूप त्रुटि आपने शायद गलत प्रोसेसर आर्किटेक्चर की छवि डाउनलोड की है। यदि ऐसा होता है, तो आपको किसी भिन्न टैग वाली छवि डाउनलोड करनी होगी। उदाहरण के लिए, मोशनआई प्रोजेक्ट अपनी आधिकारिक डॉकर छवि को दो संभावित टैग के साथ वितरित करता है: आप चलाते हैं सीक्रिसन/मोशनआई:मास्टर-amd64 इंटेल-संगत प्रोसेसर पर और सीक्रिसन/मोशनआई:मास्टर-आर्मफ रास्पबेरी पाई पर।