গ্রহণ করে, আমি Arduino IDE এর সাথে “ব্লু পিল” STM32 মডিউল ব্যবহার সম্পর্কে কথা বললাম। আমি Arduino আইডিই একটি বিশাল ফ্যান নই, তবে আমি স্বীকার করব এটি সহজতর করা সহজ, যা সহজ জিনিসগুলির জন্য এটি দুর্দান্ত করে তোলে।
আমি সাধারণভাবে ইন্টিগ্রেটেড অ্যাডভান্সমেন্ট এনভায়রনমেন্টস (আইডিই) এর বিশাল ফ্যান নই। আমি তাদের অনেকগুলি ব্যবহার করেছি, বিশেষ করে যখন তারা শক্তভাবে টুলের সাথে সংযুক্ত থাকে তখন আমি সেই সময়টি ব্যবহার করার চেষ্টা করছি। তবে যখন আমি বিশেষ কিছু করছি না, তখন আমি শুধু ইএমসিতে আমার কোড রচনা করতে ঝোঁক। এটা সম্পর্কে বিশ্বাস করা, আমি মনে করি আমি সত্যিই আমাকে সাহায্য করার সরঞ্জাম থাকলে আমি সত্যিই একটি আইডিই মনে করি না। তবে এটি যদি কেবল একটি পাঠ্য সম্পাদক এবং কয়েকটি কমান্ড উপস্থাপিত হয় তবে আমি Emacs থেকে বা আমার পছন্দের আরও একটি সম্পাদক করতে পারি। আপনার পছন্দের আইডিই যে সম্ভাবনার সম্ভাবনাগুলি যতটা সম্পাদনা করার পাশাপাশি ব্যক্তিগতকরণ হিসাবে ইএমএসিএস শূন্য কাছাকাছি থাকে। এমনকি যদি আপনি Emacs পছন্দ করেন না, তবে কেন এমন একটি সম্পাদক আবিষ্কার করবেন যদি এটি করার ক্ষেত্রে কোনও উপকার নেই?
অবশ্যই, Arduino এবং পাশাপাশি অন্যান্য কাঠামোর সাথে অন্যান্য সরঞ্জামগুলি ব্যবহার করার পাশাপাশি আমি তাদের দিকে তাকানোর সিদ্ধান্ত নিয়েছি। সব পরে, এটি Arduino কোড বিকাশ কতটা কঠিন হতে পারে? আপনি যদি সরাসরি পঞ্চ লাইনে লাফাতে চান তবে আপনি নীচের ভিডিওটি পরিদর্শন করতে পারেন।
প্রস্থান…
এটি সক্রিয় হয়ে যায়, Arduino আইডিই একটি বেয়ার-হাড়ের সম্পাদক সরবরাহ করার পাশাপাশি কয়েক কমান্ড লাইন সরঞ্জামগুলি উপস্থাপনের চেয়ে অনেক বেশি চুক্তি করে। এটা একইভাবে একটি অত্যন্ত convoluted বিকাশ প্রক্রিয়া পরিচালনা করে। বিকাশ প্রক্রিয়াটি আপনার ডেটাটির সাথে একসাথে একটি দুর্দান্ত চুক্তি যোগ দেয়, আপনি যা করছেন তা বিশ্বাস করে তার উপর ভিত্তি করে শিরোনাম যোগ করে, পাশাপাশি সাধারণত একটি বিশাল ফাইল কম্পাইল করে, যতক্ষণ না আপনি আপনার বিল্ডে .cpp বা .c তথ্যটি স্পষ্টভাবে অন্তর্ভুক্ত করেছেন।
এর মানে কেবল আপনার আদর্শ Arduino কোডটি অনুলিপি করা হচ্ছে (আমি স্টেট স্কেচকে অপছন্দ করি) আপনাকে কোনও বৈশিষ্টসূচক কম্পাইলারের সাথে বিকাশ করতে পারি না। অনেকগুলি মেকফিল-ভিত্তিক সমাধান রয়েছে, তবে একইভাবে একটি টুলটি প্ল্যাটফর্ম হিসাবে বলা হয়েছে যা Arduino সহ এম্বেডেডেড প্ল্যাটফর্মগুলির গ্রেট ডিলগুলি নির্মাণের জন্য একটি সাধারণ উদ্দেশ্য সমাধান হতে হবে।
Platformio সম্পর্কে
যদিও প্ল্যাটফর্মও একটি আইডিই বলে ঘোষণা করে তবে এটি সত্যিই ওপেন সোর্স এটম এটোর এ্যাটোরের জন্য একটি প্লাগইন। যাইহোক, একইভাবে অন্যান্য আইডিসের একটি বড় চুক্তি জন্য প্লাগিন আছে। আগ্রহজনকভাবে যথেষ্ট, এটি এমনকি EMACS সমর্থন করে। আমি বুঝতে পারছি না সবাই Emacs প্রশংসা করে না, তাই আমি অন্যান্য বিকল্প কয়েকটি তদন্ত করার সিদ্ধান্ত নিয়েছি। আমি ভিম সম্পর্কে কথা বলছি না, হয়।
আমি দুটি আইডিসের সাথে পরীক্ষা করার আহ্বান জানিয়েছি: এটম পাশাপাশি মাইক্রোসফ্ট ভিসুয়াল স্টুডিও কোড। যেহেতু Platformio তাদের 2.0 সংস্করণটি পূর্বরূপে রয়েছে, তাই আমি এটি চেষ্টা করার সিদ্ধান্ত নিয়েছি। আপনি বিস্মিত হতে পারেন যে আমি মাইক্রোসফটের কোড টুলটি ব্যবহার করছি। বিস্ময়করভাবে, এটি লিনাক্সে সঞ্চালিত হয় এবং প্লাগিনের সাথে অনেকগুলি জিনিস সমর্থন করে, যার মধ্যে একটি Arduino মডিউল সহ, প্ল্যাটফর্মও সহ। এটি একটি এমআইটি লাইসেন্সের অধীনে উৎস হিসাবেও দেওয়া হয়। আপনি দেখতে পারেন হিসাবে দুটি সম্পাদক সত্যিই একটি মহান চুক্তি তাকান।
Platformio Arduino থেকে ESP82666 পর্যন্ত Raspberry PI থেকে Arduino থেকে Staggering সংখ্যা সমর্থন করে। একইভাবে বিভিন্ন ফ্রেমওয়ার্ক পাশাপাশি আইডিস সমর্থন করে। আপনি যদি আমার মতো হন তবে কমান্ড লাইনের মতোই আপনি প্ল্যাটফর্মও কোরটি ব্যবহার করতে পারেন যা কমান্ড লাইন চালিত।
আসলে, প্ল্যাটফর্মও সম্পর্কে আপনি প্রথমটি প্রথম বিজ্ঞপ্তিটি হল এটি হল এটি একটি GUI টুল বা কমান্ড লাইন সরঞ্জাম কিনা তা নির্বাচন করতে পারে না। আমি আইডিই পছন্দের কয়েকটি সন্দেহ করি। উদাহরণস্বরূপ, কোডের সাথে আপনাকে শেল প্রম্পটে অভিক্ষেপ প্রারম্ভিক সরঞ্জামটি চালাতে হবে। অনুমিত, আপনি কোড ভিতরে একটি শেল খুলতে পারেন, তবে এটি এখনও একটি কমান্ড লাইন। এমনকি প্ল্যাটফর্মও আইডিই (প্রকৃতপক্ষে, ATOM) তে, Arduino থেকে MBER এর ব্লু পিল ফ্রেমওয়ার্ক পরিবর্তন করা একটি ইনআই ডেটা চালু করার পাশাপাশি এটি পরিবর্তন করার প্রয়োজন। একটি FRDM-kl46 এর জন্য আপলোড পথ সেট করা ঠিক একই ধরনের পরিবর্তন প্রয়োজন।
এটা কি সহজ?
আমাকে ভুল না। আমি ব্যক্তিগতভাবে একটি তথ্য সম্পাদনা বা একটি প্রম্পট থেকে একটি কমান্ড issuing মনে রাখবেন না। যাইহোক, মনে হচ্ছে এই ধরনের টুলটি প্রধানত এমন কাউকে চর্বি দেবে। আমি কমান্ড লাইন সরঞ্জাম বিদ্যমান যে পছন্দ। কিন্তু যখন কিছু পরিবর্তন একটি GUI তে সঞ্চালিত হয় তখন এটি একটি অদ্ভুত বলে মনে হয় এবং কিছু কমান্ড লাইন থেকে কিছু করা হয়।
যে fixable, অবশ্যই। যাইহোক, আমার আরো একটি অভিযোগ আছে যা আমি ভয়েসিংয়ের জন্য দরিদ্র মনে করি কারণ আমার কাছে অনেক ভাল সমাধান নেই। প্ল্যাটফর্মও অনেক কিছু করে। তত্ত্বের মধ্যে, এটি এর স্ট্যামিনা। আমি আমার কোডটি রচনা করতে পারি না ঠিক যেমন MBER লাইব্রেরিগুলি লিখিত বা ARDUINO সরঞ্জামগুলি আমার সোর্স কোডটি মার্জ করতে পারে। প্ল্যাটফর্মও ডাউনলোডের পরে আমি এমন একটি টুল চেইন সেট আপ করতে হবে না যা আমি এটি ব্যবহার করি।
যে কাজ করে এটা সত্যিই মহান। সমস্যা যখন এটি না হয়। উদাহরণস্বরূপ, প্ল্যাটফর্মওর পুরোনো সংস্করণে, আমি একটি ভিন্ন লক্ষ্যমাত্রার জন্য বিকাশের জন্য MBER লাইব্রেরিগুলি পেতে অসুবিধা ছিলাম। আমি পাশাপাশি সমস্যাটি আবিষ্কার করেছি, তবে এটি সহজ ছিল না। আমি পাশাপাশি পরিচালিত টুলচেন উন্নত ছিলপ্রক্রিয়া, আমি ঠিক কিভাবে সমস্যা সমাধান করতে হবে ঠিক বুঝতে পারতাম।
শেষ পর্যন্ত, খুব, আপনি সমস্যা সমাধান করতে হবে। Platformio লক্ষ্য চলন্ত লক্ষ্য। প্রতিটি সময় Arduino আইডিই বা Mbed কাঠামো বা অন্য কিছু পরিবর্তন, একটি মহান সম্ভাবনা আছে এটি কিছু বিরতি হবে। যখন এটি করে, তখন ডিজাইনাররা আপনার জন্য এটি মেরামত না হওয়া পর্যন্ত এটি মেরামত করার জন্য আপনাকে এটি মেরামত করতে হবে। যদি আপনি এটি করতে পারেন, এটি সময় একটি ব্যয়। তবে প্ল্যাটফর্মও সম্পর্কে সবচেয়ে বেশি চিন্তা থাকবে এমন লোকেরা সন্দেহ করবে যে এটি ভেঙ্গে গেলে এটি মেরামত করতে সক্ষম হবে।
শেষের সারি
আপনি যদি প্রোগ্রাম বিল্ডিং প্রোগ্রামের একটি ভিন্ন পদ্ধতির সাথে পরীক্ষা করতে চান – পাশাপাশি আরো গুরুত্বপূর্ণভাবে, বিকাশের পাশাপাশি বিকাশের একটি একক পদ্ধতি – আপনাকে প্ল্যাটফর্মও একটি স্পিন সরবরাহ করতে হবে। যখন এটি কাজ করে, এটি ভাল কাজ করে। এখানে আপনি শুরু করার জন্য কয়েকটি লিঙ্ক আছে:
প্ল্যাটফর্মও আইডিই (ATOM প্রয়োজন)
প্ল্যাটফর্মও কোর (যদি আপনি একটি আইডিই প্যাকেজ সেট আপ করেন তবে প্রয়োজন নেই)
ভিসুয়াল স্টুডিও কোড (আইডিই থেকে প্ল্যাটফর্মও ইনস্টল করুন)
নিচের লাইন, যখন এটি কাজ করে, এটি দুর্দান্ত কাজ করে। যখন এটি এটি বেদনাদায়ক না হয়। আপনি এটা ব্যবহার করা উচিত? এটা সহজ, যে সম্পর্কে কোন প্রশ্ন নেই। কোড সঙ্গে ইন্টিগ্রেশন বেশ সংক্ষিপ্ত। পরমাণু ইন্টিগ্রেশন – নিখুঁত না – অনেক বেশি seamless হয়। যাইহোক, যদি আপনি কমান্ড লাইন সরঞ্জামগুলি ব্যবহার করতে চান তবে এটি প্রায় কোন ব্যাপার না। আপনি চান যে কোন সম্পাদক ব্যবহার করুন, পাশাপাশি আমি যে মত। আপনি যদি এটি ব্যবহার করেন তবে এটিই এটিকে বিরতি না করে তবে সম্ভবত এটি কোনও ব্যাকআপ প্ল্যান আছে।