সুচিপত্র:

একটি পাইতে TinyLiDAR?: 9 টি ধাপ (ছবি সহ)
একটি পাইতে TinyLiDAR?: 9 টি ধাপ (ছবি সহ)

ভিডিও: একটি পাইতে TinyLiDAR?: 9 টি ধাপ (ছবি সহ)

ভিডিও: একটি পাইতে TinyLiDAR?: 9 টি ধাপ (ছবি সহ)
ভিডিও: Kolite Poyda Hoyese| কলিতে পয়দা হয়েছে| কলির কীর্ত্তণ (লালন) Fakir Saheb| ফকির সাহেব 2024, অক্টোবর
Anonim
একটি পাই উপর TinyLiDAR?
একটি পাই উপর TinyLiDAR?

আবারো স্বাগতম!

আচ্ছা এখন আপনি tinyLiDAR এবং আপনার Arduino- এর সাথে কিছু মানসম্মত সময় কাটিয়েছেন - আপনার রাস্পবেরি পাই হয়তো কিছুটা একা লাগছে;)

পাই এর একটি I2C পোর্ট আছে? তাহলে কেন এটিকে সংযুক্ত না করে সেখানে চেষ্টা করুন?! ভাল পরিকল্পনা, কিন্তু যদি আপনি ইতিমধ্যেই চেষ্টা করেছেন - আপনি লক্ষ্য করেছেন যে ডেটা কিছুটা অদ্ভুত দেখায়।

হ্যাঁ, পাই ইতিমধ্যেই 1.8K পুল-আপ তৈরি করেছে তাই সার্কিট থেকে 4.7K পুল-আপ পেতে আপনাকে tinyLiDAR এ I2C প্যাড কাটাতে হবে-বিস্তারিত জানার জন্য রেফারেন্স ম্যানুয়াল দেখুন। কিন্তু অদ্ভুত তথ্যের কারণ এটি নয়।

এটা কারণ pi এর I2C বাস ঠিক স্পেকের উপর নির্ভর করে না। ব্রডকম চিপ সেটের কারণে পাই প্রথম চালু হওয়ার পর থেকে এটি এরকম হয়েছে। প্রথম থেকেই তারা "ঘড়ি প্রসারিত" নামে একটি I2C বৈশিষ্ট্যকে সঠিকভাবে সমর্থন করেনি।

আপনি এই h/w বাগ সম্পর্কে আরো পড়তে পারেন এখানে।

ধাপ 1: ঘড়ি প্রসারিত কি?

ঘড়ি প্রসারিত কি?
ঘড়ি প্রসারিত কি?

আপনি হয়তো জানেন, I2C বাসে wire টি তার রয়েছে। এগুলি হল ঘড়ি (এসসিএল), ডেটা (এসডিএ) এবং সাধারণ স্থানের জন্য। ঘড়ি এবং ডেটা লাইনগুলি ওপেন-কালেক্টর/ওপেন-ড্রেন টাইপের যার অর্থ হল তাদের একটি যুক্তি উচ্চতর করার জন্য একটি ইতিবাচক সরবরাহ রেলের সাথে সংযুক্ত পুল-আপ প্রতিরোধক প্রয়োজন। একটি যুক্তি কম পেতে, বাসের যে কোনও ডিভাইস লাইনটিকে সাধারণ স্থলে টেনে আনতে পারে।

I2C স্ট্যান্ডার্ড অনুসারে, মাস্টার ডিভাইসটি হল যেটি এসসিএল লাইনে ক্লক সিগন্যাল সরবরাহ করে কিন্তু যদি এই রেট খুব দ্রুত হয় তবে স্লেভ ডিভাইসটিকে কেবল ঘড়ির লাইন ধরে রাখা পর্যন্ত এটিকে ধীর করার অনুমতি দেওয়া হয় যতক্ষণ না এটি মোকাবেলা করার জন্য প্রস্তুত থাকে। তথ্যের সাথে। একেই আমরা বলি ‘ক্লক স্ট্রেচিং’।

আনুষ্ঠানিকভাবে, I2C স্ট্যান্ডার্ডে ক্লক স্ট্রেচিং একটি alচ্ছিক বৈশিষ্ট্য হিসেবে তালিকাভুক্ত ছিল কিন্তু এটি একটি খুব সাধারণ বৈশিষ্ট্য যা বেশিরভাগ "বুদ্ধিমান" দাসদের জন্য প্রয়োজনীয় যা সেন্সর ডেটা ইত্যাদি প্রদানের জন্য কিছু অতিরিক্ত সময় প্রয়োজন।

