সুচিপত্র:

ওয়্যারলেস এসডি কার্ড রিডার [ESP8266]: 10 টি ধাপ (ছবি সহ)
ওয়্যারলেস এসডি কার্ড রিডার [ESP8266]: 10 টি ধাপ (ছবি সহ)

ভিডিও: ওয়্যারলেস এসডি কার্ড রিডার [ESP8266]: 10 টি ধাপ (ছবি সহ)

ভিডিও: ওয়্যারলেস এসডি কার্ড রিডার [ESP8266]: 10 টি ধাপ (ছবি সহ)
ভিডিও: কার্ড রিডার কেন এতো নষ্ট হয়! | Card reader corrupted issue 2024, জুলাই
Anonim
Image
Image

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

কিন্তু ধারণাটি খুব ভাল শোনাচ্ছে! এই কারণেই এই "ইউনিভার্সাল-পোর্ট" ধারণাটি শুরু করার জন্য আমি একটি সহজ প্রকল্প "ওয়্যারলেস কার্ড রিডার" দিয়ে শুরু করেছি

এটি আমার সমস্ত ইচ্ছা পূরণ করেছে, আমাকে যা করতে হবে তা কেবল যে কোনও ইউএসবি রিসিভারের ভিতরে প্লাগ করতে হবে, কোনটিই হোক না কেন!

যত তাড়াতাড়ি আপনি এটি প্লাগ ইন করুন, এটি একটি অ্যাক্সেস পয়েন্ট তৈরি করে যেখানে আমরা সংযোগ করতে পারি এবং তারপর অ্যাক্সেস পয়েন্টের সাথে সংযোগ স্থাপন করতে পারি এবং যেকোনো সামঞ্জস্যপূর্ণ ডিভাইসে যেকোনো FTP ক্লায়েন্ট অ্যাপ্লিকেশন খুলতে পারি। এই সেটআপের মাধ্যমে, আমরা ওয়্যারলেসভাবে এসডি কার্ডে ফাইল কপি করার পাশাপাশি সংরক্ষণ করতে পারি!

সরবরাহ

এই পণ্যগুলির তালিকা যা আপনাকে এই প্রকল্পটি সহজে করতে সাহায্য করতে পারে

(এফিলিয়েট লিঙ্ক)

  • Esp12E:
  • এসডি কার্ড:
  • মাইক্রো এসডি অ্যাডাপ্টার:
  • হেডারপিনস:
  • কোণযুক্ত হেডার পিন:
  • তারের:
  • FTDI:
  • Arduino nano + programmer wire:
  • পুরুষ ইউএসবি:
  • PCB:
  • সোল্ডারিং গান:
  • সোল্ডারিং লিড:

ধাপ 1: এসডি (সিকিউর ডিজিটাল) কার্ড

এসডি (সিকিউর ডিজিটাল) কার্ড
এসডি (সিকিউর ডিজিটাল) কার্ড

এসডি মানে সিকিউর ডিজিটাল, এটি আপনার পেনড্রাইভের অনুরূপ কিন্তু ছোট পদচিহ্ন এবং অনেক কম দামে।

যখন আমাদেরকে মাইক্রোকন্ট্রোলারগুলির সাথে এটি ব্যবহার করতে হবে তখন 2 টি বিকল্প আছে, একটি হল SDIO এবং SPI। প্রায় সব এসডি কার্ড অনেক স্ট্যান্ডার্ড বৈশিষ্ট্য ভাগ করে এবং একই শারীরিক এবং বৈদ্যুতিক বৈশিষ্ট্য আছে। SPI এবং SDIO এর মধ্যে প্রকৃত পার্থক্য মূলত সফটওয়্যার স্তরে। আপনি এই লিঙ্কে এটি সম্পর্কে আরও পড়তে পারেন।

আপাতত, শুধু বলে রাখি SDIO দ্রুত কিন্তু বাস্তবায়ন করা কঠিন এবং SPI ধীর কিন্তু বাস্তবায়ন করা সহজ। যেহেতু বেশিরভাগ মাইক্রোকন্ট্রোলার ডিফল্টরূপে এসপিআই সমর্থন করে আমরা কেবল এটিতে থাকব।

এসপিআই এর জন্য এসডি কার্ড পিনআউট

পিন -1 - সিএস (চিপ সিলেক্ট) পিন -2 - ডিআই (মোসি) পিন -3 - জিএনডিপিন -4 - ভিসিসিপিন -5 - এসসিএলকেপিন -6 - জিএনডিপিন -7 - ডিও (মিসো) পিন -8 - এনসিপিইন -9 - এনসি

ধাপ 2: এসডি কার্ড অ্যাডাপ্টার পরিবর্তন

এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন
এসডি কার্ড অ্যাডাপ্টার পরিবর্তন

আপনি যে কোন এসডি কার্ড মডিউল ব্যবহার করতে পারেন যা Arduino এবং esp8266 সমর্থন করে কিন্তু এই প্রকল্পের উদ্দেশ্যে, আমরা মাইক্রোএসডি কার্ড অ্যাডাপ্টার ব্যবহার করব এবং এমনভাবে পরিবর্তন করব যাতে আমরা মডিউলের পরিবর্তে এটি ব্যবহার করতে পারি।

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

পিসিবি এমনভাবে কাটুন যে এটি এসডি কার্ড অ্যাডাপ্টারের সাথে পুরোপুরি ফিট করে এবং পুরুষ ইউএসবি পোর্ট যোগ করার জন্য কিছু অতিরিক্ত জায়গা থাকে।

আপনি অ্যাডাপ্টারের পরিবর্তে এসডি কার্ড দিয়েও একই প্রক্রিয়াটি করতে পারেন, তবে এটি ক্ষতিগ্রস্ত হলে এটি বেশ ঝুঁকিপূর্ণ।

ধাপ 3: ইউএসবি সংযোগ

ইউএসবি সংযোগ
ইউএসবি সংযোগ
ইউএসবি সংযোগ
ইউএসবি সংযোগ
ইউএসবি সংযোগ
ইউএসবি সংযোগ

আমাদের এসডি কার্ডটি পাওয়ার দরকার, এর জন্য, আমরা ইউএসবি রিসিভিং পোর্ট নিজেই ব্যবহার করব। সুতরাং আমরা একটি পুরুষ ইউএসবি পোর্ট ব্যবহার করব। এটিতে সাধারণত 4 টি পিন থাকে, যেখানে 2 টি মধ্যম পিন ডেটা স্থানান্তরের জন্য এবং 2 টি চরম পিন শক্তি এবং স্থলের জন্য ব্যবহৃত হয়। যেহেতু আমাদের শুধু বিদ্যুতের প্রয়োজন, তাই আমি ডাটা পিন কেটে দেব এবং শুধু GND এবং VCC রাখব।

তারপরে পুরুষ ইউএসবি পোর্টটিকে এসডি কার্ডের সামনে রেখে দিন যেখানে আমরা আগে কিছু জায়গা তৈরি করেছিলাম, তারপর এটিকে জায়গায় সোল্ডার করেছিলাম। এটি এখনও কোন বিদ্যুৎ সমস্যার সমাধান করেনি! কারণ এসডি কার্ডের জন্য 3.v ভি প্রয়োজন কিন্তু ইউএসবি সাপ্লাই হল স্ট্যান্ডার্ড ৫ ভি যদি আপনি শুধু সাপ্লাইতে এটি প্লাগ করেন, তাহলে আপনি সম্ভবত এসডি কার্ড ভাজবেন (কিন্তু মাইক্রোএসডি অ্যাডাপ্টারের কোন ক্ষতি হবে না)।

এটি সমাধানের জন্য আমরা একটি 3.3V রেগুলেটর ব্যবহার করব এবং ইউএসবি সরবরাহের ইনপুটটি 3.3V রেগুলেটরের সাথে সংযুক্ত করব অর্থাৎ ইউএসবি এর GND কে রেগুলেটরের 1 পিন এবং রেগুলেটরের পিন 3 কে রেগুলেটরের 5V এর সাথে সংযুক্ত করব। অবশেষে, পিন 3 (আউটপুট পিন) এবং রেগুলেটরের গ্রাউন্ডকে এসডি কার্ডে সোল্ডার করুন।

এটি এসডি কার্ডের পাওয়ার সেটআপ করবে। আপনি আরও বিস্তারিত সংযোগের জন্য সার্কিট ডায়াগ্রামটি পরীক্ষা করতে পারেন।

ধাপ 4: ESP-12E এর সাথে সবকিছু একত্রিত করা

ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা
ESP-12E এর সাথে সবকিছু একত্রিত করা

এখন এসডি কার্ড থেকে ডেটা পড়তে এবং লিখতে আমরা Esp12E ওয়াইফাই মডিউল ব্যবহার করব, যদিও এটি esp32 এর চেয়ে ধীর। কিন্তু আপনি কোনটা বেছে নেবেন তা আসলেই গুরুত্বপূর্ণ নয়, আমি পরবর্তী ধাপে কারণ বলব।

Esp12E এর ভিসিসিতে প্রথমে EN (পিন সক্ষম করুন), এটি IC চালু করবে। যদি এটি উচ্চ সংকেতের সাথে সংযুক্ত না হয়, তাহলে আইসি চালু হবে না। তারপর PCB বোর্ডের পিছনে esp12E রাখুন এবং esp12E এর SPI পিনগুলিকে SD কার্ডের SPI পিনগুলিতে বিক্রি করুন। বিস্তারিত জানার জন্য, সংযোগ সার্কিট ডায়াগ্রাম চেক করে।

ধাপ 5: HTTP VS FTP

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

FTP ফাইল স্থানান্তরের ক্ষেত্রে HTTP এর চেয়ে দ্রুত কারণ এটি বিশেষভাবে এর জন্য তৈরি করা হয়েছিল। সুতরাং, আমি এই প্রকল্পে এটি বাস্তবায়ন করতে চেয়েছিলাম। যেখানে একটি FTP সার্ভার esp-12E তে চলে এবং আমরা এই FTP এর মাধ্যমে SD কার্ডে ডাটা পুশ এবং আনতে পারি।

ধাপ 6: FTP লাইব্রেরি বের করা

FTP লাইব্রেরি বের করা
FTP লাইব্রেরি বের করা
FTP লাইব্রেরি বের করা
FTP লাইব্রেরি বের করা

আমি এমন কোন FTP লাইব্রেরি খুঁজে পাইনি যা খুব সক্রিয়ভাবে বিকশিত বা বিশেষভাবে esp8266 এর জন্য তৈরি। কিন্তু কিছু খনন করে আমি ডেভিড পাইভা জুড়ে এসেছি যিনি FTP সার্ভারের একটি Arduino সংস্করণ esp8266 এ পোর্ট করেছিলেন কিন্তু এসপিআইএফএফএস সমর্থন দিয়ে এবং এসডি কার্ড নয়।

কিন্তু একটু বেশি প্রচেষ্টায়, আমি এমন একজনকে খুঁজে পেয়েছি যে SPIDFS কে SD কার্ডে রূপান্তর করার জন্য ডেভিড পাইভা লাইব্রেরিতে কিছু কাজ করেছে। কিন্তু যখন আমি এটি ব্যবহার করার চেষ্টা করেছি, আমি 2 টি সমস্যার মুখোমুখি হয়েছি। প্রথমত, যে পৃষ্ঠাটি আমি খুঁজে পেয়েছি তা কোরিয়ান ভাষায় ছিল, তাই আমি কিছু করতে পারার আগে কি ঘটছে তা জানতে আমাকে আক্ষরিক অর্থে বসে সবকিছু অনুবাদ করতে হয়েছিল। তারপরে দ্বিতীয় সমস্যাটি ছিল, তিনি যে পরিবর্তনগুলি করেছিলেন তা সমর্থন করার জন্য আমাকে বিদ্যমান এসডি লাইব্রেরি পরিবর্তন করতে হয়েছিল কিন্তু এটি খুব আনাড়ি মনে হয়েছিল।

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

ধাপ 7: ESP-12E প্রোগ্রামিং

ESP-12E প্রোগ্রামিং
ESP-12E প্রোগ্রামিং
ESP-12E প্রোগ্রামিং
ESP-12E প্রোগ্রামিং
ESP-12E প্রোগ্রামিং
ESP-12E প্রোগ্রামিং

ESP-12E একটি অন্তর্নির্মিত প্রোগ্রামারের সাথে আসে না, তাই আমাদের FDTI মডিউলের মত একটি বহিরাগত প্রোগ্রামার ব্যবহার করতে হবে। তাই আমি কয়েকটি তার এবং মহিলা হেডার পিন দিয়ে একটি অ্যাডাপ্টার তৈরি করেছি, এর সাহায্যে আমরা অস্থায়ীভাবে esp12E বিক্রি করতে পারি এবং FTDI মডিউল ব্যবহার করে এটি প্রোগ্রাম করতে পারি।

GND [esp12E] কে GND, Rx [esp12E] থেকে Tx, Tx [esp12E] থেকে Rx, GPIO15 [esp12E] থেকে GND, GPIO0 [esp12E] থেকে GND, VCC [esp12E] কে FDTI মডিউলের VCC এর সাথে সংযুক্ত করুন।

তারপর Arduino IDE ব্যবহার করে Github থেকে কোড আপলোড করুন।

একবার প্রোগ্রামটি আপলোড হয়ে গেলে আপনি esp12E প্রোগ্রামের সাথে সংযুক্ত তারগুলিকে নষ্ট করতে পারেন।

ধাপ 8: প্রকল্প শেষ

প্রকল্প শেষ!
প্রকল্প শেষ!
প্রকল্প শেষ!
প্রকল্প শেষ!
প্রকল্প শেষ!
প্রকল্প শেষ!

অ্যাডাপ্টারের ভিতরে যেকোনো মাইক্রোএসডি [32 গিগাবাইট সর্বোচ্চ] কার্ডটি রাখুন এবং পুরো ডিভাইসটিকে যে কোনও ইউএসবি সামঞ্জস্যপূর্ণ ডিভাইসে প্লাগ করুন, এটি জিনিসগুলিকে শক্তিশালী করতে পারে! কিন্তু কিছু বিষয় বিবেচনা করার আছে, নিশ্চিত করুন যে ইউএসবি পোর্ট আউটপুট কারেন্ট 1amp এর চেয়ে বেশি, শুধু একটি নিরাপদ দিকে থাকতে হবে। কারণ Esp12E মডিউল ফাইল ট্রান্সফার করার সময় বেশি কারেন্ট খায়।

ধাপ 9: ডিভাইস ব্যবহার করা

ডিভাইস ব্যবহার করে
ডিভাইস ব্যবহার করে
ডিভাইস ব্যবহার করে
ডিভাইস ব্যবহার করে
ডিভাইস ব্যবহার করে
ডিভাইস ব্যবহার করে

ডিভাইসটি চালিত হওয়ার সাথে সাথেই ডিভাইসটি এসডি রিডার নামে একটি অ্যাক্সেস পয়েন্ট তৈরি করে। কোডে থাকা পাসওয়ার্ডটি ব্যবহার করে এই অ্যাক্সেস পয়েন্টের সাথে সংযোগ করুন। তারপর আপনি 12E এর সাথে সংযোগ স্থাপনের জন্য কোন ডিভাইসটি ব্যবহার করছেন তার উপর নির্ভর করে যদি আপনি পিসি ডাউনলোড WinSCP বা Filzella ব্যবহার করেন এবং যদি আপনি একটি Android ডিভাইস ব্যবহার করেন তাহলে FTP ক্লায়েন্ট সফটওয়্যারটি ডাউনলোড করুন এবং যদি আপনি অ্যান্ডএফটিপি ডাউনলোড করেন।

একবার ইনস্টলেশন হয়ে গেলে, এন্ডএফটিপি খুলুন এবং এফটিপি ক্লায়েন্ট সেট আপ করার জন্য শংসাপত্রগুলি পূরণ করুন। আমার ক্ষেত্রে, আমি ব্যবহারকারীর নাম এবং পাসওয়ার্ড কোডে ডিফল্ট "esp8266" রেখে দিয়েছি। সুতরাং, ব্যবহারকারীর তথ্যের জন্য এবং হোস্ট ব্যবহারের জন্য এটি ব্যবহার করুন 192.168.12.7। অবশেষে, FTP সার্ভারের সাথে সংযোগ করুন।

একবার এটি হয়ে গেলে, আপনি এসডি কার্ড থেকে যে কোনও ফাইল ডাউনলোড করতে পারেন এবং আপনি আপনার ফোন থেকে এসডি কার্ডে ফাইল আপলোড করতে পারেন।

এটি কিভাবে কাজ করে তা জানতে আপনি ভিডিওটি দেখতে পারেন!

ধাপ 10: চূড়ান্ত চিন্তা

সর্বশেষ ভাবনা
সর্বশেষ ভাবনা
সর্বশেষ ভাবনা
সর্বশেষ ভাবনা

কিন্তু এই উপসংহারে ঝাঁপ দেওয়ার আগে যে এটি একটি খুব সুবিধাজনক ডিভাইস, আসুন এক পা পিছিয়ে যাই।

যদিও এটি আমি যা চাই তা করে, এটি একেবারে ধীর! মাত্র 4 টি ফাইলের জন্য (প্রতিটি ~ 100Kb) এটি প্রায় 30 সেকেন্ড সময় নেয়, এবং যদি আপনি 10MB এর মতো একটি বড় ফাইল দিয়ে চেষ্টা করেন তবে এটি সম্পূর্ণ হতে প্রায় 3-4 মিনিট সময় নেবে। এটি অপ্টিমাইজ করার উপায় আছে, এবং যে পৃষ্ঠা থেকে আমি উল্লেখ করেছি সে থেকে তিনি মোটামুটি 450kbs পড়ার গতি পেতে সক্ষম হয়েছিলেন। (Esp32 এবং SD_MMC লাইব্রেরি স্থানান্তরের গতি প্রায় 1MB/সেকেন্ড হতে পারে)

যে কারণে আমি এখানে প্রকল্পটি বন্ধ করেছিলাম এবং এটি অপ্টিমাইজ করার চেষ্টা করিনি তা ছিল 2 টি কারণে। প্রথম কারণ, আমি সত্যিই চাই, এফটিপি সার্ভারের সাথে আমি এখনও ডাটা ট্রান্সফারের জন্য ইউএসবি ডেটা লাইন ব্যবহার করতে পারি, কিন্তু এটি esp8266 বা esp32 তে সমর্থিত নয়। এবং দ্বিতীয় কারণ হল যে আমি FTP- এ ফাইল স্থানান্তর করার জন্য যথেষ্ট গতি পেতে পারিনি। এগুলিও একই কারণ যে কেন আমি esp12E এর পরিবর্তে esp32 ব্যবহার করতে বিরক্ত হইনি।

কিন্তু আমি মনে করি এই সমস্যাগুলির কিছু সমাধান করা যেতে পারে যদি আমরা esp32 S2 বোর্ড ব্যবহার করতে পারি যা চলার USB তে পূর্ণ গতি সমর্থন করে। হয়তো আমি অন্য নির্দেশযোগ্য XD এর জন্য এটি করতে পারি।

প্রস্তাবিত: