فهرست مطالب:

شروع کار با آردوینو و اترنت: 8 مرحله
شروع کار با آردوینو و اترنت: 8 مرحله

تصویری: شروع کار با آردوینو و اترنت: 8 مرحله

تصویری: شروع کار با آردوینو و اترنت: 8 مرحله
تصویری: دانلود و نصب آردینو🧑‍💻 | آشنایی با محیط نرم افزار 🤨🤓(آموزش آردینو قسمت اول) 2024, نوامبر
Anonim
شروع کار با آردوینو و اترنت
شروع کار با آردوینو و اترنت

آردوینو شما به راحتی می تواند از طریق اتصال سیمی اترنت با دنیای خارج ارتباط برقرار کند. با این حال ، قبل از شروع ، فرض بر این است که شما درک اولیه ای از شبکه های کامپیوتری دارید ، مانند دانش نحوه اتصال رایانه ها به هاب/روتر با کابل RJ45 ، آدرس IP و MAC چیست و غیره. علاوه بر این ، در اینجا یک مرور سریع خوب در مورد اترنت ارائه شده است.

شما به یک Arduino Uno یا برد سازگار با سپر اترنت نیاز دارید که از IC کنترل کننده W5100 Ethernet (تقریباً همه آنها) مطابق تصویر استفاده می کند.

علاوه بر این ، شما باید برد را از طریق سوکت DC خارجی تغذیه کنید - IC W5100 از جریان بیشتری نسبت به منبع تغذیه USB استفاده می کند. یک بسته پلاگین 9V 1.5A/زگیل دیواری کافی است.

مرحله 1:

تصویر
تصویر

سرانجام - سپرها داغ می شوند - بنابراین مراقب باشید که پس از استفاده طولانی مدت W5100 را لمس نکنید. اگر مطمئن نیستید - این IC W5100 است.

گام 2:

هنگامی که Arduino خود را با اترنت فعال کرده اید و برق خارجی را وصل کرده اید-بهتر است همه اینها را بررسی کنید. Arduino IDE را باز کرده و File> Examples> Ethernet> Webserver را انتخاب کنید. این یک طرح ساده را بارگذاری می کند که داده های جمع آوری شده از ورودی های آنالوگ را در مرورگر وب نمایش می دهد. با این حال هنوز آن را بارگذاری نکنید ، به کمی تغییر نیاز دارد.

شما باید آدرس IP سپر اترنت را مشخص کنید - که در داخل طرح انجام می شود. این ساده است ، به خط بروید:

IP IP (10 ، 1 ، 1 ، 77) ؛

و آن را تغییر دهید تا با تنظیمات خود مطابقت داشته باشد. به عنوان مثال ، در خانه ما آدرس IP روتر 10.1.1.1 ، چاپگر 10.1.1.50 است و همه رایانه های شخصی زیر… 50 هستند. بنابراین من IP محافظ خود را با تغییر خط به: 10.1.1.77 تنظیم می کنم.

بایت مک = {0xDE ، 0xAD ، 0xBE ، 0xEF ، 0xFE ، 0xED} ؛

اما اگر فقط یک سپر دارید ، آن را رها کنید. ممکن است از نظر آماری این احتمال بسیار بسیار نادر برای داشتن آدرس MAC مشابه سخت افزار موجود شما وجود داشته باشد ، بنابراین زمان دیگری برای تغییر آن خواهد بود.

مرحله 3:

تصویر
تصویر

اما اگر فقط یک سپر دارید ، آن را رها کنید. ممکن است این شانس بسیار بسیار بسیار آماری برای داشتن آدرس MAC مشابه سخت افزار موجود شما وجود داشته باشد ، بنابراین زمان دیگری برای تغییر آن خواهد بود.

پس از انجام تغییرات ، طرح را ذخیره و بارگذاری کنید. اکنون یک مرورگر وب را باز کرده و به آدرس IP ای که در طرح وارد کرده اید بروید ، و چیزی شبیه به تصویر در اختیار شما قرار می گیرد.

چه اتفاقی می افتد؟

Arduino برنامه ریزی شده است تا یک صفحه وب ساده با مقادیر اندازه گیری شده توسط ورودی های آنالوگ ارائه دهد. برای دریافت مقادیر به روز شده می توانید مرورگر را بازخوانی کنید. در این مرحله - لطفاً توجه داشته باشید که سپرهای اترنت از پین های دیجیتال 10 ~ 13 استفاده می کنند ، بنابراین نمی توانید از آنها برای چیزهای دیگر استفاده کنید. برخی از سپرهای آردوینو اترنت نیز ممکن است دارای سوکت کارت microSD باشند که از پین دیجیتالی دیگری نیز استفاده می کند - بنابراین برای اطلاع از کدام یک از آنها با اسناد و مدارک مشورت کنید.

