در مطلب قبلی با نحوه نصب .net core 2 runtime بر روی رزبری آشنا شدیم و در این پست قصد داریم تا اولین پروژه کنسول خودمون که با دات نت کور نوشته شده رو بر روی رزبری پای اجرا کنیم.
برای اینکار ابتدا بر روی کامپیوتر خودتون ( نه رزبری) که sdk .net core هم نصب هست یه پوشه دلخواه بسازید مثلا میتونید اسم پوشه را بذارید simple .net core 2 for ubuntu
حالا به پوشه مورد نظر برید.
در بخش لازمه تا CMD را اجرا کنید. برای اجرا cmd در همین پوشه simple .net core 2 for ubuntu در نوارد ادرس بالا عبارت CMD را تایپ کنید.
با باز شدن cmd دستور زیر را تایپ کنید
dotnet new console -n coreiot
حالا میبینید یه پوشه به نام coreiot ایجاد شده ، CMD فعلی رو ببندید و به پوشه coreiot برید و فایل coreiot.csproj رو باز کنید. در این فایل خط <TargetFramework>netcoreapp2.0</TargetFramework> رو پیدا کنید و عبارت های زیر رو بهش اضافه کنید تا فایل نهایی شما به صورت زیر شود البته برای مقدار RuntimeFrameworkVersion بستگی داره چه نسخه از net core runtime روی سیستم شما نصب باشه که چون روی سیستم من نسخه ۲٫۰٫۹ نصب بود منم عبارت ۲٫۰٫۹ رو نوشتم ، البته در کل باید نسخه ۲٫۰٫۰ به بعد روی سیستم شما نصب باشه.
<Project Sdk=”Microsoft.NET.Sdk”>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeFrameworkVersion>2.0.9</RuntimeFrameworkVersion>
<RuntimeIdentifiers>win8-arm;ubuntu.14.04-arm;ubuntu.16.04-arm</RuntimeIdentifiers>
</PropertyGroup>
</Project>
در دستورات بالا در جلو RuntimeIdentifiers عبارت win8-arm برای اینه که برنامه شما روی win10 iot core قابل اجرا باشه و عبارت های ubuntu.14.04-arm;ubuntu.16.04-arm برای اینه که برنامه شما در رزبری با سیستم عامل ابنتو قابل اجرا باشه. فایل coreiot.csproj رو ذخیره کنید و در همین پوشه coreiot که هستید cmd را طبق آموزش ابتدای پست اجرا کنید و دستور زیر را بزنید.
dotnet restore
در این حالت میبینید که کتابخانه های لازم برای سیستم عامل های تعیین شده دالنود شده و در پوشه مورد نظر قرار میکیره البته در مرحله اول این کار ممکن است زمانگیر باشه اما در دفعات بعد از روی فایل های دانلود شده قبلی اجرا میشه و سریع اجرا خواهد شد. خوب در ان مرحله پروژه شما حاضر شده و میتونید خروجی مورد نظر برای ویندوز با لینوکس رو ازش بگیرید.
در صورتی که میخواین برنامه شما برای روی نسخه ویندوز windows 10 iot core اجرا بشه دستور زیر را بزنید
dotnet publish -r win8-arm
در صورتی که میخواین برنامه شما بر روی ۱۶٫۰۴ ubuntu در رزبری اجرا بشه دستور زیر را بزنید
dotnet publish -r ubuntu.16.04-arm
در این مرحله اگه به پوشه simple .net core 2 for ubuntu\coreiot\bin\Debug\netcoreapp2.0 برید ۲ فولدر جدید به نام های ubuntu.16.04-arm و win8-arm میبینید که در هر کدوم فایل ها این پروژه مربوط به سیستم عامل مورد نظر قرار داره.به عنوان مثال ما میخوایم برنامه مورد نظر را در Windows 10 IoT Core اجرا کنیم پس به پوشه \coreiot\bin\Debug\netcoreapp2.0\win8-arm\publish میریم و فایل ها داخل این پوشه رو کپی مکنیم
همونطور که میدونید یکی از راههای ارتباطی با windows 10 iot core استفاده از نرم افزار Microsoft IoT Dashboard هست ، برای ارسال فایل های پروژه مون نرم افزار Microsoft IoT Dashboard رو باز میکنیم
همینطور که در عکس بالا هم مشاهده میکنید لیست دیوایس های موجود به همراه نوع سیستم عامل ، نوع دیوایس و آی پی اون رو مشاهده میکنید همینطور که در عکس بالا هم معلومه ای پی دستگاه ما ۱۹۲٫۱۶۸٫۱٫۱۱۱ هست که البته ممکنه برای شما متفاوت باشه ، برای انتقال فایل ها به رزبری ۲ راه هست یکی باز کردن ادرس زیر که شامل ادرس آی پی دستگاه هست در Windows Explorer ویندوز به صورت زبر
\\۱۹۲٫۱۶۸٫۱٫۱۱۱\c$
یا این که براحتی میتونیم رو ردیف دستگاهمون راست کلیک کنیم و گزینه Open Network Share رو انتخاب کنیم .
با انجام اینکار درایور c دستگاه رزبری ما باز میشه ، برای ادامه کار یه پوشه به نام دلخواه میسازم مثلا به نام CoreApplications و داخل اینه پوشه یه پوشه دیگه به نام coreiot میسازیم. در عکس زیر در سمت چپ میتونید پوشه publish پروژه رو مشاهده کنید و در سمت چپ پوشه جدید ایجاد شده در رزبری
خوب حالا فایل های موجوود در پوشه publish که در پوشه win8-arm وجود داره و برای نسخه ویندوز رزبری هست رو به دستگاه رزبری و در پوشه coreit کپی میکنیم.
حالا نوبت به اجرا برنامه ما در دستگاه رزبری میرسه که از ابزار ها متفاوتی مثل power shell و putty میتونیم استفاده کنیم که در این بخش باز نرم افزار Microsoft IoT Dashboard رو باز میکنیم و روی دستگاه خودمون راست کلیک کرده و گزینه lunch power shell رو انتخاب میکنیم.
در این مرحله پاورشل اجرا شده و از ما رمز دستگاه رو یخواد که رمز عبور ساخته شده پیش فرض رو وارد میکنیم . رمز عبور پیش فرض برای سیستم عامل windows 10 iot core عبارت p@ssw0rd هست .بعد از وارد کردن رمز باید چند ثانیه ای ( ممکنه تا ۳۰ ثانیه) منتظر بمونیم تا ارتباط برقرار بشه و صفحه پاورشل برای ما نشون داده بشه
حالا باید به پوشه ای که قبلا ساختیم و فایل های برنامه رو داخل اون کپی کردیم بریم که میشه پوشه C:\CoreApplications\coreiot برای این کار در پاور شل عبارت روبرو رو تایپ میکنیم تا به پوشه مورد نظر بریم
PS C:\Data\Users\administrator\Document> Set-Location -Path C:\CoreApplications\coreiot
و باید برنامه خودمون رو که به نام ./coreiot.exe رو ران کنیم که مشابه عکس زیر میشود
در صورتیکه همه چی درست اجرا شده باشه عبارت Hello Word! رو باید ببینیم.( منبع انگلیسی مطلب)