آردوینو arduino, اینترنت اشیاء, توصیه شده

ایجاد سرور محلی برای رفع مشکل اپلیکیشن Blynk

Blynk یک بستر، زیر ساخت و پلت فرم آماده با امکانات فراوان برای توسعه اینترنت اشیاء می‌باشد. در واقع بلینک با عرضه نرم افزار برای گوشی‌های اندروید و ios امکان مدیریت اینترنت اشیاء را با بهترین و پیشرفته‌ترین امکانات در اختیار کاربر قرار می‌دهد. اما متأسفانه در ایران دسترسی به سرور این برنامه رایگان و متن باز، محدود شده است. در این مقاله قصد داریم تا با ایجاد یک سرور محلی یا لوکال سرور (Local Server)، مشکل اپلیکیشن Blynk را برطرف کنیم.

 

معرفی کوتاه پلتفرم Blynk

Blynk یک اپلیکیشن و پلت فرم است که به شما این امکان را می‌دهد تا در کمترین زمان ممکن، یک رابط کاربری برای مشاهده و کنترل پروژه‌های سخت افزاری خود در تلفن هوشمند اندرویدی یا IOS داشته باشید. پس از دانلود اپلیکیشن بلینک، شما قادر خواهید بود تا در آن ثبت نام کنید و سپس یک پروژه جدید در آن ایجاد کنید. شما در این نرم افزار پنل مدیریتی (داشبورد)، دکمه‌های گوناگون، اسلایدر، نمودار، ابزارک و … در اختیار خواهید داشت تا بتوانید برد اینترنت اشیاء خود را مدیریت کنید.

شما به وسیله Blynk می‌توانید برد اینترنت اشیاء (همانند آردوینو و ESP8266) خود را با تلفن هوشمندتان کنترل کنید!

 

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

برای مثال، در تصویر دما و رطوبت دریافت شده از سنسور DHT11 را در نرم افزار اندرویدی می‌بینید:

نمایش دما DHT11 در نرم افزار blynk

 

دانلود نرم افزار Blynk

نرم افزار اندرویدی blynk را می‌توانید از طریق مارکت های معتبر اندرویدی، مثل گوگل پلی دریافت کنید و همچنین نسخه ios از طریق itunes قابل نصب می‌باشد.

پس از دانلود و نصب نرم افزار، شما می‌بایست در آن ثبت نام کرده و سپس توکن دریافتی را در برنامه آردوینو وارد نمایید. اما نرم افزار به سرور Blynk متصل نمی‌شود و نمی‌توانید ثبت نام خود را تکمیل کنید:

در این مقاله قصد داریم تا نحوه ساخت سرور محلی (لوکال یا خصوصی) بر روی کامپیوتر شخصی برای Blynk را آموزش دهیم.

 

ساخت سرور محلی

نیازمندی ها

هر سیستم عاملی که جاوا را اجرا کند.

نصب داشتن جاوا  11.8

حداقل 30 مگابایت حافظه آزاد رم.

باز بودن پورت 9443 (برای اتصال ایمن نرم افزار و سخت افزار از طریق SSL) یا 8080 برای اتصالات غیر ایمن.

 

راه اندازی

برای راه اندازی سرور، ابتدا خط فرمان سیستم عامل (برای مثال CMD ویندوز) را باز کرده و دستورات زیر را در آن وارد کنید:

ابتدا با استفاده از دستور زیر، اطمینان حاصل کنید که جاوا نسخه 11 را نصب دارید:

java -version

خروجی دستور:

java version “11”

اگر جاوا را نصب نداشتید و یا نسخه آن بروز نیست، پس از دانلود و نصب جاوا، مجدداً امتحان نمایید. سپس به مرحله بعدی بروید. در غیر این صورت ممکن است سرور به درستی را اندازی نشود.

 

دانلود راه انداز سرور محلی Blynk

ابتدا از آدرس گیت هاب پروژه، فایل آخرین نسخه منتشر شده را (که نامی شبیه به server-0.41.12-java8.jar دارد)، دانلود کنید و در فولدر مناسبی روی کامپیوتر خود ذخیره کنید.  بهتر است این فایل را در درایو C ذخیره نمایید.

 

راه اندازی سرور

فرض کنید فایل جاوا را در درایو C و در فولدری به نام server ذخیره کرده‌اید. با استفاده از دستور cd به فولدر مورد نظر بروید.

 

سپس با استفاده از دستور زیر، فایل راه انداز سرور را در محیط خط فرمان اجرا کنید تا سرور شما توسط جاوا ایجاد گردد:

توضیح پارامتر به پارامتر دستور بالا:

java: یعنی این دستور باید توسط java اجرا گردد.

-jar: این آپشن به جاوا اطلاع می‌دهد که فایل برنامه مورد نظر، از نوع jar می‌باشد.

server-0.41.12.jar: نام فایل راه انداز سروری است که از گیت هاب دانلود کرده‌اید. نکته: با توجه به نسخه دانلودی شما، ممکن است نام ورژن این فایل متفاوت باشد.

-dataFolder: این پارامتر یا آپشن، مسیر پوشه اطلاعات سرور را مشخص می‌کند. شما می‌توانید آدرس فولدر دلخواهی را نسبت به آدرس فعلی، آدرس دهی کنید. اگر این آپشن یا مقدار آن را وارد نکنید، آدرس اشتباه باشد و یا فولدری که آدرس داده‌اید، وجود نداشته باشد، جاوا به شما اخطار می‌دهد ولی پوشه اطلاعات سرور را در مسیر موقتی در Temp ایجاد می‌کند.

 

پاسخ CMD برای راه اندازی سرور محلی Blynk با جاوا

 

در صورتی که همه چیز درست باشد، در ادامه پیامی مشابه پیام زیر دریافت خواهید کرد:

این بدان معنی است که سرور محلی با موفقیت راه اندازی شده است و که آی پی سرور محلی (لوکال)، نام کاربری و رمز عبور ورود به نرم افزار بلینک شما را می‌دهد!

 

ورود به نرم افزار

دقت داشته باشید که سرور ایجاد شده، فقط در شبکه محلی خودتان قابل دسترسی است. برای مثال اگر با وای فای به همان اینترنتی که به کامپیوتر شخصیتان متصل است، وصل شوید، می‌توانید از آن استفاده کنید، نه با دیتای سیم کارت! حال می‌توانید درگوشی هوشمند خود وارد نرم افزار Blynk شده و هنگام ورود، آدرس سرور محلی (خصوصی) خود را به همراه پورت اعلام شده در مرحله قبل وارد کنید. سپس با مشخصات لاگین مرحله قبل وارد شوید.

اتصال به شبکه خصوصی در blynk

 

 

مزایا و معایب ایجاد سرور محلی یا لوکال

یکی از مزایای ایجاد سرور در شبکه محلی، خصوصی و امن بودن ارتباط است. شما در این روش اطلاعات خود را برای سرور Blynk ارسال نمی‌کنید و همه چیز درون شبکه خصوصی خودتان است. اما عیب اصلی این روش، محدود بودن به شبکه محلی است. یعنی شما نمی‌توانید از بیرون و از طریق اینترنت به آن متصل شوید، مگر این که با تنظیمات روتر (router) آشنا باشید. در این صورت با تنظیم روتر می‌توانید از طریق آی پی اینترنت نیز به سرور محلی خود متصل شوید. همچنین یکی دیگر از معایب این روش این است که شما همیشه باید کامپیوتر خود را به عنوان سرور روشن نگه دارید! دیگر معایب و مزایا را شما در نظرات بیان کنید!

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

21 دیدگاه در “ایجاد سرور محلی برای رفع مشکل اپلیکیشن Blynk

  1. متین گفت:

    سلام برای من موقع ساخت سرور ارور زیر رو میده:
    unable to access jarfile server
    مشکل چیه؟ اخرین نسخه جاوا هم نصب کردم. نمیدونم منظورش از نسخه جاوا یازده کدومه؟!
    چون jre جاوا اخرین نسخش 8 و 10عه یازده نداره
    ولی jdk تا نسخه 14 اش هم اومده
    همشم نصب کردم ولی باز این مشکل هست لطفا راهنمایی کنید

    1. Digi Boy Digi Boy گفت:

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

  2. میثم گفت:

    سلام اگر مودم از نوعی باشه که بشه یک اکانت اتصال خصوصی مجازی روش ست کرد کلا دیگه نیاز به سرور لوکال و داستانهای بعدی نیست؟

    1. Digi Boy Digi Boy گفت:

      درود بر شما.
      اگر منظورتون شبکه guest هست که نه، اون یه بحث دیگه ایه.
      اگر قابلیت port forwarding داشته باشه، میتونید.
      همین طور اگر آی پی استاتیک ندارید از یک سرویس DDNS میتونید استفاده کنید.

  3. Kian گفت:

    ساام وخسته نباشید مقاله بسیار مفیدی بود تشکر اگر میشد به این سازمانی که فیلتر میکنه بگیم این سرورو از فیلتر بیاره بیرون خیلی خوب میشه

    1. Digi Boy Digi Boy گفت:

      درود بر شما.
      البته احتمال داره که خود سرور بلینک ایران رو تحریم کرده باشه.

  4. Hadi Feyzi هادی گفت:

    سلام ممنون میشم درباره لینوکس و آموزشش رو هم بزارین،و این که چه چیز شگفت انگیزی در لینوکس هست که حتی حاضر به مقایسه با ویندوز هم نیستن من و خیلی های دیگه استقبال میکنیم با تشکر

    1. Digi Boy Digi Boy گفت:

      درود بر شما، میتونید آموزش های امبدد لینوکس سیسوگ که به تازگی شروع شده اند رو دنبال کنید:
      https://8bi.ir/yovhx

  5. محسن گفت:

    دمتون گرم خیلی ممنون از مطلب مفیدتوون واقعا کاربردیه بالاخره موفق شدم رو لبتابم سرور لوکال راه بندازم بلینکم راه افتاد خیلی حال کردم!!! قبلش هر چقدر میخواستم خودم این کارو بکنم نمیتونستم

    1. Digi Boy Digi Boy گفت:

      از اینکه آموزش براتون مفید بوده خوش حالم!

  6. سعید سعید گفت:

    سلام مهندس
    مطلب خیلی خوب و جالبی بود.برای اون مورد آخر که گفتید نمیشه از خارج از شبکه محلی به این سیستم متصل شد یه پیشنهاد دارم که احتمالا حل میکنه این مشکل رو.
    به نظرم اگه به جای اینکه از کامپیوتر خونه به عنوان سرور استفاده کنیم از سرورهای رایگان که تو اینترنت هستند استفاده کنیم میتونیم دو تا مشکل رو همزمان حل کنیم.مشکل اول اینکه دسترسی از خارج از شبکه امکان پذیر میشه و مشکل دوم اینکه لازم نیست یه کامپیوتر رو برا یه سرور ساده همیشه روشن نگه داریم.
    سرورهایی که من باهاشون کار کردم مثه Portmap.io خیلی ساده میتونن این مشکل رو حل کنن و چون محل این سرورها هم خارج از ایران هستش اون مشکلات احتمالی که میگفتید رو نخواهد داشت.
    اون قسمتی هم که گفتید از طریق تنظیمات روتر مشکل دسترسی رو حل کنیم احتمالا منظورتون روش Port Forwarding بوده.این روش برای روترهای خونگی جواب میده ولی اگه شما بخواید از مودم های USB مثلا استفاده کنید امکان این کار رو به احتمال زیاد ندارید (ISP های مخابراتی معمولا اجازه این کار رو نمیدن) و به همین خاطر عملا شاید این روش تو سیستم هایی که قراره قابل حمل باشن اجرایی نیست.

    ممنون از مطلب خوبتون و اینکه دانشتون رو به بقیه یاد میدید

    1. Digi Boy Digi Boy گفت:

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

  7. امیر گفت:

    سلام
    ممنون از توضیحات با جزئیات عالی تون.
    من خیلی حسی بهش ندارم، معمولا هم پوست ام کنده میشه خودم ui میزنم برا همه چی.
    اما میشه برا استفاده ی صنعتی یا تجاری، یه سرور خیلی ارزون از یه جا مثل “ابر آروان ” اجاره کرد و روش نصب کرد.
    اینطوری احتمالا میشه توی چند پروژه هم ازش استفاده کرد. آنلاین و بی دغدغه
    مرسی

    1. Digi Boy Digi Boy گفت:

      درود بر شما
      بله، قطعاً اگر کسی بتونه خودش UI رو بنویسه خیلی بهتره و خیال خودش هم از هر نظر راحت تره. اما به هر حال این هم یک ابزاره که میتونه برای خیلی‌ها که UI نمیتون بنویسن مفید باشه و سرعت اجرای پروژشون رو بیشتر کنه.

  8. محمدرضا گفت:

    سلام، با این اپ فقط برد های pi, arduino,, رو میتونیم مدیریت کنیم؟
    بردهایی ک خودمون طراحی کردیم رو نمیتونیم

    1. Digi Boy Digi Boy گفت:

      درود بر شما.
      چیزی که متن بازه رو قطعاً میشه ازش استفاده‌های مفیدتری هم کرد.
      فقط شما کافیه بدونید بردهای دیگه چه اطلاعاتی رو و با چه فرمتی به سرور ارسال می کنن، شما هم همون ها رو ارسال کنید، همین!
      مستندات و کدهای آردوینو برای پروژه‌های ساده بلینک رو هم که نگاه کنید، به راحتی با طرز کارشون آشنا می شید.

      1. محمدرضا گفت:

        خیلی ممنون از توضیح کاملتون

  9. محمد مهدی مرادی mm4hdim گفت:

    سلام
    ممنون بابت اشتراک دانشتون

    میشه از طرق ip forwarding و یک قدم جلو تر از طریق dynamic dns با یک دامنه به سرور لوکال کانکت شد

    من اطلاعات دقیقی ندارم در این باره ولی میگم: احتمالا بشه این سرور رو سرویس ابری فندق که پلن رایگان هم داره راه اندازی کرد ولی فک کنم باید داکر و یه سری ابزار دیگه هم بلد باشیم

    1. Digi Boy Digi Boy گفت:

      درود بر شما
      فکر می‌کنم برای راه اندازی باید دسترسی خاصی هم به سرورها داشته باشید که این موضوع رو باید روی سرویس مربوطه تست کنید.
      متشکرم.

  10. Akam گفت:

    سلام مرسی بابت مطلب خوبتون
    ایا میشه این فایل جاوا روی سرور لینوکسی خودمون اجرا کنیم و از حالت سرور محلی درش بیاریم؟؟
    اگه امکانش هست یه راهنمایی بفرمایین😁😘

    1. Digi Boy Digi Boy گفت:

      درود بر شما
      توی readme گیت هاب توضیحاتی برای لینوکسی ها هم وجود داره که بدنیست اون ها رو هم مطالعه کنید:
      https://github.com/blynkkk/blynk-server