مرحله 4:

با این وجود ، اکنون که می بینیم سپر اترنت کار می کند ، می توانیم به سراغ چیز مفیدتری برویم. بیایید مثال قبلی را به روش ساده تجزیه کنیم و ببینیم چگونه می توانیم داده های جالب تر را در شبکه توزیع و نمایش دهیم. برای مرجع ، همه توابع مربوط به اترنت توسط کتابخانه اترنت آردوینو اداره می شوند. اگر طرح قبلی را که استفاده کردیم بررسی کنید ، قسمتی که برای شما جالب خواهد بود این است:

for (int analogChannel = 0؛ analogChannel <6؛ analogChannel ++) {int sensorReading = analogRead (analogChannel)؛ client.print ("ورودی آنالوگ") ؛ client.print (analogChannel) ؛ client.print ("است") ؛ client.print (sensorReading) ؛ client.println ("")؛ } client.println ("")؛

امیدوارم این بخش از طرح باید آشنا باشد - به یاد داشته باشید که چگونه از serial.print () استفاده کرده ایم. در گذشته هنگام ارسال داده ها به جعبه مانیتور سریال؟ خوب ، اکنون ما می توانیم همان کار را انجام دهیم ، اما ارسال داده از سپر اترنت به مرورگر وب - به عبارت دیگر ، یک نوع بسیار ساده از صفحه وب. با این حال ، چیزی وجود دارد که ممکن است بخواهید یا نخواهید یاد بگیرید تا قالب بندی شود خروجی با فرمت قابل خواندن - کد HTML. من توسعه دهنده وب سایت نیستم (!) بنابراین زیاد در HTML جستجو نمی کنم.

اما اگر می خواهید صفحات وب را با قالب بندی زیبا با آردوینو و غیره ارائه دهید ، در اینجا شروع خوبی خواهد بود. به منظور سادگی ، دو عملکرد زیر مفیدترین هستند:

client.print ("است") ؛

Client.print ()؛ به ما امکان می دهد متن یا داده را به صفحه وب ارسال کنیم. این به همان روش serial.print () کار می کند ، بنابراین چیز جدیدی وجود ندارد. همچنین می توانید نوع داده را به همان روشی که در serial.print () وجود دارد ، مشخص کنید. به طور طبیعی می توانید از آن برای ارسال اطلاعات نیز استفاده کنید. خط مفید دیگر این است:

client.println ("")؛

که کد HTML را مجدداً به مرورگر وب ارسال می کند و می گوید که خط جدیدی را شروع کند. قسمتی که در واقع باعث بازگشت/خط جدید واگن می شود ، این است

که یک کد HTML (یا "برچسب") برای یک خط جدید است.

بنابراین اگر در حال ایجاد صفحات وب پیچیده تری هستید ، فقط می توانید سایر تگ های HTML را در client.print () وارد کنید. بیانیه. اگر می خواهید در مورد دستورات HTML اطلاعات بیشتری کسب کنید ، اینجا یک سایت آموزشی خوب است.

در نهایت - توجه داشته باشید که طرح فقط داده ها را هنگامی که درخواست شده است ارسال می کند ، یعنی زمانی که از مرورگر وب درخواست دریافت کرده است.

مرحله 5: دسترسی به آردوینو از طریق اینترنت

دسترسی به آردوینو از طریق اینترنت
دسترسی به آردوینو از طریق اینترنت

تا کنون خیلی خوب. اما اگر بخواهید از خارج از شبکه محلی به Arduino خود دسترسی پیدا کنید ، چطور؟

شما به یک آدرس IP ثابت نیاز دارید - یعنی آدرس IP ارائه دهنده خدمات اینترنتی شما به اتصال شما اختصاص می دهد و باید ثابت بماند. اگر IP ثابت ندارید ، تا زمانی که مودم/روتر خود را به طور دائم روی IP خود تغییر دهید ، نباید تغییر کند. با این حال ، این یک راه حل بهینه نیست.

اگر ISP شما اصلاً نمی تواند IP ثابت به شما ارائه دهد ، می توانید با استفاده از سازمانی که DNS پویا را ارائه می دهد ، پروژه را پیش ببرید. این سازمانها به جای شماره ، نام میزبان IP ثابت خود را (به عنوان مثال mojo.monkeynuts.com) به شما ارائه می دهند ، آدرس IP تغییر یافته خود و پیوند آن به نام میزبان جدید را پیگیری کنید. از آنچه می توانم جمع آوری کنم ، مودم شما باید از این خدمات DDNS پشتیبانی کند (دارای یک مشتری داخلی برای …).

