جدول المحتويات:
- اللوازم
- الخطوة 1: بطاقة SD (رقمية آمنة)
- الخطوة 2: تعديل محول بطاقة SD
- الخطوة 3: توصيل USB
- الخطوة 4: وضع كل شيء معًا باستخدام ESP-12E
- الخطوة 5: HTTP VS FTP
- الخطوة 6: التعرف على مكتبة FTP
- الخطوة 7: برمجة ESP-12E
- الخطوة الثامنة: الانتهاء من المشروع
- الخطوة 9: استخدام الجهاز
- الخطوة 10: الأفكار النهائية
فيديو: قارئ بطاقة SD لاسلكي [ESP8266]: 10 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
كان من المفترض أن يكون USB عالميًا ، وكان الهدف الرئيسي هو جعل واجهة قابلة للتبديل السريع وسهلة للغاية للتفاعل مع الأجهزة الأخرى ولكن على مر السنين أصبحت الفكرة سائدة. هناك العديد من المتغيرات المختلفة لمنافذ USB هذه والتي تكون محبطة للغاية في بعض الأحيان والطريقة التي تعمل بها تتعارض تمامًا مع اسمها [USB - Universal Serial Bus] لأن كل مستقبل USB يجب أن يكون متوافقًا مع أي جهاز USB! لا يمكنك توصيل عصا USB أو لوحة المفاتيح داخل الشاحن وتتوقع أن تعمل.
لكن المفهوم يبدو جيدًا جدًا! لهذا السبب بدأت بمبدأ "Universal-Port" بمشروع بسيط "Wireless Card Reader"
لقد حقق هذا جميع رغباتي ، كل ما علي فعله هو توصيله داخل أي مستقبل USB ، لا يهم أي واحد!
بمجرد توصيله ، فإنه ينشئ نقطة وصول حيث يمكننا الاتصال ثم الاتصال بنقطة الوصول وفتح أي تطبيق عميل FTP في أي جهاز متوافق. من خلال هذا الإعداد ، يمكننا نسخ الملفات وكذلك حفظها على بطاقة SD لاسلكيًا!
اللوازم
هذه هي قائمة المنتجات التي يمكن أن تساعدك على القيام بهذا المشروع بسهولة
(رابط تابع)
- Esp12E:
- بطاقة SD:
- محول Micro SD:
- HeaderPins:
- دبابيس رأس بزاوية:
- الأسلاك:
- FTDI:
- سلك مبرمج Arduino nano +:
- ذكر USB:
- ثنائي الفينيل متعدد الكلور:
- بندقية اللحام:
- الرصاص لحام:
الخطوة 1: بطاقة SD (رقمية آمنة)
SD تعني Secure Digital ، وهي مشابهة لـ Pendrive ولكن بحجم أصغر وسعر أرخص بكثير.
عندما يتعين علينا استخدام هذا مع أي من وحدات التحكم الدقيقة ، فهناك خياران ، أحدهما هو SDIO و SPI. تشترك جميع بطاقات SD تقريبًا في العديد من الميزات القياسية ولها نفس المواصفات المادية والكهربائية. الاختلافات الفعلية بين SPI و SDIO هي بشكل أساسي على مستوى البرنامج. يمكنك قراءة المزيد عنها في هذا الرابط.
في الوقت الحالي ، دعنا نقول فقط أن SDIO أسرع ولكن يصعب تنفيذها وأن SPI أبطأ ولكن أسهل في التنفيذ. نظرًا لأن معظم المتحكمات الدقيقة تدعم SPI افتراضيًا ، فسنلتزم بها.
pinout بطاقة SD لـ SPI
Pin-1 - CS (Chip select) Pin-2 - DI (MOSI) Pin-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO) Pin-8 - NCPin-9 - NC
الخطوة 2: تعديل محول بطاقة SD
يمكنك استخدام أي وحدات بطاقة SD تدعم Arduino و esp8266 ولكن لغرض هذا المشروع ، سنستخدم مهايئ بطاقة microSD وسنقوم بالتعديل بطريقة يمكننا استخدامها بدلاً من الوحدة.
أولاً ، قم بتنظيف جهات اتصال محول بطاقة SD. ثم استخدم دبابيس الرأس المائلة وقم بلحام الدبابيس مباشرة بملامسات المحول. بمجرد الانتهاء من اللحام ، تحقق من جهات الاتصال بين دبابيس الرأس للتحقق من وجود أي دائرة كهربائية قصيرة. قم بإزالة الفاصل الأسود واحدًا تلو الآخر ، لذلك عندما نعيده ، فإنه يتدفق مع ثنائي الفينيل متعدد الكلور.
قم بقص PCB بطريقة تتناسب تمامًا مع محول بطاقة SD ولديها بعض المساحة الإضافية ، لإضافة منفذ USB للذكور.
يمكنك أيضًا القيام بنفس العملية باستخدام بطاقة SD بدلاً من المحول ، ولكن من المخاطرة جدًا إذا قمت بإتلافها.
الخطوة 3: توصيل USB
نحتاج إلى تشغيل بطاقة SD ، لذلك ، سنستخدم منفذ استقبال USB نفسه. لذلك سنستخدم منفذ USB من الذكور. يحتوي هذا عادةً على 4 دبابيس ، حيث يتم استخدام دبابيس متوسطة لنقل البيانات واستخدام دبابيس متطرفة للطاقة والأرض. نظرًا لأننا نحتاج فقط إلى الطاقة ، فسوف أقطع دبابيس البيانات وأحتفظ فقط بـ GND و VCC.
ثم وضع منفذ USB أمام بطاقة SD حيث وفرنا بعض المساحة في وقت سابق ، ثم قمنا بتثبيته في مكانه. هذا لم يحل أي مشكلة في الطاقة حتى الآن! نظرًا لأن بطاقة SD تتطلب 3.3 فولت ولكن مصدر USB هو 5 فولت قياسي إذا قمت للتو بتوصيل هذا بالمصدر ، فمن المحتمل أن تقوم بإخراج بطاقة SD (ولكن لن يتم إلحاق أي أضرار بواسطة محول microSD).
لحل هذه المشكلة ، سنستخدم منظمًا 3.3 فولت ونقوم بتوصيل مدخل مصدر USB بالمنظم 3.3 فولت ، أي قم بتوصيل GND الخاص بـ USB بالدبوس 1 للمنظم وتوصيل الطرف 3 من المنظم بـ + 5V للمنظم. أخيرًا ، قم بتوصيل الدبوس 3 (دبوس الإخراج) وأرض المنظم ببطاقة SD.
سيؤدي هذا إلى إعداد الطاقة لبطاقة SD. يمكنك التحقق من مخطط الدائرة للحصول على اتصال أكثر تفصيلاً.
الخطوة 4: وضع كل شيء معًا باستخدام ESP-12E
الآن لقراءة وكتابة البيانات من بطاقة SD ، سنستخدم وحدة Esp12E wifi ، على الرغم من أنها أبطأ من esp32. لكن لا يهم حقًا أيهما تختار ، سأشرح السبب في الخطوات الأخيرة.
قم أولاً بلحام EN (دبوس التمكين) إلى VCC الخاص بـ esp12E ، سيؤدي ذلك إلى تشغيل IC. إذا لم يكن هذا متصلاً بالإشارة العالية ، فلن يتم تشغيل IC. ثم ضع esp12E على الجزء الخلفي من لوحة PCB وقم بلحام دبابيس SPI الخاصة بـ esp12E في دبابيس SPI الموجودة على بطاقة SD. للحصول على التفاصيل ، يتحقق الاتصال من مخطط الدائرة.
الخطوة 5: HTTP VS FTP
قبل البرمجة ، أجريت بعض الأبحاث حول كيفية عمل التنزيلات والتحميلات ، وذلك عندما عثرت على كلمة FTP. يرمز FTP أساسًا إلى بروتوكول نقل الملفات ، ويستخدم هذا البروتوكول لنقل الملفات بين الخوادم والعميل وهو مختلف تمامًا عن بروتوكول HTTP العادي حيث يقوم العميل والخادم بإرسال واستقبال الطلبات / الاستجابة التي تكون صغيرة جدًا في الحجم.
يعتبر FTP أسرع من HTTP في نقل الملفات لأنه تم إنشاؤه خصيصًا له. لذلك ، كنت أرغب في تنفيذ هذا في هذا المشروع. حيث يعمل خادم FTP على esp-12E ويمكننا دفع البيانات وجلبها من خلال FTP إلى بطاقة SD.
الخطوة 6: التعرف على مكتبة FTP
لم أتمكن من العثور على أي مكتبة FTP تم تطويرها بنشاط كبير أو مصممة خصيصًا لـ esp8266. ولكن مع بعض البحث ، صادفت David Paiva الذي نقل إصدار Arduino من خادم FTP إلى esp8266 ولكن بدعم SPIFFS وليس بطاقة SD.
ولكن مع القليل من الجهد ، وجدت شخصًا قام ببعض الأعمال في مكتبة David Paiva لتحويل نظام SPIFFS إلى بطاقة SD. ولكن عندما حاولت استخدام هذا ، واجهت مشكلتين. أولاً ، كانت الصفحة التي اكتشفت فيها ذلك باللغة الكورية ، لذا كان علي الجلوس وترجمة كل شيء حرفيًا لمعرفة ما كان يحدث قبل أن أفعل أي شيء بها. ثم كانت المشكلة الثانية هي أنني اضطررت إلى تعديل مكتبة SD الحالية لدعم التغييرات التي أجراها ولكن ذلك شعرت بأنه أخرق للغاية.
لذا ، قمت بمقارنة هذه المكتبة ، واحدة من David Paiva والأخرى من موقع الويب الكوري ، ثم قمت بإجراء بعض التغييرات الطفيفة وجعلت كل شيء في مشروع واحد لذلك ليست هناك حاجة لتثبيت أي مكتبة من أي نوع. يمكنك التحقق من الرمز من حساب Github الخاص بي.
الخطوة 7: برمجة ESP-12E
لا يأتي ESP-12E مع مبرمج يحمل في ثناياه عوامل ، لذلك نحتاج إلى استخدام مبرمج خارجي مثل وحدة FDTI. لذلك صنعت محولًا مع عدد قليل من الأسلاك ودبابيس الرأس الأنثوية ، باستخدام هذا ، يمكننا لحام esp12E مؤقتًا وبرمجتها باستخدام وحدة FTDI.
قم بتوصيل GND [esp12E] بـ GND ، Rx [esp12E] بـ Tx ، Tx [esp12E] بـ Rx ، GPIO15 [esp12E] بـ GND ، GPIO0 [esp12E] بـ GND ، VCC [esp12E] بـ VCC لوحدة FDTI.
ثم قم بتحميل الكود من Github باستخدام Arduino IDE.
بمجرد تحميل البرنامج يمكنك إزالة الأسلاك التي كانت متصلة ببرنامج esp12E.
الخطوة الثامنة: الانتهاء من المشروع
فقط أدخل أي بطاقة microSD [32 جيجا بايت كحد أقصى] داخل المحول وقم بتوصيل الجهاز بالكامل بأي جهاز متوافق مع USB ، وهذا من شأنه أن يعمل على تشغيل الأشياء! ولكن هناك بعض الأشياء التي يجب مراعاتها ، تأكد من أن تيار خرج منفذ USB أكبر من 1 أمبير ، فقط لتكون في جانب أكثر أمانًا. لأن وحدة Esp12E تستهلك حداثة أكبر عند نقل الملفات.
الخطوة 9: استخدام الجهاز
بمجرد تشغيل الجهاز ، يقوم الجهاز بإنشاء نقطة وصول تسمى SD Reader. اتصل بنقطة الوصول هذه باستخدام كلمة المرور الموجودة على الرمز. ثم بناءً على الجهاز الذي تستخدمه للاتصال بـ 12E ، قم بتنزيل برنامج عميل FTP ذي الصلة إذا كنت تستخدم جهاز الكمبيوتر لتنزيل WinSCP أو Filzella وإذا كنت تستخدم جهاز Android ، قم بتنزيل AndFTP.
بمجرد الانتهاء من التثبيت ، افتح AndFTP واملأ بيانات الاعتماد لإعداد عميل FTP. في حالتي ، تركت اسم المستخدم وكلمة المرور على "esp8266" الافتراضي في الكود. لذلك ، استخدم ذلك لمعلومات المستخدم وللمضيف استخدم 192.168.12.7. أخيرًا ، اتصل بخادم FTP.
بمجرد الانتهاء من ذلك ، يمكنك تنزيل أي ملفات من بطاقة SD وكذلك يمكنك تحميل الملفات من هاتفك إلى بطاقة SD.
يمكنك مشاهدة الفيديو لمعرفة كيف يعمل!
الخطوة 10: الأفكار النهائية
ولكن قبل القفز إلى استنتاج مفاده أنه جهاز سهل الاستخدام للغاية ، دعنا نتراجع خطوة إلى الوراء.
على الرغم من أنها تفعل ما أريد ، إلا أنها بطيئة تمامًا! يستغرق الأمر حوالي 30 ثانية فقط لأربعة ملفات (كل منها ~ 100 كيلو بايت) ، وإذا حاولت باستخدام ملف أكبر حجمًا مثل 10 ميغا بايت ، فسيستغرق إكماله حوالي 3-4 دقائق. هناك طرق لتحسين ذلك ، ومن الصفحة التي أشرت إليها ، تمكن من الحصول على سرعة قراءة تبلغ 450 كيلو بايت تقريبًا. (مع سرعة نقل مكتبة Esp32 و SD_MMC قد تكون حوالي 1 ميجابايت / ثانية)
السبب في أنني أوقفت المشروع هنا ولم أحاول تحسينه كان لسببين. السبب الأول ، أتمنى حقًا ، جنبًا إلى جنب مع خادم FTP ، لا يزال بإمكاني استخدام خط بيانات USB لنقل البيانات ، لكنه غير مدعوم في esp8266 أو esp32. والسبب الثاني هو أنني لم أستطع الحصول على السرعة الكافية لنقل الملفات عبر FTP. هذه أيضًا هي نفس السبب الذي جعلني لا أزعج نفسي باستخدام esp32 بدلاً من esp12E.
لكنني أعتقد أنه يمكن حل بعض هذه المشكلات إذا كان بإمكاننا استخدام لوحات esp32 S2 التي تدعم السرعة الكاملة أثناء التنقل عبر USB. ربما يمكنني القيام بذلك من أجل XD آخر قابل للتوجيه.
موصى به:
كيفية استخدام قارئ بطاقة الذاكرة PS3 الداخلي كجهاز USB على جهاز الكمبيوتر: 6 خطوات
كيفية استخدام قارئ بطاقة الذاكرة PS3 الداخلي كجهاز USB على جهاز الكمبيوتر الخاص بك: أولاً ، هذا هو أول Instructable (yippie!) ، أنا متأكد من أنه سيكون هناك الكثير في المستقبل. الاستفادة من مكونات العمل. أول شيء فعلته هو سحب ورقة البيانات لشريحة المحول على بطاقة PS3 r
هاك قارئ بطاقة USB: 6 خطوات
قرصنة قارئ بطاقة USB: قبل أيام قليلة وجدت في المنزل بعض بطاقات SD المنسية. كنت أشعر بالفضول لإجهاض ما هو مكتوب هناك. لقد بحثت في قارئ بطاقة للتحقق من المعلومات. كان القارئ الوحيد المتوفر في المنزل هو قارئ بطاقات متعدد رخيص تم شراؤه في Aliexpress أو Ebay m
قارئ بطاقة USB ممغنط: 3 خطوات
قارئ بطاقة USB ممغنط: يبدو أن قارئات بطاقة ذاكرة USB تختفي دائمًا. في حياتنا الحديثة ، بمجرد نسخ الصور إلى جهاز الكمبيوتر الخاص بك ، أين يذهب قارئ البطاقات؟ في درج؟ خلف الكمبيوتر في فوضى الكابلات؟ العودة في حقيبة مع الكاميرا؟ صمغ كبير
ميكروفون لاسلكي DIY إلى نظام جيتار لاسلكي: 4 خطوات
DIY Wireless Mic to Wireless Guitar System: لقد كنت أشاهد بعض مقاطع الفيديو وبعض الفرق الموسيقية وتقريباً يستخدم نظام لاسلكي على الجيتار. الجنون ، التحرك ، المشي والقيام بكل ما يريدون بدون الحبل لذا أحلم بالحصول على واحد .. لكن .. بالنسبة لي الآن ، هذا مكلف للغاية لذا توصلت إلى هذا
حوّل Arduino إلى قارئ بطاقة ممغنطة: 9 خطوات (بالصور)
حوّل Arduino إلى قارئ بطاقة ممغنطة!: أعتقد أن الجميع استخدم قارئ بطاقة ممغنطة. يعني من يحمل النقود هذه الأيام؟ ليس من الصعب الحصول عليها أيضًا ، وخلال رحلة إلى متجر الإلكترونيات المحلي المفضل لدي ، وجدت صندوقًا مليئًا بهؤلاء الرجال. اذن طبعا،