মূল কনটেন্টে যান
এআই টিউটোরিয়াল

১৯৯১–৯৫ সালের জিপের জন্য Arduino-ভিত্তিক OBD1 স্ক্যানার তৈরি করুন

সামঞ্জস্যপূর্ণ ১৯৯১–৯৫ সালের Jeep ও Chrysler OBD1 ইঞ্জিন কম্পিউটারের জন্য স্বল্পমূল্যের Arduino Nano ইন্টারফেস xj-scanner কীভাবে সংযোজন ও পরিচালনা করতে হয় তা শিখুন। এই নির্দেশিকায় নিরাপত্তা পরীক্ষা, তারের সংযোগের প্রস্তুতি, সফটওয়্যার ইনস্টলেশন, ফার্মওয়্যার আপলোড, ত্রুটি-কোড পড়া, লাইভ ডেটা লগ করা, বিল্ট-ইন পরীক্ষা এবং সমস্যা সমাধানের সংস্থান অন্তর্ভুক্ত রয়েছে।

১৯৯১–৯৫ সালের জিপের জন্য Arduino-ভিত্তিক OBD1 স্ক্যানার তৈরি

xj-scanner কী?

xj-scanner একটি সাশ্রয়ী 5 V Arduino Nano ব্যবহার করে ল্যাপটপকে 1991–95 সালের Jeep-এর ইঞ্জিন কম্পিউটারের সঙ্গে সংযুক্ত করে। হুডের নিচে থাকা ডায়াগনস্টিক কানেক্টর থেকে তিনটি তার Nano-তে যায়, আর Nano USB-এর মাধ্যমে ল্যাপটপের সঙ্গে যুক্ত হয়।

সংযুক্ত হলে, এই প্রকল্পটি ত্রুটি কোড ও ইঞ্জিনের লাইভ ডেটা পড়তে, গাড়ি চালানোর সময় তথ্য লগ করতে এবং ইঞ্জিন কম্পিউটারের অন্তর্নির্মিত অ্যাকচুয়েটর পরীক্ষা চালাতে পারে। Claude Code, Codex বা অন্য কোনো কোডিং এজেন্ট আপনাকে সেটআপের ধাপগুলো অনুসরণ করতে এবং রিপোজিটরির নির্দেশনা বুঝতে সাহায্য করতে পারে।

প্রকল্পটি 4.0L ইঞ্জিন এবং 56030117 কম্পিউটার পার্ট নম্বরযুক্ত 1994 Jeep Cherokee XJ-তে তৈরি ও পরীক্ষা করা হয়েছে। 1991–95 সালের অন্যান্য Chrysler ও Jeep SBEC/OBD1 কম্পিউটার একই রকম হতে পারে, তবে সামঞ্জস্য নিশ্চিত নয়। হার্ডওয়্যার সংযুক্ত করার আগে নিজের ডায়াগনস্টিক কানেক্টর অবশ্যই মেপে নিন।

Jeep ডায়াগনস্টিক স্ক্যানার সেটআপ

প্রধান বৈশিষ্ট্য

  • ইঞ্জিন কম্পিউটারের ত্রুটি কোড পড়ে।
  • লাইভ ইঞ্জিন প্যারামিটার ও সেগুলোর স্কেল করা মান দেখায়।
  • pc/logs/-এর অধীনে ফাইলে লাইভ ডেটা লগ করে।
  • ইঞ্জিন কম্পিউটারের অন্তর্নির্মিত অ্যাকচুয়েটর পরীক্ষাগুলো সমর্থন করে।
  • গাড়ি ছাড়াই ল্যাপটপের সফটওয়্যার পরীক্ষা করার জন্য সিমুলেটেড Jeep মোড রয়েছে।
  • প্রধান ব্রিজ ফার্মওয়্যারের পাশাপাশি Nano তারের ত্রুটি নির্ণয়ের স্কেচ রয়েছে।
  • লগের সারাংশ তৈরি, প্যারামিটার স্ক্যান এবং কম্পিউটার পার্ট নম্বর যাচাইয়ের সহায়ক টুল রয়েছে।
  • নির্দেশিত ইনস্টলেশন ও সমস্যা সমাধানের জন্য এজেন্ট-কেন্দ্রিক প্লেবুক রয়েছে।

যে হার্ডওয়্যার লাগবে

প্রত্যাশিত হার্ডওয়্যার খরচ প্রায় $15। শুরু করার আগে নিচের উপকরণগুলো সংগ্রহ করুন:

  • USB-C বা mini-USB এবং উপযুক্ত কেবলসহ একটি 5 V Arduino Nano ক্লোন।
  • একটি ছোট ব্রেডবোর্ড।
  • কয়েকটি ব্রেডবোর্ড জাম্পার তার।
  • হুডের নিচের কানেক্টর থেকে ল্যাপটপ রাখার স্থান পর্যন্ত পৌঁছানোর মতো লম্বা তিনটি তার।
  • ডায়াগনস্টিক কানেক্টরে বসে এমন তিনটি 1/4-ইঞ্চি পুরুষ স্পেড টার্মিনাল।
  • একটি মাল্টিমিটার।

অত্যন্ত গুরুত্বপূর্ণ নিরাপত্তা সতর্কতা

ইগনিশন চাবি চালু থাকলে ক্যাভিটি 6-এ 12 ভোল্ট থাকে। Arduino বা কোনো স্ক্যানার তার কখনো ক্যাভিটি 6-এ সংযুক্ত করবেন না।

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

কোনো তার সংযোগের আগে মাল্টিমিটার দিয়ে প্রতিটি ক্যাভিটি পরীক্ষা করুন। আপনার মাপ docs/connector.md-এর প্রত্যাশিত রিডিংয়ের সঙ্গে তুলনা করুন। রিপোজিটরিতে পরীক্ষিত তারের সংযোগ অনুযায়ী Nano-এর D10, D11 এবং GND যথাক্রমে ডায়াগনস্টিক প্লাগের ক্যাভিটি 4, 3 এবং 2-তে যুক্ত হয়, তবে প্রথমে আপনার গাড়ির কানেক্টর যাচাই করতেই হবে।

বিকল্প 1: AI কোডিং এজেন্টকে সেটআপে সাহায্য করতে দিন

ইনস্টলেশনের সবচেয়ে সহজ উপায় হলো Claude Code, Codex বা অন্য কোনো রিপোজিটরি-সচেতন কোডিং এজেন্ট ব্যবহার করা।

  1. ল্যাপটপে xj-scanner রিপোজিটরি ক্লোন করুন।
  2. আপনার কোডিং এজেন্টে রিপোজিটরিটি খুলুন।
  3. জিজ্ঞেস করুন: Help me hook this up to my Jeep.
  4. একবারে একটি করে নির্দেশনা অনুসরণ করুন।

এজেন্ট AGENTS.md এবং .claude/skills/-এর প্লেবুকগুলো পড়তে পারে। এসব নির্দেশনায় সফটওয়্যার সেটআপ, ব্রেডবোর্ড সংযোজন, মিটার দিয়ে কানেক্টরের ক্যাভিটি শনাক্ত করা এবং প্রথম রিডিং নেওয়ার বিষয়গুলো রয়েছে। কোনো নির্দেশনা অস্পষ্ট হলে এগিয়ে যাওয়ার আগে এজেন্টকে সেটি আরও সহজ ভাষায় ব্যাখ্যা করতে বলুন।

বিকল্প 2: xj-scanner নিজে ইনস্টল ও চালান

1. Python পরিবেশ তৈরি করুন

রিপোজিটরির মূল ডিরেক্টরি থেকে একটি ভার্চুয়াল পরিবেশ তৈরি করুন এবং স্ক্যানারের নির্ভরতা ইনস্টল করুন:

python3 -m venv .venv && .venv/bin/pip install -r pc/requirements.txt

2. ডেমো মোডে ল্যাপটপের সফটওয়্যার পরীক্ষা করুন

Jeep-এর সঙ্গে সংযোগের আগে সিমুলেটেড গাড়ির বিরুদ্ধে স্ক্যানার চালান:

.venv/bin/python pc/xj_scan.py --cli DEMO

