সুচিপত্র:

Cryptap: একটি ছন্দ ভিত্তিক ডোর লক: 5 টি ধাপ
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক: 5 টি ধাপ

ভিডিও: Cryptap: একটি ছন্দ ভিত্তিক ডোর লক: 5 টি ধাপ

ভিডিও: Cryptap: একটি ছন্দ ভিত্তিক ডোর লক: 5 টি ধাপ
ভিডিও: CrypTap Bitcoin Maden Kazarak Para Kazanma 2024, নভেম্বর
Anonim
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক
Cryptap: একটি ছন্দ ভিত্তিক ডোর লক

আমি hackaday.com এ দেখেছি এমন বেশ কয়েকটি দরজা-আনলকিং পদ্ধতি দ্বারা অনুপ্রাণিত হয়ে, আমি নিজেরাই একটি তৈরি করার সিদ্ধান্ত নিয়েছি। এই একটি দুই বোতাম ইন্টারফেস আছে; একটি পাসওয়ার্ড জমা দেওয়া শুরু এবং শেষ করার জন্য, এবং অন্যটি আসলে আপনার পাসওয়ার্ডের ছন্দে টোকা। স্ট্যাটাস লাইটও আছে। আমি গত কয়েক মাস ধরে যেসব অংশে ময়লা ফেলেছিলাম সেগুলি ব্যবহার করে এটি সত্যিই সস্তাভাবে তৈরি করতে সক্ষম হয়েছিলাম। শুধুমাত্র মাইক্রোকন্ট্রোলারের জন্য আমাকে অর্থ প্রদান করতে হয়েছিল, যা ছিল $ 21 (https://www.pjrc.com/teensy/), এবং কিছু ছবি ঝুলন্ত তার যা আমি আগে থেকে পেয়েছিলাম।

স্টার ওয়ার্স থিম বা আমার রুমে toোকার জন্য কোনো কিছুতে ট্যাপ করা অনেক মজার। এখন, আমাকে আমার রুম থেকে আবার তালাবদ্ধ করার বিষয়ে চিন্তা করতে হবে না! প্লাস, এটা ভাল এবং geeky বোধ করে।

ধাপ 1: যন্ত্রাংশ এবং সরঞ্জাম

যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ এবং সরঞ্জাম

আমি Teensy বেছে নিয়েছি কারণ এটি আমার প্রথম মাইক্রোকন্ট্রোলার, এবং আমার এখনও প্রোগ্রামার নেই। ম্যাক/উইন্ডোজ/লিনাক্সের সাথে সামঞ্জস্যপূর্ণ, টিনসি ইনস্টল করার জন্য কেবল একটি-মিনিবি ইউএসবি কেবল এবং বিনামূল্যে সফ্টওয়্যার প্রয়োজন। এছাড়াও, হেক্স ফাইল আপলোড করা সত্যিই সহজ; শুধু কম্পাইল, এবং Teensy বোতাম টিপুন।

আমার কাছে এই প্রকল্পের খরচ ছিল $ 21, প্লাস ছবি-ঝুলন্ত তার। রাস্তার অংশগুলি একটি কফি পারকোলারেটর (রিলে, এলইডি, ক্যাপাসিটর) এবং একটি রাউটার (এলইডি, মডুলার জ্যাক, পাওয়ার জ্যাক, ক্যাপাসিটার) থেকে এসেছে। বিনামূল্যে নমুনা ছিল 7805 5-ভোল্ট রেগুলেটর, বোতাম এবং সুইচ। আমি আমার EE ল্যাবের "ভাঙা অংশ" বাক্সে প্রচুর জিনিস পেয়েছি: কলা সংযোগকারী এবং তার, তার, sn754410 ড্রাইভার, একটি চার-পিন হেডার এবং প্রতিরোধক। আমার কাছে একটি অতিরিক্ত ল্যাপটপ চার্জার ছিল যা আমি বিদ্যুতের জন্য ব্যবহার করেছি, এবং একটি অ্যাপল মডেম কেবল যার ট্যাবটি ভেঙ্গে গেছে। অন্যান্য হার্ডওয়্যার: একটি প্রাচীর প্লেট। আমি একটি গরম আঠালো বন্দুক, একটি সোল্ডারিং লোহা, একটি সুই ফাইল এবং একটি পাওয়ার ড্রিল ব্যবহার করেছি, যা বেশ মানসম্মত। আমার ব্যবহৃত সবচেয়ে অস্বাভাবিক জিনিসটি ছিল একটি দীর্ঘ, নমনীয় দখলদার টুল।

ধাপ 2: পূর্ব-বিদ্যমান হার্ডওয়্যার

পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার
পূর্বে বিদ্যমান হার্ডওয়্যার

আমি খুব ভাগ্যবান যে ইতিমধ্যেই অনেক কিছু ইনস্টল করা আছে। আমার রুমটি ADA- অ্যাক্সেসযোগ্য, এবং সেখানে বিভিন্ন পাইপ, বৈদ্যুতিক বাক্স এবং একটি বৈদ্যুতিক দরজা স্ট্রাইক ইতিমধ্যে ইনস্টল করা ছিল। কৌতূহলবশত দরজার স্ট্রাইক অপসারণের সময়, আমি দেখতে পেলাম যে এটি সংযুক্ত ছিল না। আমার ঘরের ভিতরে দরজার আঘাত থেকে একটি খালি প্রাচীরের প্লেট পর্যন্ত একটি পাইপ ছিল এবং সেখান থেকে আরেকটি পাইপ বাইরে একটি খালি প্রাচীরের প্লেট পর্যন্ত ছিল।

ডোর স্ট্রাইক বলছে এটি চালানোর জন্য 24V@3A প্রয়োজন, কিন্তু আমি 19V, 7.9A পাওয়ার সাপ্লাই দিয়ে পেয়েছিলাম। ডোর স্ট্রাইক পোলারাইজড ছিল, তাই নিশ্চিত করুন যে আপনার পোলারিটি সঠিক আছে!

ধাপ 3: সার্কিট

সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট
সার্কিট

দরজার আঘাত নিয়ন্ত্রণ করতে, আমি কফি পারকোলারে পাওয়া রিলে ব্যবহার করেছি। এই রিলেটি চালানোর জন্য 5V টিটিএল এর বেশি প্রয়োজন ছিল, তাই sn754410 টিটিএলকে 19V তে অনুবাদ করার জন্য ব্যবহার করা হয়েছিল, যা রিলেটি চালিত করেছিল। Sn754410 সত্যিই একটি চতুর্ভুজ হাফ-এইচ ড্রাইভার, তাই আমি 3/4 চিপ নষ্ট করছিলাম, কিন্তু আমার কোন পাওয়ার ট্রানজিস্টর ছিল না, তাই আমি এটি ব্যবহার করেছি।

Sn754410 চিপে দুটি VCC পিন আছে, একটি 5V এর জন্য, অন্যটি আপনি যে ভোল্টেজটি বের করতে চান তার জন্য, যা আমার জন্য 19V ছিল। এটি সত্যিই একটি দুর্দান্ত চিপ। আপনি এটি সরাসরি মোটর এবং রিলে চালাতে ব্যবহার করতে পারেন, কারণ এটি প্রতি চতুর্থাংশ চিপে 1A স্যুইচ করতে পারে এবং অন্তর্নির্মিত সুরক্ষা ডায়োড রয়েছে। ডেটশীট দেখে নিন। আমার সার্কিটে, আমি sn754410 কে সরাসরি আমার Teensy এর আউটপুট পিনের সাথে সংযুক্ত করেছি। বোতামগুলি সক্রিয়-কম হিসাবে সংযুক্ত, যা মাইক্রোকন্ট্রোলারদের জন্য খুব সাধারণ। তারা সরাসরি Teensy এর সাথে সংযুক্ত, যার মানে আমাকে সফটওয়্যারে ডিবাউন্সিং করতে হবে। স্ট্যাটাস লাইট একটি 1K ওহম রোধের মাধ্যমে Teensy- এর সাথে সংযুক্ত; বিশেষ কিছু না. সার্কিটটি ক্যাপাসিটার ছাড়াই কাজ করেছিল, তবে আমি সেগুলি যে কোনও ক্ষেত্রেই রেখেছিলাম। মাটিতে 19V এবং 5V উভয় পাওয়ার রেলগুলিতে সুরক্ষা ক্যাপ রয়েছে। Teensy প্রোগ্রাম করার সময়, USB থেকে 5V এসেছিল, কিন্তু যখন এটি নিজে থেকেই চলছিল, তখন ল্যাপটপ পাওয়ার ইট থেকে শক্তি আসে। যখন আমি 7805 রেগুলেটরকে সরাসরি 19V এর সাথে সংযুক্ত করেছিলাম, এটি সত্যিই গরম হয়ে গিয়েছিল, তাই আমি ইনপুট ভোল্টেজ এবং রেগুলেটরে কারেন্ট সীমাবদ্ধ করার জন্য প্রতিরোধক একটি নেটওয়ার্ক স্থাপন করেছি। এটি একটি ক্লজ ছিল, কিন্তু এখন সবকিছু একটি নিয়ন্ত্রণযোগ্য তাপমাত্রায়।

ধাপ 4: এটি একসাথে ওয়্যারিং

এটা একসঙ্গে তারের
এটা একসঙ্গে তারের
এটা একসঙ্গে তারের
এটা একসঙ্গে তারের

Teensy কোন সমস্যা ছিল। এটি পিনের সাথে আসে, তাই আপনি এটি সরাসরি রুটিবোর্ডে প্লাগ করতে পারেন।

আমি ল্যাবের ভাঙা যন্ত্রাংশের বাক্স থেকে লাল (+) এবং কালো (-) কলার তার দিয়ে দরজার স্ট্রাইকে তারের রং-কোড করার সিদ্ধান্ত নিয়েছি। সেখানে কিছু প্লাগ তাদের তার থেকে কাটা ছিল, তাই আমি একটি সোল্ডার পয়েন্ট প্রকাশ করার জন্য কিছু প্লাস্টিক দূরে dremeled। আমি সত্যিই পছন্দ করি কিভাবে ল্যাব কলা প্লাগ একে অপরের মধ্যে প্লাগ করতে পারে। আমি অ্যাপলের ফোন ক্যাবল ব্যবহার করে রুমের বাইরে থাকা বোতাম এবং স্ট্যাটাস লাইটকে টিনসির ভিতরে সংযুক্ত করেছি। যেহেতু একটি দিক ভেঙে গেছে, আমি সেই প্রান্তটি কেটে ফেলেছিলাম এবং ফোর-পিন হেডারে বিক্রি করেছি, এটি গরম আঠালো দিয়ে বন্ধ করে দিয়েছি। এটি আমার রুটিবোর্ডে সুন্দরভাবে প্লাগ করেছে। আমি যে দিকে প্লাগটি রেখেছিলাম তা রাউটার থেকে উদ্ধার করা মডুলার জ্যাকের মধ্যে চলে গেল। চারটি তার ব্যবহার করা হয়েছিল (জিএনডি, স্ট্যাটাস লাইট, স্টার্ট/স্টপ বাটন, কোড বোতাম)। যদি আপনি লক্ষ্য না করেন, আমি প্লাগ এবং সংযোগকারী পছন্দ করি। আমি যে রাউটার থেকে সোয়াইপ করেছি সেই পাওয়ার জ্যাকের সাথে সংযুক্ত পাওয়ার ইট। প্রাচীরের পাইপ দিয়ে তারের থ্রেড করা খুব কঠিন ছিল না, কারণ নমনীয় দখলদার জিনিস। এটা সত্যিই আমার দিন বাঁচিয়েছে।

ধাপ 5: কোড

কোড
কোড
কোড
কোড

আমি আমার কোড মন্তব্য করার চেষ্টা করেছি। মনে রাখবেন যে এটি 1.0 সফ্টওয়্যার, যার অর্থ এটি বাগ-মুক্ত নয়। স্ট্যাটাস লাইট ধীরে ধীরে জ্বলতে শুরু করে। 2. কোড বোতামে আপনার কোডটিতে আলতো চাপুন স্ট্যাটাস লাইট 120 BPM তে জ্বলজ্বল করবে, তাই আপনি চাইলে এটিকে আপনার মেট্রোনোম হিসেবে ব্যবহার করতে পারেন। যাইহোক, ক্রিপট্যাপ প্রোগ্রাম আনুপাতিকভাবে একে অপরের তুলনায় পালস দৈর্ঘ্য পরিমাপ করবে, তাই আপনি আপনার নিজস্ব টেম্পো ব্যবহার করতে পারেন। শুধু নিশ্চিত করুন যে আপনি যথেষ্ট সঠিক! 3. কোড ইনপুট হয়ে গেলে, আবার স্টার্ট/স্টপ বোতাম টিপুন। প্রোগ্রামটি তখন আপনাকে সিদ্ধান্ত নেবে যে আপনাকে ভিতরে letুকতে দেওয়া হবে। যেহেতু মানুষ খুব সঠিক সময় রক্ষক নয় (আপনার সত্যিই নয়), আমি সহনশীলতার অনুপাত +/- %০%সেট করেছি। এর মানে হল যে বীট দৈর্ঘ্য সেই পরিমাণ দ্বারা ভুল হতে পারে, এবং এখনও মাস্টার পাস। এটি বেশ ভাল অনুরূপ সুরের মধ্যে পার্থক্য বলার জন্য যথেষ্ট। ডবল এবং ট্রিপল-লেন্থ বিটের মধ্যে অল্প পরিমাণে পৌঁছানোর ওভারল্যাপ রয়েছে, কিন্তু কোডটি এখনও ভাঙা বেশ কঠিন। দরজা আনলক করার জন্য, বিটগুলি অবশ্যই একে অপরের (+/- সহনশীলতার অনুপাত) সঠিক অনুপাতে হতে হবে এবং বীটের সংখ্যা অবশ্যই সঠিক হতে হবে। যদি একটি অবৈধ পাসওয়ার্ড প্রবেশ করা হয়, প্রোগ্রামটি ব্যবহারকারীর ইনপুট উপেক্ষা করার সময় কয়েক সেকেন্ডের জন্য অপেক্ষা করে। এটি দ্রুত স্ট্যাটাস লাইটও ফ্ল্যাশ করবে। যদি সঠিক কোডটি প্রবেশ করানো হয়, স্ট্যাটাস লাইট স্থিরভাবে চালু হবে এবং দরজা 8 সেকেন্ডের জন্য আনলক হবে। 1, 3, 3, 3}; // "আপনাকে জন্মদিনের শুভেচ্ছা" অ্যারে বিটগুলির মধ্যে যে পরিমাণ সময় সঞ্চয় করে তা সঞ্চয় করে। সুতরাং যদি আপনার পাসওয়ার্ডে "আপনাকে জন্মদিনের শুভেচ্ছা" এর মতো ছয়টি নোট থাকে, তাহলে অ্যারেটিতে পাঁচটি উপাদান থাকা উচিত। যদি আপনার পাসওয়ার্ড সত্যিই দীর্ঘ হয় এবং আপনার 16 টিরও বেশি বিট থাকে, (সত্যিই কঠিন, আমি এটি সুপারিশ করি না), আপনাকে অবশ্যই এই লাইনে সংজ্ঞায়িত সংখ্যা বৃদ্ধি করতে হবে: #depine inputCodeLength 16 ## কোডের বিশ্রাম # # আমি বাধা সম্পর্কে কৌতূহলী ছিলাম, তাই আমার বোতামগুলি ট্রিগার ইন্টারাপ্ট ছিল। এই বাধাগুলি ব্যবহার করা সহজ করার জন্য, আমি আমার ইন্টারাপ্ট হ্যান্ডলারদের নির্দিষ্ট ফাংশন পয়েন্টারগুলির জন্য পরীক্ষা করেছিলাম। যদি পয়েন্টারটি NULL এ সেট করা না থাকে, তাহলে যে ফাংশনটি নির্দেশ করে সেটি চালু করা হয়। এগুলি cryptap.c এর ভিতরে বিভিন্ন "মোড-সেটিং" ফাংশনগুলির সাথে সেট করা আছে। আমি সর্বাধিক সংখ্যক ইনপুটড ডাল সেট করে বাফার ওভারফ্লো এড়ানোর চেষ্টা করেছি। যদি সর্বাধিক সংখ্যক ডাল ইনপুট হয়, প্রোগ্রাম অবিলম্বে পাসওয়ার্ড বিশ্লেষণ শুরু করে এবং দরজা আনলক করবে কিনা তা সিদ্ধান্ত নেয়। আমি আশা করি কোডে আমার মন্তব্য সাহায্য করবে। ## বাগস ## আমি ইউএসবি ডিবাগিং কোডটি সরানোর চেষ্টা করেছি, কিন্তু যদি আমি করি তবে কোডটি কাজ করবে না। সুতরাং, আমি usb_init () এবং বিভিন্ন মুদ্রণ () বিবৃতিতে রেখেছি। যদি কেউ তাদের অপসারণ করতে পারে এবং এখনও প্রোগ্রামটি কাজ করে তবে আমি এটির প্রশংসা করব। এমনকি যদি তারা ব্যাখ্যা করতে পারে যে কেন এটি আমার পক্ষে কাজ করে নি। প্রোগ্রাম করার পরপরই, Teensy কখনও কখনও কোড ইনপুট গ্রহণ করে না। এটি সমাধানের জন্য, সার্কিটকে পাওয়ার-সাইকেল করুন।

প্রস্তাবিত: