در این پروژه قصد داریم یک کلاینت HTTP ساده با ماژول WiFi ESP8266 ایجاد کنیم. با اتصال ESP8266 به شبکه، قیمت فعلی بیت کوین با ESP8266 را درخواست می کند. این نمونه ای از نحوه دریافت داده ها از وب است.

قبل از خواندن این پست، توصیه می کنم این آموزش را در مورد ESP8266 بخوانید:
NodeMCU یک فریمور است که به شما امکان می دهد ماژول های ESP8266 را با اسکریپت LUA برنامه ریزی کنید. پس از مقداری کار با این فریمور خواهید دید که نحوه کار ان بسیار شبیه به اردوینو است. تنها با چند خط کد می توانید یک اتصال WiFi برقرار کنید، GPIO های ESP8266 را کنترل کنید، ESP8266 خود را به یک وب سرور تبدیل کنید و خیلی چیزهای دیگر. این آموزش را دنبال کنید تا ESP8266 خود را با NodeMCU فلش کنید.
شماتیک(اتصالات با پروگرمر ftdi 3.3V)
شماتیک های این پروژه بسیار ساده است. فقط باید یک ارتباط سریال بین پروگرمر FTDI و ESP8266 خود برقرار کنید.

اتصالات:
- RX -> TX
- TX -> RX
- CH_PD -> 3.3V
- VCC -> 3.3V
- GND -> GND

ماژول ESP8266 خود را با NodeMCU فلش کنید
پس از سیم کشی مدار خود، باید NodeMCU Flasher را دانلود کنید. این یک فایل exe است که می توانید با استفاده از یکی از لینک های زیر دانلود کنید:
برای یافتن تمام اطلاعات در مورد NodeMCU Flasher می توانید اینجا را کلیک کنید.
نرم افزاری را که دانلود کرده اید باز کنید و یک پنجره ظاهر می شود (همانطور که در شکل زیر نشان داده شده است).

دکمه “Flash” را فشار دهید و بلافاصله فرآیند چشمک زدن شروع می شود (شاید مجبور شوید برخی از تنظیمات را در تب Advanced تغییر دهید). پس از اتمام این فرآیند، باید یک دایره سبز رنگ ظاهر شود.
دانلود ESPlorer
توصیه می کنم از برنامه ESPlorer برای ایجاد و ذخیره فایل های LUA در ESP8266 خود استفاده کنید. برای دانلود و نصب ESPlorer این دستورالعمل ها را دنبال کنید:
- برای دانلود ESPlorer اینجا کلیک کنید
- فایل را از حالت فشرده خارج کنید
- به پوشه dist بروید (این مسیر: ESPlorer-master\ESPlorer\dist)
- ESPlorer.jar را اجرا کنید. این یک برنامه JAVA است، بنابراین باید جاوا را روی رایانه خود نصب کنید.
- ESPlorer را باز کنید

نحوه ارسال دستورات دریافت قیمت بیت کوین با ESP8266
هنگامی که ESPlorer را باز می کنید، باید پنجره ای مشابه شکل قبل مشاهده کنید، دستورالعمل های زیر را برای ارسال دستورات به ESP8266 خود دنبال کنید:
- پروگرمر FTDI خود را به رایانه خود وصل کنید
- پورت پروگرمر FTDI خود را انتخاب کنید (برای مثال COM8)
- Open/Close را فشار دهید
- تب NodeMCU+MicroPtyhon را انتخاب کنید
- اسکریپت زیر را در ESPlorer کپی کنید
توجه: باید اطلاعات شبکه خود را به خط 2 اضافه کنید.
wifi.setmode(wifi.STATION)
wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")
print(wifi.sta.getip())
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(80,"api.coindesk.com")
conn:send("GET /v1/bpi/currentprice.json HTTP/1.1\r\nHost: api.coindesk.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
سپس روی دکمه Send to ESP کلیک کنید. و باید مشاهده کنید که یک درخواست با قیمت فعلی بیت کوین و چند جزئیات دیگر در صفحه نمایش شما ظاهر می شود. هر چیزی که باید در مورد آن توجه به خرج دهید یا تغییر دهید در کادر قرمز رنگ در شکل زیر مشخص شده است.

داده های دریافت شده
این اطلاعاتی است که ESP8266 شما درخواست می کند، می توانید همین الان با مرورگر وب خود به آن دسترسی داشته باشید: http://api.coindesk.com/v1/bpi/currentprice.json
در زیر می توانید داده هایی را که ESP8266 شما درخواست کرده است مشاهده کنید که قیمت فعلی بیت کوین ها به USD، GPB و EUR است.
{“time”:{“updated”:”Mar 4, 2015 15:10:00 UTC”,”updatedISO”:”2015-03-04T15:10:00+00:00″,”updateduk”:”Mar 4, 2015 at 15:10 GMT”},”disclaimer”:”This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org”,”bpi”:{“USD”:{“code”:”USD“,”symbol”:”$”,”rate”:”282.5891“,”description”:”United States Dollar”,”rate_float”:282.5891},”GBP”:{“code”:”GBP“,”symbol”:”£”,”rate”:”184.6234“,”description”:”British Pound Sterling”,”rate_float”:184.6234},”EUR”:{“code”:”EUR“,”symbol”:”€”,”rate”:”254.3166“,”description”:”Euro”,”rate_float”:254.3166}}}
چند قدم جلوتر بروید
تا حالا با پروژه درخواست قیمت بیت کوین با ESP8266 قیمت فعلی بیتکوین را درخواست کردیم شاید زیاد این اطلاعات بدرد ما نخورد اما داخل این پروژه توانستیم ارتباط با یک وبسرویس یا api را برقرار کنیم و اطلاعات را از روی وبسایت بخوانیم. حالا شما میتوانید به نسبت نیاز خود اطلاعات مختلف را از سایت های دیگر دریافت کنید. همچنین محصولات اموزشی زیر نیز دارای کاربردهای چنین شکلی هستند.
ارسال و دریافت پیامک با ESP8266 بدون ماژول GSM
اتصال ماژول ESP8266 به تلگرام برای اینترنت اشیا بدون محدودیت