এতে Arduino বা ইঞ্জিন কম্পিউটার ছাড়াই Python অংশটি কাজ করছে কি না নিশ্চিত হওয়া যায়। ডেমো মোড ব্যর্থ হলে গাড়ির তারের কাজে যাওয়ার আগে ল্যাপটপের সমস্যাটি সমাধান করুন।

3. Arduino CLI ও AVR core ইনস্টল করুন

README-তে Homebrew ব্যবহার করে macOS-এর জন্য নিচের কমান্ডগুলো দেওয়া আছে:

brew install arduino-cli
arduino-cli core install arduino:avr

অন্য অপারেটিং সিস্টেম ব্যবহার করলে সেই প্ল্যাটফর্মের উপযুক্ত পদ্ধতিতে arduino-cli ইনস্টল করুন, তারপর arduino:avr core ইনস্টল করুন।

4. Nano সংযুক্ত ও শনাক্ত করুন

USB-এর মাধ্যমে Arduino Nano-কে ল্যাপটপে সংযুক্ত করুন। এর সিরিয়াল পোর্ট নির্ধারণ করুন, তারপর আপলোড কমান্ডে /dev/cu.usbserial-XXXX-এর জায়গায় প্রকৃত পোর্টটি বসান।

উদাহরণে arduino:avr:nano:cpu=atmega328old বোর্ড শনাক্তকারী ব্যবহার করা হয়েছে, যা অনেক Nano ক্লোনে ব্যবহৃত পুরোনো বুটলোডার কনফিগারেশন নির্বাচন করে।

5. ব্রিজ ফার্মওয়্যার কম্পাইল ও আপলোড করুন

arduino-cli compile --upload -p /dev/cu.usbserial-XXXX --fqbn arduino:avr:nano:cpu=atmega328old arduino/xj_bridge

xj_bridge স্কেচটি Nano-কে ল্যাপটপ স্ক্যানার ও Jeep-এর ইঞ্জিন কম্পিউটারের মধ্যে যোগাযোগের ব্রিজে পরিণত করে।

6. তার যাচাই ও সংযোজন করুন

গাড়ির তার Nano থেকে বিচ্ছিন্ন রেখে মাল্টিমিটার দিয়ে ডায়াগনস্টিক কানেক্টরের ক্যাভিটিগুলো শনাক্ত করুন। কানেক্টরের মাপ, ব্রেডবোর্ডের বিন্যাস এবং তারের বিস্তারিত তথ্যের জন্য রিপোজিটরির docs/ ডিরেক্টরি দেখুন।

পরীক্ষিত গাড়ির তিনটি সিগন্যাল সংযোগ হলো:

  • Nano D10 থেকে ডায়াগনস্টিক কানেক্টরের ক্যাভিটি 4।
  • Nano D11 থেকে ডায়াগনস্টিক কানেক্টরের ক্যাভিটি 3।
  • Nano GND থেকে ডায়াগনস্টিক কানেক্টরের ক্যাভিটি 2।

শুধু এই তালিকার ভিত্তিতে এগিয়ে যাবেন না। আপনার গাড়ির প্রতিটি ক্যাভিটি যাচাই করুন এবং সব তার ক্যাভিটি ৬ থেকে দূরে রাখুন।

৭. ত্রুটির কোড ও লাইভ ডেটা পড়ুন

ফার্মওয়্যার ও যাচাইকৃত তারের সংযোগ প্রস্তুত হলে, ইগনিশন চাবি ON অবস্থায় ঘুরিয়ে চালান:

.venv/bin/python pc/xj_scan.py --cli auto

স্বয়ংক্রিয় মোডে স্ক্যানার প্রথমে ত্রুটির কোড পড়ে, তারপর লাইভ ডেটা সংগ্রহ করে। লগ pc/logs/-এর অধীনে লেখা হয়।

রিপোজিটরির বিন্যাস বোঝা

  • arduino/: প্রধান xj_bridge Nano স্কেচ এবং তার-সংযোগ ডিবাগ করার xj_sniff স্কেচ রয়েছে।
  • pc/: xj_scan.py রয়েছে, যা ত্রুটির কোড, লাইভ ডেটা, লগিং এবং অ্যাকচুয়েটর পরীক্ষা পরিচালনা করে।
  • tools/: লগের সারাংশ তৈরি, প্রতিটি প্যারামিটার পরীক্ষা এবং ইঞ্জিন কম্পিউটারের পার্ট নম্বর যাচাইয়ের সরঞ্জাম রয়েছে।
  • docs/: কানেক্টর, তারের সংযোগ, যোগাযোগ প্রোটোকল, প্যারামিটার, স্কেলিং সূত্র এবং সমস্যা সমাধানের পদ্ধতি নথিভুক্ত করা হয়েছে।
  • .claude/skills/: ধাপে ধাপে অনুসরণযোগ্য প্লেবুক রয়েছে, যা একটি AI এজেন্ট আপনার সঙ্গে ব্যবহার করতে পারে।

মৌলিক কর্মপ্রবাহ

সতর্কতার সঙ্গে প্রথম সেশনটি এই ক্রমে করা উচিত:

  1. Python ও এর নির্ভরতা যাচাই করতে DEMO মোড চালান।
  2. Nano-তে xj_bridge আপলোড করুন।
  3. গাড়ির দিকের তারের সংযোগ বিচ্ছিন্ন করে প্রতিটি কানেক্টর ক্যাভিটি মাপুন।
  4. নথি ব্যবহার করে গ্রাউন্ড ও যোগাযোগের ক্যাভিটি নিশ্চিত করুন।
  5. ব্রেডবোর্ড সার্কিট তৈরি করে প্রতিটি সংযোগ আবার পরীক্ষা করুন।
  6. ইঞ্জিন চালু না করে চাবি ON অবস্থায় ঘুরান।
  7. --cli auto দিয়ে স্ক্যানার চালান।
  8. প্রতিবেদিত ত্রুটির কোড পর্যালোচনা করুন এবং pc/logs/-এ একটি লগ তৈরি হয়েছে কি না নিশ্চিত করুন।

উন্নত পরামর্শ

যোগাযোগ ব্যর্থ হলে ডিবাগ স্কেচ ব্যবহার করুন

arduino/xj_sniff স্কেচটি তারের সংযোগ নির্ণয়ের জন্য অন্তর্ভুক্ত করা হয়েছে। ব্রিজ ইঞ্জিন কম্পিউটারের সঙ্গে যোগাযোগ করতে না পারলে docs/-এর সমস্যা সমাধানের উপকরণের সঙ্গে এটি ব্যবহার করুন। সার্কিটে বিদ্যুৎ থাকা অবস্থায় তারের সংযোগ পরিবর্তন করা এড়িয়ে চলুন।

ড্রাইভ লগের সারাংশ তৈরি করুন

লাইভ ডেটা রেকর্ড করার পর tools/-এর সহায়ক সরঞ্জামগুলো দেখুন। রিপোজিটরিতে এমন একটি লগ-সারাংশ তৈরির সরঞ্জাম রয়েছে, যা দীর্ঘ রেকর্ড পর্যালোচনা সহজ করতে পারে। মূল ডেটা অপরিবর্তিত রাখতে চাইলে কপি করা লগ নিয়ে কাজ করুন।

উপলভ্য প্যারামিটার সতর্কতার সঙ্গে পরীক্ষা করুন

একটি সহায়ক সরঞ্জাম প্রকল্পের পরিচিত প্রতিটি প্যারামিটার পরীক্ষা করতে পারে। এটি ব্যবহারের আগে প্রোটোকল ও প্যারামিটার-সংক্রান্ত নথি দেখুন, যাতে কী অনুরোধ করা হচ্ছে এবং প্রতিটি কাঁচা মান কীভাবে স্কেল করা হয় তা বুঝতে পারেন।

ইঞ্জিন কম্পিউটারের পার্ট নম্বর যাচাই করুন

প্রকল্পটি 56030117 ইঞ্জিন কম্পিউটারে যাচাই করা হয়েছে। তাই অন্য কোনো গাড়ি পরীক্ষা করার সময় দেওয়া পার্ট-নম্বর সহায়কটি ব্যবহার করুন। ভিন্ন SBEC/OBD1 কম্পিউটার একইভাবে কাজ করতে পারে, তবে README-তে এর সমর্থনের নিশ্চয়তা দেওয়া হয়নি।

