اینترنت اشیاء IOT با Lua

اینترنت اشیاء این روزها به واقعیتی فراتر از باور تبدیل شده است و سرعت رشد آن هم بسیار فراتر از تصور ماست. بوجود آمدن زیرساخت‌های سخت افزاری مانند انواع ماژول‌ها و بردهای امبدد از جمله آردوینو Arduino و رزبری پای Raspberry Pi در کنار افزایش پهنای باند اینترنت و سرعت برق و باد آن، همگی باعث شده تا شرایط برای رشد اینترنت چیزها یا اینترنت اشیاء IOT محیا شود. البته در رشد این نوزاد نوپا IOT مسایل دیگری از جمله زبان‌های برنامه نویسی سطح بالا مانند Lua و Node Red بسیار سهیم بوده‌اند.

 

Lua چیست؟

قبل از هرچیز با فرض اینکه شما میدانید که زبان برنامه نویسی چیست، شروع میکنیم. اگر بخواهیم زبان برنامه نویسی Lua را توصیف کنیم، یک زبان قدرتمند، سبک، کارا و مخصوص امبدد سیستم‌ها Embedded Systems میباشد. چرا امبدد سیستم‌ها؟ به این دلیل که زبان برنامه نویسی Lua از روش برنامه نویسی رویه‌ای یا procedural programming پشتیبانی می‌کند. از روش برنامه نویسی شیئ گرا یا object-oriented programming و همچنین از روش برنامه نویسی تابعی یا functional programming و حتی از روش برنامه نویسی مبتنی بر داده یا data-driven programming هم پشتیانی می‌کند.

 

واژه Lua به چه معناست؟

شیوه تلفظ این کلمه به صورت لوو آآآ Loo-ah میباشد. در زبان پرتغالی به معنی ماه میشود. از آنجایی که Lua یک اسم تلقی میشود پس همیشه با حرف اول بزرگ نوشته خواهد شد. اسم ماه زمین و اسم زبان برنامه نویسی! تیم محقیقن در دانشگاه PUC-Rio در برزیل که ابداع کننده این زبان برنامه نویسی برای اینترنت اشیاء IOT بوده‌اند بر این نکته تاکید کرده اند که شیوه نوشتاری آن به صورت Lua باشد نه به صورت LUA چرا که خودشون دوست نداشته اند! پس لطفا شما هم Lua بنویسید.

 

زبان برنامه نویسی Lua پایدار و تنومند است

زبان برنامه نویسی Lua که امروزه در اینترنت اشیاء یا IOT و باز یا اینترنت اشیاء استفاده میشود؛ در بسیاری از رابط‌های صنعتی هم استفاده شده است. البته نه این که صرفا مصرف صنعتی داشته باشد چرا که در برخی از قسمت‌های نرم افزار معروف Adobe Photoshop هم استفاده شده است. در کل تاکید زبان برنامه نویس Lua تاکید بر امبدد سیستم‌ها Embedded Systems دارد. زبان برنامه نویسی Lua از بازی‌های رایانه‌ای هم سر در آورده، کدام بازی؟ همون انگری برد معروف از این زبان استفاده کرده است. نکته جالب راجع به Lua اینه که تازه در سال ۱۹۹۳ متولد شده است و تا به امروز بسیار پیشرفت کرده و نسخه‌های زیادی از آن منتشر شده است. در سال ۲۰۰۱ این زبان برنامه نویسی جایزه Front Line Award 2011 را از مجله توسعه دهندگان بازی دریافت کرد.

 

زبان Lua به اندازه کافی سریع هم هست

مهم‌ترین علت شهرت زبان Lua بخاطر کارایی آن است. آنطور که گفته شده است، سرعت دیگر زبان‌های برنامه نویسی را با سرعت Lua میسنجند. بنچ مارک‌های بسیاری درباره زبان Lua وجود دارد که معمولا به عنوان سریع ترین در حوزه اسکریپت امبددها ذکر شده است. یک کامپایر سریع‌تر برای Lua توسعه داده شده است به نام LuaJIT که یک کامپایلر just-in-time میباشد. زبان Lua از سینتکس بسیار ساده و در عین حال ساختار توصیف داده بسیار ساده بهره می‌برد که بر اساس آرایه‌های داینامیک و زبان توصیفی می‌باشد.

 

Lua قابلیت ترابرد پذیری دارد

از آنجایی که از یک کامپایر استاندارد C استفاده می‌کند، قابلیت تبدیل و یا ترابرد پذیری به کلیه Unix ها و Windows و حتی موبایل‌ها از جمله اندروید، IOS, BREW, Symbian و Windows Phone را دارد. زبان برنامه نویسی Lua در امبددها Embedded از جمله پردازنده‌های ARM و یا Rabbit قابل اجراست و اپلیکیشن‌های مبتنی بر امبدد سیستم‌ها را میتواند راه اندازی کند. از آنجایی که هسته Lua از کمترین دیتا استاتیک استفاده میکند، برای امبددها و خصوصا اینترنت اشیاء IOT مناسب است. چرا که اینترنت اشیاء IOT بر بستر امبدد سیستم‌ها به سادگی قابل اجراست.

زبان Lua بسیار سریع و دارای حجم کم است و این‌ها در کنار وجود داشتن API های متنوع و کتابخانه‌های متنوع برای تبادل کد با دیگر زبان‌ها باعث شده که انتخاب مناسبی در امبدد سیستم‌ها باشد. اینترنت اشیاء IOT همانطور که پیش‌تر گفتم بر بستر امبدد سیستم‌ها از جمله آردوینو Arduino، رزبری پای Raspberry Pi و دیگر بردها از جمله اورنج پای و اودروید و … به سادگی قابل اجراست.

 

Node MCU راهکاری مدرن و روبه پیشرفت

از جمله ماژول‌های پر کاربرد در زمینه اینترنت اشیاء IOT ماژول‌های ارسال و دریافت داده است که میتوان به ESP8266 اشاره کرد. به تازگی ماژول Node MCU که بر پایه ESP8266 طراحی شده است بسیار مورد استقبال قرار گرفته است. این ماژول توانایی کامپایل کردن کدهای آردوینو را دارد. همچنین زبان Lua یک انتخاب مناسب برای استفاده در این ماژول است. Node MCU دارای مدل‌های مختلفی است که معمولا بر اساس حافظه داخلی متفاوت میباشند. دو مدل با ۴ مگابایت و ۵۱۲ کیلوبایت حافظه داخلی در بازار ایران موجود می‌باشند و قیمتی بین ۱۸ تا ۲۹ هزار تومان میباشد.

ماژول Node MCU دارای ۳۰ پایه می‌باشد و به طور کلی از ارتباط UART و SPI و I2C بهره می‌برد. از طریق یک کابل USB با همان نرم افزار آردوینو قابل برنامه ریزی و اجرا کردن کدهای آردوینو Arduino میباشد.

 

Source :

Lua

پاسخ دهید

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