আমি সন্দেহ করি যে ইউনোতে ইউএসবি ইন্টারফেস আপনাকে একটি অনন্য সিরিয়াল নম্বর দেয়। যে কোনও সংখ্যা চিপটিতে আপলোড করা কোডের অংশ হবে যা একাধিক ইউনোর মধ্যে একই হবে।
একটি পদ্ধতির DS2401 "সিলিকন সিরিয়াল নম্বর" চিপ যা ওয়ান তারের ইন্টারফেস ব্যবহার করে। এর জন্য কেবল একটি ফ্রি পিন এবং কিছু কোড প্রয়োজন (কোডটি সম্ভবত সমস্যা হবে)।
স্বল্পতম অনুপ্রেরণীয় পদ্ধতি এবং সম্ভবত সবচেয়ে নির্ভরযোগ্য হ'ল কেবল কোডটি পুনরায় পড়া এবং এটির যোগফলটি পরীক্ষা করা check আমি আমার চিপ সিগনেচার ডিটেক্টর দিয়ে ঠিক তেমনটাই করি । তবে এটি কেবল বুটলোডার স্বাক্ষর সনাক্ত করে (বর্তমানে লিখিত হিসাবে)। মোটামুটি ছোটখাটো পরিবর্তন এবং এটি পুরো স্কেচ কোডের MD5-যোগ করতে পারে।
উদাহরণ আউটপুট:
Signature detector.
Written by Nick Gammon.
Signature = 1E 95 0F
Fuses
Low = FF High = D6 Ext = FF Lock = CF
Processor = ATmega328P
Flash memory size = 32768
Bootloader in use: Yes
EEPROM preserved through erase: Yes
Watchdog timer always on: No
Bootloader is 512 bytes starting at 7E00
Bootloader:
7E00: 02 01 02 03 0405 06 07 08 09 0A 0B 0C 0D 0E 0F
7E10: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
7E20: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
7E30: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
...
7FB0: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
7FC0: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
7FD0: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
7FE0: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
7FF0: 02 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
MD5 sum of bootloader = 56 72 75 2D 5D B5 0D BA 25 10 DF BE 87 D2 A1 27
এমডি 5 যোগ (শেষ লাইন) কার্যকরভাবে সেই নির্দিষ্ট বুটলোডারের স্বাক্ষর। আসলে সবচেয়ে সাম্প্রতিক সংস্করণ এগুলি একটি টেবিলটিতে দেখায়:
MD5 sum of bootloader = FB F4 9B 7B 59 73 7F 65 E8 D0 F8 A5 08 12 E7 9F
Bootloader name: optiboot_atmega328
সুতরাং আপনি যা করতে পারেন তা হল, স্কেচ আপলোড করার সময়, হেক্স কোডের একটি MD5 যোগ তৈরি করুন। এটি করার মোটামুটি সহজ উপায় আছে। তারপরে আপনি আপনার উত্স কোডে একটি "গিট ট্যাগ" অপারেশন করতে পারেন এবং তারপরে (কিছু স্বয়ংক্রিয় বা ম্যানুয়াল প্রক্রিয়া ব্যবহার করে) মনে রাখবেন যে একটি নির্দিষ্ট মুহূর্তে হেক্স কোডের একটি নির্দিষ্ট MD5 যোগগুলি স্কেচ কোডকে উপস্থাপন করে।
কিছু ধরণের ডাটাবেস যেমন:
Chip: Uno
MD5 sum: D8 8C 70 6D FE 1F DC 38 82 1E CE AE 23 B2 E6 E7
Sketch: My_robot_sketch_42.ino
Git tag: version666
বোর্ড থেকে উত্সটি সনাক্ত করার জন্য, আপনি কোডটির MD5 যোগটি স্থাপন করুন (এটি বোর্ড থেকে ফিরে পড়ে) এবং তারপরে এটি আপনার ডাটাবেসে সন্ধান করুন।