অ্যাকচুয়েটর পরীক্ষা সতর্কতার সঙ্গে করুন

PC স্ক্যানারে বিল্ট-ইন অ্যাকচুয়েটর পরীক্ষা রয়েছে। এসব পরীক্ষা গাড়ির হার্ডওয়্যার নিয়ন্ত্রণ করতে পারে। তাই নির্দিষ্ট পরীক্ষাটি ভালোভাবে বোঝার পরেই এগুলো চালান; গাড়িটি নিরাপদ অবস্থানে রাখুন এবং চলমান বা বিদ্যুৎযুক্ত কোনো উপাদান যেন আঘাত বা ক্ষতি ঘটাতে না পারে তা নিশ্চিত করুন।

বিস্তারিত স্কেলিং নথি ব্যবহার করুন

docs/ ডিরেক্টরিতে উপলভ্য প্যারামিটার ও স্কেলিং সূত্রের বর্ণনা রয়েছে। কাঁচা রিডিং ব্যাখ্যা করার সময় এটি দেখুন, বিশেষ করে ফুয়েল ট্রিম বিশ্লেষণ করলে বা অন্য কোনো স্ক্যান টুলের মানের সঙ্গে তুলনা করলে।

সমস্যা সমাধানের চেকলিস্ট

  • গাড়ির সংযোগ নির্ণয়ের আগে --cli DEMO কাজ করছে কি না নিশ্চিত করুন।
  • প্রত্যাশিত USB সিরিয়াল পোর্টে Nano দেখা যাচ্ছে কি না যাচাই করুন।
  • সঠিক Nano বুটলোডার নির্বাচন করে ফার্মওয়্যার আপলোড করা হয়েছে কি না নিশ্চিত করুন।
  • তারের রঙের ওপর নির্ভর না করে ডায়াগনস্টিক কানেক্টর মাপুন।
  • ক্যাভিটি ৬-এ কোনো তার সংযুক্ত নেই তা নিশ্চিত করুন।
  • তারের সংযোগের নথির সঙ্গে D10, D11 এবং GND ব্রেডবোর্ড পথ মিলিয়ে দেখুন।
  • বৈদ্যুতিক সেটআপ সঠিক মনে হলেও যোগাযোগ ব্যর্থ হলে xj_sniff ও সমস্যা সমাধানের নির্দেশিকা ব্যবহার করুন।
  • মনে রাখবেন, পরীক্ষিত নয় এমন Chrysler বা Jeep কম্পিউটার 1994 Cherokee পরীক্ষার গাড়ি থেকে ভিন্ন হতে পারে।

উপসংহার

xj-scanner একটি ল্যাপটপ ও Arduino Nano ব্যবহার করে সামঞ্জস্যপূর্ণ Jeep-এর OBD1 ইঞ্জিন কম্পিউটার পরীক্ষা করার কম খরচের উপায়। ডেমো মোড দিয়ে শুরু করুন, মাল্টিমিটার দিয়ে প্রতিটি কানেক্টর ক্যাভিটি যাচাই করুন এবং রিপোজিটরির নথি সতর্কতার সঙ্গে অনুসরণ করুন। প্রকল্পটি GPLv3 লাইসেন্সের অধীন শখের সফটওয়্যার, যা গাড়ির ইলেকট্রনিক্সের সঙ্গে যোগাযোগ করে। তাই এটি নিজ দায়িত্বে ব্যবহার করুন এবং বৈদ্যুতিক নিরাপত্তাকে সর্বোচ্চ অগ্রাধিকার দিন।

প্রকল্পটি ChryslerScanner-এর প্রোটোকল, প্যারামিটার, স্কেলিং ও ত্রুটির কোড-সংক্রান্ত কাজের ওপর ভিত্তি করে তৈরি হয়েছে; ফুয়েল-ট্রিম স্কেলিংয়ের তথ্য নেওয়া হয়েছে বিচ্ছিন্ন করা SBEC কোড থেকে।