به عنوان مثال ، دو شرکت No-IP وDynDNS.com هستند. لطفاً توجه داشته باشید که من از آن دو استفاده نکرده ام ، آنها فقط به عنوان مثال ارائه شده اند. اکنون ، برای پیدا کردن آدرس IP خود … معمولاً با ورود به صفحه مدیریت روتر خود می توانید این را پیدا کنید - معمولاً 192.168.0.1 است اما می تواند متفاوت باشد. در صورت تامین سخت افزار با تامین کننده یا ISP خود مشورت کنید. برای این مثال ، اگر 10.1.1.1 را در مرورگر وب وارد کنم و پس از وارد کردن رمز مدیریت مودم ، صفحه زیر مطابق تصویر نمایش داده می شود.

مرحله 6:

تصویر
تصویر

آنچه شما به دنبال آن هستید آدرس IP WAN شما است ، همانطور که در تصویر بالا مشاهده می کنید. برای دور نگه داشتن افراد شوخی ، برخی از آدرس های خود را سیاه کرده ام.

کار بعدی این است که port-forwarding را روشن کنید. این به روتر می گوید که درخواست های ورودی را از کجا خارج کند. هنگامی که مودم چنین درخواستی دریافت می کند ، ما می خواهیم آن درخواست را به شماره پورت سپر اترنت خود ارسال کنیم. با استفاده از:

سرور EthernetServer (125) ؛

عملکرد در طرح ما شماره پورت را روی 125 تنظیم کرده است. صفحه پیکربندی هر مودم متفاوت به نظر می رسد ، اما به عنوان مثال در اینجا یکی در تصویر آمده است.

مرحله 7:

تصویر
تصویر

بنابراین می توانید از خط شماره یک در تصویر بالا مشاهده کنید ، شماره های ورودی ورودی روی 125 تنظیم شده است ، و آدرس IP سپر اترنت روی 10.1.1.77 تنظیم شده است - همانند طرح.

پس از ذخیره تنظیمات ، همه چیز آماده است. آدرس خارجی سپر اترنت من WAN: 125 خواهد بود ، بنابراین برای دسترسی به آردوینو آدرس WAN خود را با: 125 در انتها در مرورگر دستگاه وب از راه دور تایپ می کنم که با سخت افزار اترنت تنها در خانه تماس می گیرد.

علاوه بر این ، ممکن است لازم باشد تنظیمات فایروال مودم خود را تغییر دهید تا پورت 125 برای درخواستهای ورودی "باز" باشد. لطفاً برای اطلاعات بیشتر در مورد نحوه انجام این کار ، اسناد مودم خود را بررسی کنید. اکنون از هر دستگاه متصل به اینترنت در جهان آزاد ، می توانم شماره WAN و پورت خود را در قسمت URL وارد کرده و نتایج را دریافت کنم. به عنوان مثال ، از تلفن هنگامی که از طریق داده تلفن همراه LTE به اینترنت متصل است.

بنابراین در این مرحله اکنون می توانید داده ها را در یک صفحه وب ساده ایجاد شده توسط آردوینو نمایش داده و از هر جایی با دسترسی نامحدود به اینترنت به آن دسترسی داشته باشید. با دانش قبلی آردوینو ، اکنون می توانید از داده های حسگرها یا سایر قسمتهای طرح استفاده کرده و آنها را برای بازیابی نمایش دهید.

مرحله 8: نمایش داده های حسگر در یک صفحه وب

نمایش داده های حسگر در صفحه وب
نمایش داده های حسگر در صفحه وب

به عنوان مثال برای نمایش داده های حسگر در صفحه وب ، بیایید از یک سنسور ارزان و محبوب دما و رطوبت - DHT22 استفاده کنیم. شما باید کتابخانه DHT22 Arduino را که در این صفحه یافت می شود نصب کنید. اگر این اولین بار است که با DHT22 کار می کنید ، با طرح نمونه ای که در کتابخانه موجود است آزمایش کنید تا نحوه عملکرد آن را درک کنید.

DHT22 را با پین داده به Arduino D2 ، Vin را به پین 5V و GND را به … GND وصل کنید. در حال حاضر برای طرح ما - برای نشان دادن دما و رطوبت در یک صفحه وب. اگر HTML را نمی شناسید ، می توانید از خدمات آنلاین مانند این برای تولید کد استفاده کنید ، و سپس می توانید آنها را برای استفاده در طرح تغییر دهید. در مثال زیر ، داده های دما و رطوبت از DHT22 در یک صفحه وب ساده ارائه می شود:

#شامل "SPI.h"#شامل "Ethernet.h"

// برای سنسور DHT22

#شامل "DHT.h" #تعریف DHTPIN 2 #تعریف DHTTYPE DHT22

// آدرس MAC و آدرس IP کنترل کننده خود را در زیر وارد کنید.

// آدرس IP به شبکه محلی شما بستگی دارد: byte mac = {0xDE، 0xAD، 0xBE، 0xEF، 0xFE، 0xED}؛ IP IP (10 ، 1 ، 1 ، 77) ؛

// کتابخانه سرور اترنت را اولیه کنید

// با آدرس IP و پورتی که می خواهید استفاده کنید // (پورت 80 برای HTTP پیش فرض است): سرور EthernetServer (125) ؛ DHT dht (DHTPIN ، DHTTYPE) ؛

void setup ()

{dht.begin ()؛ // ارتباطات سریال را باز کرده و منتظر بمانید تا پورت باز شود: Serial.begin (9600) ؛ در حالی که (! سریال) {؛ // منتظر بمانید تا پورت سریال متصل شود. فقط برای لئوناردو لازم است} // اتصال اترنت و سرور را شروع کنید: Ethernet.begin (mac، ip)؛ server.begin ()؛ Serial.print ("سرور در" است) ؛ Serial.println (Ethernet.localIP ()) ؛ }

حلقه خالی ()

{// گوش دادن به کلاینت های ورودی EthernetClient client = server.available ()؛ if (client) {Serial.println ("مشتری جدید") ؛ // درخواست http با خط خالی boolean currentLineIsBlank = true خاتمه می یابد. while (client.connected ()) {if (client.available ()) {char c = client.read ()؛ Serial.write (c)؛ // اگر به انتهای خط رسیده اید (یک خط جدید // کاراکتر دریافت کرده اید) و خط خالی است ، درخواست http به پایان رسیده است ، // بنابراین اگر (c == 'n' && currentLineIsBlank) {// ارسال یک سرصفحه استاندارد http client.println ("HTTP/1.1 200 OK") ؛ client.println ("نوع محتوا: text/html")؛ client.println ("اتصال: بستن")؛ // اتصال پس از اتمام پاسخ client.println ("بازخوانی: 30") بسته می شود ؛ // صفحه را به طور خودکار در هر 30 ثانیه client.println () تازه کنید. client.println ("")؛

client.println ("")؛

// دریافت اطلاعات از حسگر DHT22

float h = dht.readHumidity ()؛ float t = dht.readTemperature ()؛ Serial.println (t)؛ Serial.println (h)؛

// از اینجا می توانیم کد HTML خود را برای ایجاد صفحه وب وارد کنیم

client.print ( آب و هوای دفتر

دمای دفتر - )؛

client.print (t)؛

client.print ( درجه سانتیگراد

);

client.print ("

رطوبت - ) ؛

client.print (h)؛

client.print ( درصد

);

client.print ("

صفحه هر 30 ثانیه تازه می شود <

. );

زنگ تفريح؛

} if (c == 'n') {// خط جدیدی را شروع می کنید currentLineIsBlank = true؛ } else if (c! = 'r') {// در خط جاری یک کاراکتر به دست آورده اید currentLineIsBlank = false؛ }}} // به مرورگر وب زمان دهید تا تأخیر داده ها را دریافت کند (1) ؛ // بستن اتصال: client.stop ()؛ Serial.println ("اتصال مشتری قطع شده است")؛ }}

این یک تغییر در طرح نمونه وب سرور IDE است که قبلاً استفاده کردیم - با چند تغییر. ابتدا ، صفحه وب به طور خودکار هر 30 ثانیه بازخوانی می شود - این پارامتر در خط تنظیم شده است:

client.println ("بازخوانی: 30") ؛ // هر 30 ثانیه صفحه را به طور خودکار بازخوانی کنید

… و HTML سفارشی برای صفحه وب ما از زیر خط شروع می شود:

// از اینجا می توانیم کد HTML خود را برای ایجاد صفحه وب وارد کنیم

سپس می توانید به سادگی HTML مورد نیاز را در داخل تابع client.print () وارد کنید تا طرح مورد نیاز شما ایجاد شود.

بنابراین ، راه مفید دیگری برای تعامل Arduino با دنیای خارج است. این پست توسط pmdway.com به شما ارائه می شود - همه چیز برای سازندگان و علاقه مندان به لوازم الکترونیکی ، با ارسال رایگان به سراسر جهان.

توصیه شده: