فهرست مطالب:
- تدارکات
- مرحله 1: Raspberry Pi 3b
- مرحله 2: اتصال ماژول Wiznet WIZ820io به گذرگاه رزبری پای GPIO
- مرحله 3: برد مدار من
- مرحله 4: پیکربندی Raspberry Pi IOS (قبلا Raspian) - مطالب موجود در پوشه "boot"
- مرحله 5: پیکربندی Raspberry Pi IOS (قبلا Raspian) - مطالب موجود در فهرست "overlays"
- مرحله 6: پیکربندی Raspberry Pi IOS (قبلا Raspian) - ویرایش فایل با نام: Config.txt
- مرحله 7: دوباره راه اندازی کردیم. امیدوارم لبخند بزنید
- مرحله 8: پیکربندی Raspberry Pi IOS (قبلا Raspian) - تنظیم آدرس IP
- مرحله 9: نتیجه گیری
- مرحله 10: فایل های DTBO
تصویری: یک WIZ820io / USR -ES1 - پورت شبکه Wiznet W5500 را به تمشک پای خود اضافه کنید .: 10 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
تا حدی به دلیل علاقه ای که به انجام چنین کاری داشتم و تا حدی به دلیل علاقه ای که به Codesys داشتم ، مدتی است در ذهنم بوده که سعی کنم یک پورت رابط شبکه دوم را به رزبری پای وصل کنم. بنابراین در حین انجام پروژه های دیگر ، به فکر ، خواندن ، مقایسه ، برنامه ریزی و خرید بودم تا بتوانم سرانجام پیش بروم و چیزی بسازم.
بله - من می دانم. چند سیستم کلید "آماده به کار" وجود دارد که می توانند کاری مشابه انجام دهند ، اما در واقع هیچ یک از آنها آنقدر جذاب نبودند که من را از پولم جدا کنند.
در واقع ، من سطح پایینی از دانش و تجربه در مورد Raspberry Pi و Linux / Raspberry Pi IOS (Raspian) (در دنیای ویندوز و اندروید بهتر عمل می کنم) ، هیچ دانش عمیقی در مورد شبکه (نمی توانم کارها را به کار بگیرم) و ایجاد شبکه ، اما فراتر از آن من کمی بیش از حد خودم) ، و من به تازگی شروع به ساخت مدارهای تابلو کرده ام. مطمئناً من برنامه نویس نیستم.
یک بار سرانجام تصمیم گرفتم که با این ایده ایجاد چیزی پیشرفت کنم و تصمیم گرفتم از ماژول WIZ820io / USR -ES1 ، که بر اساس مدار مجتمع Wiznet - W5500 است ، استفاده کنم. این ماژول می تواند با Raspberry Pi (و سایر MCU ها) با استفاده از گذرگاه استاندارد SPI ارتباط برقرار کند. علاوه بر این ، 3.3 VDC اجرا می شود ، بنابراین خطرات صفر را برای Raspberry Pi من تهدید می کند.
هنگام طراحی برد مدار ، من تصمیم گرفتم آن را با پیکربندی "HAT" (شکل و قابلیت) مناسب بسازم و علاوه بر افزودن مدار برای ماژول "WIZ820io" تعدادی مورد دیگر نیز اضافه کردم که در این مورد استفاده نمی شود. پروژه شبکه سازی ، اما می توانم از آن برای پروژه های دیگر در آینده استفاده کنم و خواهم کرد.
تخته ای که طراحی / ساختم موارد زیر را روی آن دارد.
1 - یک سوکت برای نگه داشتن Wiznet - WIZ820io - ماژول پورت اترنت (برای این کار یک Eagle Footprint سفارشی ایجاد کردم).
2 - یک فن خنک کننده 30 میلی متری - 5 VDC برای CPU Raspberry Pi (برای این کار من یک Eagle Footprint سفارشی تهیه کردم).
3 - یک تراشه حافظه "CAT24C32" برای حفظ الزامات سازگاری HAT (این هنوز توسط من برنامه ریزی نشده است) (من برای این کار یک بلوک طراحی عقاب سفارشی تهیه کردم).
4 - یک مبدل مینی MAX3232 - UART - TTL به RS -232 Level Converter متصل به UART0 (من برای آن یک Eagle Footprint سفارشی تهیه کردم).
5 - یک LED قرمز (GPIO24) ، یک LED زرد (GPIO23) و یک LED سبز (GPIO22) که برای تمرینات برنامه نویسی پایتون از چراغ راهنمایی استفاده می شود.
6 - یک LED سبز (GPIO18) و یک LED سبز (GPIO27) - برای برنامه نویسی تمرینات و عیب یابی.
7 - یک سوئیچ لمسی متصل به GPIO25 - برای برنامه نویسی تمرینات و عیب یابی (من برای آن یک Eagle Footprint سفارشی تهیه کردم). توجه داشته باشید که این GPIO با WIZ820io نیز استفاده خواهد شد.
بنابراین همانطور که قبلاً اشاره کردم ، این دستورالعمل فقط به مورد شماره 1 موجود در این لیست می پردازد. همه موارد دیگری که من روی صفحه اضافه کردم به دلایل دیگری وجود دارد که به این پروژه رابط شبکه مربوط نمی شود.
تدارکات
Raspberry Pi - من از Raspberry Pi 3B قدیمی تر استفاده کردم. هیچ مشکلی در این مورد وجود ندارد.. مال من دارای یک پورت HDMI مرده است ، بنابراین من آن را "بدون سر" با استفاده از TeamViewer برای دسترسی به آن اجرا می کنم. کار می کند. من به شدت مشکوک هستم که اکثر نسخه های Raspberry Pi با این دستورالعمل کار می کنند و می توانند نسخه های جدیدتر Raspberry Pi IOS (Raspian) را اجرا کنند.
البته قبل از شروع همه اینها ، من سیستم عامل را به روز کردم:
sudo apt-get update
sudo apt-get upgrade
WIZ820io / USR -ES1 - مستندات مربوط به این مورد بصورت آنلاین از OEM موجود است
PC Board - من از Autodesk Eagle برای طراحی PCB و ایجاد فایل های Gerber لازم برای JLCPCB برای ساخت برد مدار استفاده کردم. همانطور که قبلاً ذکر شد ، من تراشه حافظه "CAT24C32" را نیز برای حفظ نیاز به سازگاری HAT اضافه کردم.
مرحله 1: Raspberry Pi 3b
در مورد Raspberry Pi ، من این پروژه را با استفاده از Raspberry Pi 3b استاندارد ، به همراه آخرین نسخه Raspberry Pi IOS (Raspian) که می توانم بارگیری و نصب کنم ، ساختم.
چیز خاصی اونجا نیست من چندین سال آن واحد را در اختیار داشتم و بیشتر برای من خوب کار می کرد (خوب - خروجی ویدئو HDMI مرده است ، بنابراین مجبورم بدون استفاده از TeamViewer بدون سر کار کنم). شما نیازی به انجام این کار ندارید.
من گمان می کنم که هر RPi باید بتواند به WIZ820io / USR -ES1 - Wiznet W5500 متصل شود و این کار را انجام دهد ، همچنین بسیاری از مارک های دیگر در همان بازار (Beagle Bone ، Orange ، Tinker و غیره) رقابت می کنند و از مشابهی استفاده می کنند مدل سیستم عامل مبتنی بر لینوکس
من تجربه صفر با هر یک از آنها دارم. من تجربه کمی در مورد تمشک دارم - ببینید کجا من را به این نتیجه رساند:)
مرحله 2: اتصال ماژول Wiznet WIZ820io به گذرگاه رزبری پای GPIO
تصاویر پیوست را مرور کنید.
ماژول Wiznet WIZ820io دو ردیف از 6 پین برای رابط کاربری فراهم می کند.
ردیف ها به ترتیب "J1" و "J2" برچسب گذاری شده اند.
برگه داده ای که ارائه می دهند دارای نمودار رنگی بسیار زیبا از هر پین است. این نمودار به منظور کمک به شما در اتصال آن پین ها به پین های Raspberry PI GPIO است. آنها به خوبی یک نام برای مطابقت NAME هستند.
Pinout رزبری پای را می توانید در اینجا پیدا کنید: pinout.xyz
من آن پین ها را به شرح زیر متصل کردم (تصویر پیوست را ببینید):
البته ، از آنجا که من یک برد مدار واقعی درست کردم ، همه Grounds (GND) به هم متصل بودند. پین های 3.3 ولت نیز همینطور است - برد مدار من آنها را به هم وصل کرد.
چند نکته قابل توجه..
شماره 1 - J2 Pin #5 - RSTn - آن را به RPi GPIO #17 وصل کردم (پین شماره 11) - این احتیاط آمیز بود. من اعتقاد ندارم که استفاده می شود.
دوم - J1 پین شماره 6 - INTn - که به GPIO25 متصل است (پین شماره 22). این مورد ضروری است ، زیرا در مرحله پیکربندی Raspberry Pi IOS ، ما به این مورد اشاره می کنیم.
سوم - J1- پین شماره 5 - SCNn - که به Raspberry Pi "CS0" (پین شماره 24) متصل است. به طور م thatثر ، آدرس "ماژول 0" در گذرگاه RPi SPI را به این ماژول می دهد. دوباره ، در مرحله پیکربندی Raspberry Pi IOS ، ما به این مورد اشاره می کنیم.
مرحله 3: برد مدار من
پیوست طرح کلی عقاب "نقطه به نقطه" است که با آن فایل های Gerber را ایجاد کرده ام.
همچنین تصاویری از "برد مدار" که برای این پروژه تهیه کرده ام ضمیمه شده است.
این برد تعدادی از محصولات مختلف Wiznet به سبک WIZ820io را می پذیرد.
مرحله 4: پیکربندی Raspberry Pi IOS (قبلا Raspian) - مطالب موجود در پوشه "boot"
برای اینکه Raspberry Pi ماژول WIZ820io تازه نصب شده را در گذرگاه SPI خود "ببیند" ، IOS باید آگاه باشد ، بنابراین می تواند در "BOOT Up" با آن برخورد کند.
برای انجام این کار ، ما به سادگی دو خط به:../../boot/config.txt اضافه می کنیم
اول.. استفاده از پنجره ترمینال / پنجره ==> ls
cd../boot ، به مسیر../boot بروید و فهرست (ls) دایرکتوری را لیست کنید
به تصویر پیوست مراجعه کنید.. در آنجا باید به دنبال وجود دو مدخل باشید و آنها را تأیید کنید - من آنها را با رنگ قرمز حلقه کرده ام.
یکی فایلی با نام: "config.txt"
دومی پوشه ای است به نام: "overlays"
== == == ==
پس از تأیید وجود هر دوی این ورودی ها ، می توانید به مرحله بعدی ادامه دهید
مرحله 5: پیکربندی Raspberry Pi IOS (قبلا Raspian) - مطالب موجود در فهرست "overlays"
تغییر دایرکتوری به فهرست "overlays"
نوع: روکش های cd
پس از زدن کلید "enter" ، شما را به پوشه "overlays" می برد (تصویر پیوست شده را ببینید).
محتویات فهرست را فهرست کنید.
نوع: ls
پس از زدن کلید "enter" ، باید فهرستی طولانی از محتویات آن فهرست مشاهده کنید. لیست ممکن است بر اساس حروف الفبا باشد.
(به تصاویر ضمیمه شده (2 مورد) مراجعه کنید). توجه داشته باشید که تقریباً همه فایلها با پسوند: *.dtbo نامگذاری شده اند ، همچنین ممکن است متوجه چند مورد با پسوند: *.dtb
اینها همه فایلهای همپوشانی "Device Tree" هستند
شما باید وجود دو فایل "همپوشانی" را تأیید کنید (به فایلهای پیوست تصویر مراجعه کنید).
اول - فایلی با نام: anyspi.dtbo (برای این مورد ، ممکن است لازم باشد از نوار پیمایش در حاشیه سمت راست پنجره برای حرکت به بالا و پیدا کردن anyspi.dtbo به ترتیب حروف استفاده کنید).
دوم - فایلی به نام w5500.dtbo
== == ==
اگر می توانید تأیید کنید که هر دوی این فایل ها وجود دارند ، در وضعیت خوبی هستید و می توانید به فهرست../boot بازگردید.
تایپ کنید: cd../ پس از زدن کلید ENTER ، باید به فهرست / boot برگردید.
فهرست موردنظر را برای تأیید لیست کنید: تایپ کنید: ls و کلید ENTER را بزنید
مرحله 6: پیکربندی Raspberry Pi IOS (قبلا Raspian) - ویرایش فایل با نام: Config.txt
در دایرکتوری../boot ، اکنون می توانیم چند ویرایش کوچک را در پرونده ای با نام: config.txt انجام دهیم.
ابتدا با ویرایشگر "nano" به عنوان "کاربر فوق العاده" تماس می گیریم (sudo)
sudo = 'superuser'
nano ویرایشگر متنی است که ما از آن استفاده خواهیم کرد
و همانطور که اشاره شد ، config.txt فایلی است که می خواهیم ویرایش کنیم.
تایپ کنید: sudo nano config.txt و ضربه بزنید ENTER.
با این کار ویرایشگر ظاهر می شود و محتوای فایل config.txt نمایش داده می شود. اگر ویرایشگر باز نمی شود یا خالی باز می شود ، پس از خروج (در صورت نانو) و املای خود را دوباره بررسی کنید.
اگر همه چیز خوب پیش رفت ، باید چیزی شبیه به تصویر پیوست دوم را ببینید. "nano" "بالای" فایل را نمایش می دهد. شما باید به پایین حرکت کنید.
در انتهای فایل ، دو عبارت "dtoverlay" را در زیر اضافه کنید:
dtoverlay = anyspi، spi0-0، dev = "w5500"، speed = 30000000dtoverlay = w5500
همه املا را دوبار بررسی کنید و در صورت مطابقت ، دو کلید "Ctrl-x" را برای خروج فشار دهید.. و برای ذخیره و خروج به طور مناسب پاسخ دهید.
== == == ==
در راه اندازی بعدی (و برای همه بوت های بعد از آن اگر این دو عبارت در آنجا باقی بمانند) سیستم عامل هم اکنون رویه ای با نام "anyspi" و روکش با نام "w5500" را فراخوانی می کند.
روکش "anyspy" سیستم عامل را برای استفاده از گذرگاه SPI0-0 آماده می کند (جایی که قبلاً WIZ820io را به صورت فیزیکی به آن متصل کرده بودیم. "-0" آن را برای استفاده از آدرس "0" مشخص می کند-به یاد بیاورید که قبلاً پین WIZ820io را وصل کرده بودیم #J1-6 به "مدیر عامل" RPi GIPO (پین شماره 24).
روکش "w5500" به سیستم عامل می گوید که چگونه با مدار یکپارچه W5500 واقع در ماژول WIZ820io برخورد کند. همچنین استفاده از RPi GPIO25 (پین #22) را به عنوان سیگنال INTn تعریف می کند. یکبار دیگر به یاد بیاورید که قبلاً این اتصال را برقرار کرده بودیم.
این نوع اطلاعات را می توان در پرونده های مختلف یافت ، مانند این مثال در GITHub.
== == ==
زمان راه اندازی مجدد RPI فرا رسیده است و همه این موارد موثر واقع می شوند.
مرحله 7: دوباره راه اندازی کردیم. امیدوارم لبخند بزنید
اگر همه چیز خوب پیش رفت ، RPi شما باید به طور معمول دوباره راه اندازی شود. لبخند.
زمان بررسی این است که آیا IOS دو فایل همپوشانی جدید را بارگذاری کرده است یا ماژول WIZ820io پیوست را تشخیص می دهد یا خیر.
یکبار دیگر پنجره "Command" را باز کنید.
این بار در فوری ، ifconfig را تایپ کنید (یا از دستور "ip" جدیدتر استفاده کنید) و کلید Enter را بزنید.
احتمالاً پاسخ طولانی دریافت خواهید کرد ، بنابراین باید به بالا حرکت کنید.
در بالا ، به دنبال دو بخش باشید:
یکی به نام eth0 و دیگری به نام: eth1 - به تصویر ضمیمه شده مراجعه کنید.
در سیستم من ، eth0 پورت اترنت روی RPI است. eth1 پورت اترنت جدید WIZ820io است.
== == ==
اگر دو پورت را مشاهده می کنید ، RPI نیز مشاهده می شود. توجه داشته باشید که در تصویر پیوست ، eth1 بسته هایی را ارسال کرده است ، بدون خطا.
من این را با جدا کردن کابل پورت اصلی و استفاده از مرورگر برای رفتن به YouTube و سایر وب سایت ها آزمایش کرده ام. کار می کند. من همچنین آن را از چند دستگاه مختلف "پینگ" کرده ام و کار می کند.
== == ==
اگر eth1 (یا چیزی شبیه آن) را مشاهده نمی کنید - به غیر از eth0 در RPI3 یا RPi4 ، سپس به عقب برگردید و دوباره بررسی کنید که config.txt به درستی ویرایش و ذخیره شده است. مطمئن شوید که دو روکش در جای خود قرار دارند و املا درست است (بدون وجود حروف بزرگ در جایی که آنها را ندارم - حروف بزرگ در این سیستم اهمیت دارند).
== == ==
اگر دو پورت وجود داشته باشد ، ممکن است کمی پیکربندی بیشتری انجام شود … به مرحله بعدی بروید….
مرحله 8: پیکربندی Raspberry Pi IOS (قبلا Raspian) - تنظیم آدرس IP
این کمی خارج از خانه چرخ من است ، بنابراین در این زمان من قادر به ارائه راهنمایی نیستم.
فقط بدانید که تعداد بیشماری وب سایت ، ویدیوهای YouTube و تابلوهای پیام وجود دارد که این نوع اطلاعات را ارائه می دهند.
اما.. ممکن است بخواهید بررسی کنید و چند کار را در اینجا انجام دهید.
1 - آدرس IP موجود در پورت جدید خود را دوباره بررسی کنید. آیا توسط سرور DHP شما تعیین شده است یا IP پیش فرض است - چیزی در محدوده: 169.254.xxx.yyy؟ چیز دیگه ای هست ؟؟
2- آیا می خواهید یک آدرس IP ثابت (ثابت) یا یک آدرس IP پویا (تعیین شده توسط سرور DHCP شما).
سوئیچ / روتر را که RPI شما به آن متصل است بررسی کنید.. آیا پورت جدید شما را می بیند؟ آیا می تواند آن را "پینگ" کند؟ (در صورت انجام این کار حتما کابل پورت اصلی را جدا کنید - در غیر این صورت RPi ممکن است شما را فریب دهد).
از ifconfig (یا دستور جدیدتر "ip") استفاده کنید تا ببینید که داده ها که می آیند و می روند "عادی" (به اصطلاح) و بدون تعداد خطای بی مورد.
== == ==
در نهایت.. من معتقدم که w5500.dtbo آدرس MAC را به ماژول WIZ820io / W5500 اختصاص می دهد.. اما نمی توانم به طور قطعی بگویم که در کجا اتفاق می افتد. من نتوانستم بلافاصله جزئیاتی در مورد آن پیدا کنم.
به نظر من هر بار که بوت می شود یک آدرس MAC دیگر تعیین می شود. من شخصاً آن را دوست ندارم ، و در نتیجه مواردی وجود دارد که می توان برای تنظیم آدرس مک (به عنوان مثال برنامه "macchanger" یا تنظیم آن از طریق دستورات ip / ifconfig) انجام داد. اگر هریک از شما راه حلی برای راه اندازی "boot-up" / "crontab" برای این مورد پیدا کرد ، خوشحال می شوم در مورد نحوه انجام این کار در صورت تمایل به اشتراک گذاری صحبت کنید.
شما می توانید مال من را در تصویر مشاهده کنید.. وقتی به دنبال فروشنده آدرس Mac برای eth0 ==> b827eb می گردم ، به عنوان بنیاد Raspberry Pi ظاهر می شود. فروشنده برای eth1 ==> fa9770 ناشناخته ظاهر می شود ، بنابراین بدیهی است که در برخی از موارد بر روی Pi من ایجاد شده است.
مرحله 9: نتیجه گیری
با تشکر برای بررسی این دستورالعمل
من در این پروژه کوچک کمی کار کردم.
در صورت داشتن هرگونه س ،ال ، یا علاقه به خرید یکی از تخته هایی که من ساخته ام (پرجمعیت یا غیر) ، چند مورد اضافی دارم که برای فروش هستند و می توانیم درباره آنها بحث کنیم.
در هر صورت ، من از شما می خواهم که نظرات خود را بنویسید ، اصلاحاتی را پیشنهاد دهید (غلط املایی یا روش یا ؟؟)
مطمئناً اگر این را برای خودتان تهیه کنید ، بسیار خوشحال می شوم عکس هایی از نحوه برخورد با آن و نتایج / هدف نهایی شما را ببینم.
با تشکر.
P. S: از این شخص برای راهنمایی و ایده ها تشکر می کنم.
مرحله 10: فایل های DTBO
دو فایل برای افزودن به پوشه "overlays" - مورد نیاز برای مراحل شماره 4 و 5
توصیه شده:
UPS خود را Steam Punk کنید تا ساعتهای به روز برای روتر Wi-Fi خود دریافت کنید: 4 مرحله (همراه با تصاویر)
UPS شما Steam Punk می کند تا ساعتهای به روز برای روتر Wi-fi شما دریافت کند: در مورد اینکه UPS شما قدرت باتری 12 ولت DC خود را به برق AC 220 ولت تبدیل کند ، چیزی اساساً مخالف است تا ترانسفورماتورهای روتر و فیبر ONT شما بتوانند آن را دوباره به 12 ولت DC! شما همچنین با [معمولاً
از ایده های خود محافظت کنید ، از کار خود محافظت کنید: 8 مرحله
از ایده های خود محافظت کنید ، از کار خود محافظت کنید: من چند روز پیش اطلاعات را در اثر خرابی رایانه از دست دادم. کار یک روز از بین رفت.:/ من داده های خود را در ابر ذخیره می کنم تا از نقص دیسک سخت جلوگیری شود. من از یک نرم افزار نسخه سازی استفاده می کنم تا بتوانم نسخه های قدیمی کار خود را بازیابی کنم. من هر روز یک نسخه پشتیبان تهیه می کنم. اما این بار من
بلوتوث را به استریوی ماشین قدیمی خود اضافه کنید: 5 مرحله
بلوتوث را به استریوی ماشین قدیمی خود اضافه کنید: سلام به همه! این برای اولین بار است که برخی از این پروژه ها را به اشتراک می گذارم ، امیدوارم بتوانید حداقل ایده هایی برای زنده کردن استریو ماشین قدیمی خود داشته باشید. lenguaje بومی من انگلیسی نیست ، بنابراین ، متأسفم اگر دستور زبان یا دستور زبان من درست نیست
چشمک زدن LED با تمشک پای - نحوه استفاده از پین های GPIO در رزبری پای: 4 مرحله
چشمک زدن LED با تمشک پای | نحوه استفاده از پین های GPIO در Raspberry Pi: سلام بچه ها در این دستورالعمل نحوه استفاده از GPIO's Raspberry pi را یاد می گیریم. اگر تا به حال از آردوینو استفاده کرده اید ، احتمالاً می دانید که ما می توانیم سوئیچ LED و غیره را به پین های آن وصل کرده و آن را مانند کار کنیم. چشمک بزنید یا ورودی را از سوئیچ دریافت کنید تا
نمودارهای خود را برای داده های IOT خود در PI تمشک ایجاد کنید: 3 مرحله
ایجاد نمودارهای شخصی برای داده های IOT من در PI تمشک: لطفاً اگر می خواهید بتوانید نمودارهای IOT خود را با استفاده از 7 خط کد ایجاد کنید ، بخوانید. من می خواستم نمودارهایی برای نمایش داده ها در قالب گرافیکی از حسگرهای IOT خود ایجاد کنم. در یک صفحه وب قبلاً ، برای این کار ، از خدمات شخص ثالث استفاده کرده بودم (برخی از