ধাপ 2: শূকর যে উড়ে থেকে একটি সামান্য সাহায্য

এই I2C h/w বাগটি মোকাবেলা করার জন্য, আমরা "পিগপিও" নামে একটি সুন্দর ছোট বিনামূল্যে লাইব্রেরি পেয়েছি। এটি সি -তে লেখা একটি খুব জনপ্রিয়, দ্রুত এবং হালকা ওজনের লাইব্রেরি। লাইব্রেরীটি I2C পোর্টগুলিকে GPIO এর মতই আচরণ করে এবং এর ফলে I2C ক্লক স্ট্রেচিং বাগকে বাইপাস করেছে। পাইয়ের সমস্ত সফ্টওয়্যারের মতো, পিগপিও লাইব্রেরি কেবল একটি সহজ "অন্তর্ভুক্ত" দূরে তাই চলুন!

ধাপ 3: TL; DR সংস্করণ

সেটআপ PiEnable এসএসএইচ পুটি দিয়ে লগইন করুন পিগপিও লাইব্রেরি ইনস্টল করুন

চ্ছিক:

WinSCP দিয়ে সাবলাইম টেক্সট সেটআপ করুন

ধাপ 4: ইনস্টলেশন

স্থাপন
স্থাপন

আমাদের রাস্পবেরি পাই 3 এর জন্য, আমরা স্ট্যান্ডার্ড নিউ আউট অফ দ্য বক্স সফটওয়্যার (NOOBS লাইট v2.4) অপারেটিং সিস্টেম ব্যবহার করেছি। এটিতে পাইথনের একটি ডিফল্ট সংস্করণ রয়েছে যা ইতিমধ্যে আমাদের জন্য কোড করার জন্য প্রস্তুত। আপনি এখান থেকে ওএস ডাউনলোড করতে পারেন।

একবার মাইক্রো এসডি কার্ডে ইনস্টল করার পরে আপনাকে একটি কীবোর্ড এবং মনিটর সংযুক্ত করতে হবে যাতে আপনি প্রথমবার পাইতে লগইন করতে পারেন:

ব্যবহারকারীর নাম: pi পাসওয়ার্ড: রাস্পবেরি

তারপর আপনি এই কমান্ড দিয়ে একটি নিরাপদ শেল সার্ভার (SSH) শুরু করতে পারেন:

sudo systemctl ssh সক্ষম করে

পরবর্তীতে আমাদের আপনার নেটওয়ার্কে পাই এর আইপি ঠিকানা লাগবে যাতে আমরা পুটি দিয়ে লগইন করতে পারি। এটি পেতে, কেবল টাইপ করুন:

হোস্টনাম -আমি

এবং একটি IPv4 ফরম্যাট ঠিকানা দেখুন (আমাদের সেটআপের জন্য এটি ছিল: 192.168.0.27)

উপরের পদক্ষেপগুলি পাইকে "হেডলেস" চালানোর অনুমতি দেবে যার অর্থ এই কীবোর্ডে আপনাকে আর টাইপ করতে হবে না এবং ভিডিও মনিটরের আর প্রয়োজন নেই। আমরা একটি নিরাপদ SSH সংযোগের মাধ্যমে নেটওয়ার্কের মাধ্যমে লগ ইন করব। উপরের কমান্ডটি এসআইএস সার্ভারকে প্রতিবার পাই চালু করার সময় স্বয়ংক্রিয়ভাবে চালু করতে দেয়। আমরা কোডিং করার সময় এটি আমাদের জন্য সুবিধাজনক কিন্তু পরে এটি একটি নিরাপত্তা ঝুঁকি হতে পারে (প্যারানয়েড হওয়া ভাল) তাই যখন আপনি প্রস্তুত থাকবেন, আপনি এই কমান্ডটি ব্যবহার করে এই অটো স্টার্ট এসএসএইচ বৈশিষ্ট্যটি অক্ষম করতে পারেন:

sudo systemctl ssh নিষ্ক্রিয় করুন

এই কমান্ডটি অবশ্যই pi এর সাথে সংযুক্ত কীবোর্ডে টাইপ করা উচিত।

PuTTY হল একটি টার্মিনাল প্রোগ্রাম যা পিসি থেকে pi এ কমান্ড ইস্যু করার জন্য প্রয়োজনীয় তাই আপনাকে এখান থেকে সর্বশেষ কপিটি সংগ্রহ করতে হবে।

PuTTY ইনস্টল করুন এবং শুরু করুন। আপনাকে হোস্ট নেম এন্ট্রিতে উপরে থেকে আইপি ঠিকানা টাইপ করতে হবে এবং ডিফল্ট এসএসএইচ সেটিংস ব্যবহার করতে হবে। সেশনটি আপনার যেকোনো নাম দিন এবং সেভ চাপুন। তারপর লোড চাপুন এবং একটি সেশন শুরু করতে খুলুন ক্লিক করুন।

এটি আপনাকে পাই এর জন্য লগইন স্ক্রিনে নিয়ে যেতে হবে। আপনার একই ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করুন যা আপনি আগে ব্যবহার করেছিলেন।

ধাপ 5: পিগপিও ইনস্টল করুন

এখন, এর পরে আমাদের একমাত্র জিনিসটি ইনস্টল করতে হবে তা হল পিগপিও লাইব্রেরি এবং আমরা নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এটি করতে পারি।

টিপ: আপনি কেবল [ctrl+c] অনুলিপি করতে পারেন এবং [মাউস ডান ক্লিক] পটি টার্মিনালে পেস্ট করতে পারেন

sudo apt- আপডেট পান

sudo apt-get pigpio python-pigpio python3-pigpio ইনস্টল করুন

ধাপ 6: চ্ছিক: দেব সিস্টেম সেটআপ

Ptionচ্ছিক: দেব সিস্টেম সেটআপ
Ptionচ্ছিক: দেব সিস্টেম সেটআপ

তাই এখানে একটি টিপস যা আপনার কোড ডেভেলপমেন্ট বিশ্বে কিছু সময় বাঁচাতে সাহায্য করতে পারে। আমরা সত্যিই ইউনিক্স ভিত্তিক পাঠ্য সম্পাদককে ঘৃণা করি। ইউজার ইন্টারফেসটি সাধারণত অগোছালো এবং ফন্টগুলি স্তন্যপান করে। GNU ন্যানো প্রায় সহনীয় কিন্তু কোনটিই SublimeText এর মতো পরিমার্জিত নয় যা আপনি এখান থেকে ডাউনলোড করতে পারেন

আমাদের একটি উইন্ডোজ ভিত্তিক উন্নয়ন পরিবেশ আছে এবং যখনই সম্ভব এই পাঠ্য সম্পাদক ব্যবহার করতে ভালোবাসি। সুতরাং আপনার টিপসটি হল আপনার সিস্টেম সেটআপ করা যাতে এই উইন্ডোজ ডেস্কটপে এই পেশাদার টেক্সট এডিটরটি সরাসরি আপনার হেডলেস পাইতে কোড করতে পারে।

কিভাবে? WinSCP নামে একটি ফ্রি অ্যাপ ব্যবহার করে যা আপনি এখান থেকে ডাউনলোড করতে পারেন

ধাপ 7: WinSCP সেট আপ করা

WinSCP সেট আপ করা হচ্ছে
WinSCP সেট আপ করা হচ্ছে
WinSCP সেট আপ করা হচ্ছে
WinSCP সেট আপ করা হচ্ছে

WinSCP হল একটি নিরাপদ ফাইল ট্রান্সফার প্রোগ্রাম যা আপনার rpi- এ উপস্থিত ফাইলগুলির গ্রাফিক্যাল উপস্থাপনা দেয় যেমন আপনি আপনার উইন্ডোজ পিসিতে ফাইল ম্যানেজারে দেখতে পান।

তাই এগিয়ে যান এবং উপরের দুটি প্রোগ্রাম ইনস্টল করুন।

পরবর্তীতে আপনাকে সেগুলি সঠিকভাবে কাজ করার জন্য কয়েকটি সমন্বয় করতে হবে।

WinSCP- এর জন্য, আপনি নতুন সাইটে ক্লিক করতে পারেন। আমরা ডিফল্ট SFTP সেটিংস ব্যবহার করব এবং আপনাকে শুধুমাত্র আপনার পাই এর IP ঠিকানা (হোস্ট নামের জন্য) এবং লগইন নাম (ব্যবহারকারীর নাম) লিখতে হবে। আপনি চাইলে পাসওয়ার্ড খালি রেখে দিতে পারেন - প্রতিবার লগইন করার সময় এটি আপনাকে পাসওয়ার্ডের জন্য অনুরোধ করবে।

পরবর্তী, উন্নত বোতামটি ক্লিক করুন এবং তারপরে পরিবেশ শেল সেটিংসের জন্য বাম দিকে ক্লিক করুন। ডান দিকে "সুডো সু -" বিকল্পের নিচে "ডিফল্ট" টান পরিবর্তন করুন। যখন আপনি SublimeText থেকে save চাপবেন তখন এটি অনুমতি ছাড়াই আপনার পাইতে পরিবর্তনগুলি লিখতে দেবে।

WinSCP- এ ডিফল্ট এডিটর হিসেবে SublimeText সেট করুন

এটি করার জন্য, WinSCP লগইন সেটিংস স্ক্রিনে সরঞ্জাম বোতামে ক্লিক করুন যেখানে আপনি আপনার নিউসাইট ডায়ালগটি শুরু করেছিলেন। দুটি স্ক্রিন শট দেখায় যে এটি কীভাবে কনফিগার করা হয়েছে, তবে মূলত আপনি সম্পাদকদের পছন্দ কনফিগার করতে ক্লিক করবেন এবং একটি সম্পাদক যুক্ত করবেন যা একটি বহিরাগত সম্পাদক হবে। আপনি তারপর.exe ফাইলটি ব্রাউজ করতে পারেন যেখানে আপনার কম্পিউটারে এই সম্পাদকটি অবস্থিত।

ধাপ 8: (w) কোড পাওয়া

(w) কোড পাওয়া
(w) কোড পাওয়া

একবার হয়ে গেলে, এগিয়ে যান এবং WinSCP এবং PuTTY দিয়ে লগইন করুন।

এখন আমরা সব প্রস্তুত আমরা আমাদের tinyLiDAR কোড শুরু করতে পারি।

আপনার হোম/পাই ডিরেক্টরিতে tinyLiDAR নামে একটি ডিরেক্টরি তৈরি করুন।

আপনি WinSCP স্ক্রিনের ডান পাশে ডান ক্লিক করে এটি করতে পারেন এবং নতুন / ডিরেক্টরি নির্বাচন করুন।

এখন PuTTY টার্মিনালে আপনি টাইপ করতে পারেন

সিডি টি

এবং tinyLiDAR ডিরেক্টরিতে যেতে আপনার কমান্ডকে স্বয়ংক্রিয়ভাবে সম্পন্ন করতে ট্যাব টিপুন।

একবার এখানে নিম্নলিখিত টাইপ করুন:

wget

আমাদের সার্ভার থেকে সরাসরি ফাইল পেতে। আমরা তারপর টাইপ করে তাদের আনজিপ করতে পারি

আনজিপ r

এবং নামটি আবার স্বয়ংসম্পূর্ণ করতে ট্যাব টিপুন

এটি চালানোর জন্য, কেবল টাইপ করুন

পাইথন tlgui.py

এবং আপনার tinyLiDAR pi তে আপনার প্রতিটি কমান্ডের সাড়া দেবে:)

ধাপ 9: শীঘ্রই হ্যাকারদের জন্য নোট

এগিয়ে যান এবং WinSCP এর যেকোনো কোড ফাইলে ডাবল ক্লিক করে হুডের নীচে দেখুন। তারাই.py এক্সটেনশন সহ। ফাইলগুলি সরাসরি আপনার পিসিতে SublimeText এ খুলতে হবে। আপনি যা পছন্দ করেন তা পরিবর্তন করুন এবং তারপরে সেভ টিপুন। আপনার পরিবর্তনগুলি সরাসরি আপনার পাইতে সংরক্ষিত হবে।

প্রস্তুত হলে, আপনি শেষ টাইপ করা কমান্ডের জন্য উপরের তীর কী ব্যবহার করে এটি আবার চালান বা আবার এটি টাইপ করুন এবং এন্টার টিপুন:

পাইথন tlgui.py

আপনি লক্ষ্য করতে পারেন যে টার্মিনাল GUI লেআউটটি Arduino সংস্করণের চেয়ে কিছুটা সুন্দর দেখায়। এটা কারণ PuTTY ইউনিকোড অক্ষর সমর্থন করে, তাই আমরা কিছু অতিরিক্ত কার্সার নিয়ন্ত্রণ অক্ষর ব্যবহার করতে পেরেছি যাতে এটি আরও পরিমার্জিত হয়।

এখানে একটি অতিরিক্ত কমান্ড রয়েছে (আরডুইনো সংস্করণের তুলনায়) যা ক্রমাগত পড়া ফাংশনের জন্য "ডিসি"। এটা চেষ্টা করে দেখুন এবং আপনি কি মনে করেন।

এখানেই শেষ!

পড়ার জন্য ধন্যবাদ এবং পাইতে হ্যাকিং উপভোগ করুন:)

প্রস্তাবিত: