विषयसूची:

पाई पर TinyLiDAR?: 9 कदम (चित्रों के साथ)
पाई पर TinyLiDAR?: 9 कदम (चित्रों के साथ)

वीडियो: पाई पर TinyLiDAR?: 9 कदम (चित्रों के साथ)

वीडियो: पाई पर TinyLiDAR?: 9 कदम (चित्रों के साथ)
वीडियो: TF- Mini kit pvp 2024, अक्टूबर
Anonim
पाई पर TinyLiDAR?
पाई पर TinyLiDAR?

फिर से हैलो!

ठीक है अब जब आपने tinyLiDAR और अपने Arduino के साथ कुछ गुणवत्ता समय बिताया है - आपका रास्पबेरी पाई शायद थोड़ा अकेला महसूस कर रहा है;)

पीआई में I2C पोर्ट सही है? तो क्यों न इसे हुक करें और इसे वहां पर आजमाएं?! अच्छी योजना है, लेकिन अगर आपने पहले ही कोशिश कर ली है - तो आपने देखा होगा कि डेटा थोड़ा अजीब लगता है।

हां, पीआई ने पहले से ही 1.8K पुल-अप में बनाया है, इसलिए आपको सर्किट से 4.7K पुल-अप प्राप्त करने के लिए I2C पैड को छोटे LiDAR पर काटना होगा - विवरण के लिए संदर्भ मैनुअल देखें। लेकिन यह अजीब डेटा का कारण नहीं है।

ऐसा इसलिए है क्योंकि pi की I2C बस कल्पना के अनुरूप नहीं है। ब्रॉडकॉम चिप सेट के कारण पीआई को पहली बार पेश किए जाने के बाद से यह ऐसा ही है। शुरू से ही उन्होंने "क्लॉक स्ट्रेचिंग" नामक I2C सुविधा का ठीक से समर्थन नहीं किया है।

आप यहां इस एच/डब्ल्यू बग के बारे में अधिक पढ़ सकते हैं।

चरण 1: क्लॉक स्ट्रेचिंग क्या है?

क्लॉक स्ट्रेचिंग क्या है?
क्लॉक स्ट्रेचिंग क्या है?

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

I2C मानक के अनुसार, मास्टर डिवाइस वह है जो SCL लाइन पर क्लॉक सिग्नल की आपूर्ति करता है, लेकिन यदि यह दर बहुत तेज़ है, तो स्लेव डिवाइस को केवल क्लॉक लाइन को तब तक दबाए रखकर इसे धीमा करने की अनुमति है जब तक कि यह सौदा करने के लिए तैयार न हो जाए। जानकारी के साथ। इसे हम "क्लॉक स्ट्रेचिंग" कहते हैं।

आधिकारिक तौर पर, I2C मानक में क्लॉक स्ट्रेचिंग को एक वैकल्पिक सुविधा के रूप में सूचीबद्ध किया गया था, लेकिन यह एक बहुत ही सामान्य विशेषता है जो अधिकांश "बुद्धिमान" दासों के लिए आवश्यक है जिन्हें सेंसर डेटा आदि प्रदान करने के लिए कुछ अतिरिक्त समय की आवश्यकता होती है।

चरण 2: उड़ने वाले सूअरों से थोड़ी मदद

इस I2C h/w बग से निपटने के लिए, हमें "pigpio" नामक एक अच्छी छोटी निःशुल्क लाइब्रेरी मिली। यह C में लिखी गई एक बहुत लोकप्रिय, तेज़ और हल्की लाइब्रेरी है। यह रास्पबेरी पाई के लिए एक पृष्ठभूमि डेमॉन के रूप में चलती है और हमें I2C के साथ-साथ किसी भी GPIO को आसानी से अजगर से नियंत्रित करने की अनुमति देती है। पुस्तकालय I2C पोर्ट को GPIO की तरह मानता है और इस तरह I2C क्लॉक स्ट्रेचिंग बग को बायपास करता है। पीआई पर सभी सॉफ्टवेयर की तरह, पिगियो लाइब्रेरी केवल एक साधारण "शामिल" दूर है तो चलिए चलते हैं!

चरण 3: टीएल; डीआर संस्करण

Putty के साथ लॉगिन करने के लिए PiEnable SSH को सेटअप करें

वैकल्पिक:

WinSCP के साथ SublimeText सेटअप करें

चरण 4: स्थापना

इंस्टालेशन
इंस्टालेशन

हमारे रास्पबेरी पाई 3 के लिए, हमने मानक न्यू आउट ऑफ द बॉक्स सॉफ्टवेयर (एनओओबीएस लाइट v2.4) ऑपरेटिंग सिस्टम का उपयोग किया। इसमें कोड के लिए तैयार हमारे लिए पहले से स्थापित पायथन का एक डिफ़ॉल्ट संस्करण है। आप यहां से ओएस डाउनलोड कर सकते हैं।

एक बार माइक्रो एसडी कार्ड पर इंस्टॉल हो जाने पर आपको एक कीबोर्ड और मॉनिटर कनेक्ट करना होगा ताकि आप पहली बार पीआई में लॉगिन कर सकें:

उपयोगकर्ता नाम: पीआई पासवर्ड: रास्पबेरी

फिर आप इन आदेशों के साथ एक सुरक्षित शेल सर्वर (SSH) शुरू कर सकते हैं:

sudo systemctl sshsudo systemctl start ssh. को सक्षम करें

आगे हमें आपके नेटवर्क पर पाई के आईपी पते की आवश्यकता होगी ताकि हम पुटी के साथ लॉगिन कर सकें। इसे पाने के लिए, बस टाइप करें:

होस्टनाम -I

और एक IPv4 प्रारूप पता देखें (हमारे सेटअप के लिए यह था: 192.168.0.27)

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

sudo systemctl अक्षम ssh

यह कमांड निश्चित रूप से पाई से जुड़े कीबोर्ड पर टाइप किया जाना चाहिए।

पुटी एक टर्मिनल प्रोग्राम है जिसे पीसी से पीआई को आदेश जारी करने की आवश्यकता होती है, इसलिए आपको यहां से नवीनतम प्रति प्राप्त करनी चाहिए।

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

यह आपको पीआई के लिए लॉगिन स्क्रीन पर ले जाना चाहिए। अपना वही यूजरनेम और पासवर्ड इस्तेमाल करें जो आपने पहले इस्तेमाल किया था।

चरण 5: पिगियो स्थापित करें

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

युक्ति: आप बस [ctrl+c] को कॉपी कर सकते हैं और [माउस राइट क्लिक] पेस्ट कर सकते हैं और अन्य कमांड को PuTTY टर्मिनल में पेस्ट कर सकते हैं।

सुडो एपीटी-अपडेट प्राप्त करें

sudo apt-pigpio स्थापित करें

चरण 6: वैकल्पिक: देव सिस्टम सेटअप

वैकल्पिक: देव सिस्टम सेटअप
वैकल्पिक: देव सिस्टम सेटअप

तो यहाँ एक युक्ति है जो आपके कोड विकास की दुनिया में कुछ समय बचाने में मदद कर सकती है। हम वास्तव में यूनिक्स आधारित पाठ संपादकों से घृणा करते हैं। उपयोगकर्ता इंटरफ़ेस सामान्य रूप से अनाड़ी है और फोंट चूसते हैं। GNU नैनो लगभग सहने योग्य है लेकिन कोई भी SublimeText जितना परिष्कृत नहीं है जिसे आप यहाँ से डाउनलोड कर सकते हैं

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

कैसे? WinSCP नामक एक निःशुल्क ऐप का उपयोग करना जिसे आप यहां से डाउनलोड कर सकते हैं

चरण 7: विनएससीपी सेट करना

विनएससीपी की स्थापना
विनएससीपी की स्थापना
विनएससीपी की स्थापना
विनएससीपी की स्थापना

विनएससीपी एक सुरक्षित फाइल ट्रांसफर प्रोग्राम है जो आपके आरपीआई पर मौजूद फाइलों का ग्राफिकल प्रतिनिधित्व देता है जैसे आप अपने विंडोज पीसी पर फाइल मैनेजर में देखते हैं।

तो आगे बढ़ो और उपरोक्त दो कार्यक्रमों को भी अभी स्थापित करें।

आगे आपको उन सभी को ठीक से काम करने के लिए कुछ समायोजन करने होंगे।

विनएससीपी के लिए, आप नई साइट पर क्लिक कर सकते हैं। हम डिफ़ॉल्ट SFTP सेटिंग्स का उपयोग करेंगे और आपको केवल अपने pi का IP पता (होस्ट नाम के लिए) और लॉगिन नाम (उपयोगकर्ता नाम के लिए) दर्ज करना होगा। यदि आप चाहें तो पासवर्ड को खाली छोड़ना चुन सकते हैं - यह आपको हर बार लॉगिन करने पर पासवर्ड के लिए संकेत देगा।

इसके बाद, उन्नत बटन पर क्लिक करें और फिर पर्यावरण शैल सेटिंग्स के लिए बाईं ओर क्लिक करें। दाईं ओर "डिफ़ॉल्ट" पुल को "सुडो सु -" विकल्प में बदलें। जब आप SublimeText से सेव को हिट करते हैं तो यह बिना अनुमति त्रुटियों के आपके पीआई में परिवर्तन लिखे जाने की अनुमति देगा।

SublimeText को WinSCP में डिफ़ॉल्ट संपादक के रूप में सेट करें

ऐसा करने के लिए, WinSCP लॉगिन सेटिंग्स स्क्रीन पर टूल्स बटन पर क्लिक करें जहां आपने अपना न्यूसाइट डायलॉग शुरू किया था। दो स्क्रीन शॉट्स दिखाता है कि यह कैसे कॉन्फ़िगर किया गया है, लेकिन मूल रूप से आप संपादकों की वरीयता को कॉन्फ़िगर करने के लिए क्लिक करेंगे और एक संपादक जोड़ें जो एक बाहरी संपादक होगा। फिर आप उस.exe फ़ाइल को ब्राउज़ कर सकते हैं जहां यह संपादक आपके कंप्यूटर पर स्थित है।

चरण 8: (w) कोड प्राप्त करना

(w) कोड प्राप्त करना
(w) कोड प्राप्त करना

एक बार हो जाने के बाद, आगे बढ़ें और WinSCP और PuTTY के साथ लॉगिन करें।

अब हम पूरी तरह से तैयार हैं हम अपना tinyLiDAR कोड शुरू कर सकते हैं।

अपने होम/पीआई डायरेक्टरी के तहत टिनीलीडार नाम की एक डायरेक्टरी बनाएं।

आप WinSCP स्क्रीन के दाईं ओर राइट क्लिक करके ऐसा कर सकते हैं और नया / निर्देशिका चुनें।

अब पुटी टर्मिनल पर आप टाइप कर सकते हैं

सीडी टू

और छोटे LiDAR निर्देशिका में जाने के लिए इसे अपने आदेश को स्वत: पूर्ण करने के लिए टैब दबाएं।

एक बार यहां निम्नलिखित टाइप करें:

wget

फ़ाइलों को सीधे हमारे सर्वर से प्राप्त करने के लिए। फिर हम उन्हें टाइप करके अनज़िप कर सकते हैं

खोल दो

और नाम को फिर से स्वत: पूर्ण करने के लिए टैब दबाएं

इसे चलाने के लिए, बस टाइप करें

अजगर tlgui.py

और आपका छोटा लिडार पीआई पर आपके हर आदेश का जवाब देगा:)

चरण 9: जल्द होने वाले हैकर्स के लिए नोट

आगे बढ़ो और WinSCP से किसी भी कोड फ़ाइल पर डबल क्लिक करके हुड के नीचे एक नज़र डालें। वे.py एक्सटेंशन वाले हैं। फ़ाइलें सीधे आपके पीसी पर SublimeText में खुलनी चाहिए। आपको जो पसंद है उसे बदलें और फिर सेव को हिट करें। आपके परिवर्तन सीधे आपके पीआई में सहेजे जाएंगे।

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

अजगर tlgui.py

आपने देखा होगा कि टर्मिनल GUI लेआउट Arduino संस्करण की तुलना में थोड़ा अच्छा दिखता है। ऐसा इसलिए है क्योंकि पुटी यूनिकोड वर्णों का समर्थन करता है, इसलिए हम इसे और अधिक परिष्कृत दिखने के लिए कुछ अतिरिक्त कर्सर नियंत्रण वर्णों का उपयोग करने में सक्षम थे।

यहाँ एक अतिरिक्त कमांड भी है (Arduino संस्करण की तुलना में) जो कि कंटीन्यूअस रीड फंक्शन के लिए "dc" है। इसे आज़माएं और देखें कि आप क्या सोचते हैं।

बस इतना ही!

पढ़ने के लिए धन्यवाद और पीआई पर हैकिंग का आनंद लें:)

सिफारिश की: