اولین آموزش ویدئویی اندروید اشیا

قصد داریم تا پس از این به صورت 10 جلسه تمام مباحث مطرح شده در حوزه اندروید اشیا را به شما آموزش دهیم. این اولین سری از این آموزش ها به زبان فارسی است.

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

در یوتیوب

 

 

در آپارات

http://www.aparat.com/v/X8sHP

راه اندازی بلوتوث

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

<uses-permission android:name=”android.permission.BLUETOOTH” />
<uses-permission android:name=”android.permission.BLUETOOTH_ADMIN” />

برای برنامه دو مجوز استفاده از بلوتوث را در مانیفست درخواست کنید.

private BluetoothAdapter mBluetoothAdapter;

// Initializes Bluetooth adapter.
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();

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

if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}

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

public class DeviceScanActivity extends ListActivity {

    private BluetoothAdapter mBluetoothAdapter;
private boolean mScanning;
private Handler mHandler;

    // Stops scanning after 10 seconds.
private static final long SCAN_PERIOD = 10000;

private void scanLeDevice(final boolean enable) {
if (enable) {
// Stops scanning after a pre-defined scan period.
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mScanning = false;
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}, SCAN_PERIOD);

            mScanning = true;
mBluetoothAdapter.startLeScan(mLeScanCallback);
} else {
mScanning = false;
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}

}

}

با کدی به نمونه بالا می توانید بلوتوث های فعال اطراف تان را بیابید. ما همین کار را کردیم و نتیجه بخش بود. و کدها بر روی اندروید اشیا به خوبی جواب دادند. شما هم امتحان کنید

نوشتن اولین برنامه اندروید اشیا

برای نوشتن اولین برنامه اندروید اشیاء خود آماده هستید؟ بسیار ساده است. با انجام کامل آموزش قبلی اکنون شما به دستگاه رازبری متصل هستید و این دستگاه به محل نصب برنامه به اندروید شناسانده شده است. کافی است شروع به برنامه نویسی اندروید کنید. در این آموزش فرض شده است شما برنامه نویسی اندروید هستید یا آشنایی خوبی دارید. برای شناساندن و ایمپورت کردن کدهای مخصوص اندروید اشیاء این کد را به دیباگ اپ خود اضافه کنید


dependencies {
    ...
    provided 'com.google.android.things:androidthings:0.4-devpreview'
}

باید در مانیفست خود تغییراتی بدهید. اندروید اشیاء را به مانیفست اضافه کنید. 

<application ...>
    <uses-library android:name="com.google.android.things"/>
    ...
</application>

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

<application
    android:label="@string/app_name">
    <uses-library android:name="com.google.android.things"/>
    <activity android:name=".HomeActivity">
        <!-- Launch activity as default from Android Studio -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>

        <!-- Launch activity automatically on boot -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.IOT_LAUNCHER"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>

برای مشاهده نتیجه کافی است تنها خروجی اکتیویتی اصلی را به شکل زیر تصحیح کنید تا یک نمونه ساده از کار را مشاهده کنید. در اکتیویتی اصلی یک تکست اضافه کنید که بتواند خروجی شبیه این بدهد. در این برنامه فعلا پراسس خاصی انجام نمی دهیم.

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Salam World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:textColor="@color/colorAccent"
    android:textSize="36sp"/>

خروجی برنامه به شکل زیر درخواهد آمد

همان طور که می بینید برنامه تنها یک نوشته را خروجی ساده می دهد. در آموزش های بعدی با نوشتن برنامه های پیچیده تری کار را ادامه خواهیم داد.

اولین آموزش اندروید اشیا

اولین گام شما در آموزش اندروید اشیا نصب آن برای استفاده های بعدی است. در این مقاله این نصب به شما آموزش داده خواهد شد. در مقالات قبلی درباره پیشینه اندروید اشیا توضیح داده شد. اکنون در اولین قدم به شما چگونگی راه اندازی یک برد با استفاده از اندروید را آموزش می دهیم. شما به صورت ابتدایی به یکی از بردهای زیر که بتوانند کار پروسس را برای شما انجام دهند نیاز خواهید داشت.

Raspberry Pi
Intel Edison with Arduino Breakout Board
NXP Pico i.MX6UL

در کشور ما در دسترس ترین برد رازبری پی است. بنابراین ما نیز آموزش خود را بر همین منوال قرار می دهیم. برای این کار علاوه بر خود رازبری پی به متعلقات زیر هم نیاز خواهیم داشت:HDMI cable and a display (like a computer monitor) و Ethernet cable connected to your internet و Micro-USB cable و Micro SD card with at least 8GB of space و SD card adapter
لطفا نرم افزار اندروید برای اینترنت اشیا را نیز از این جا دانلود کنید. پس از دانلود کردن فابل با یک برنامه درست آن را از حالت زیپ خارج کنید باید خرجی شما فایل .img باشد. در صورتی که فایل دیگری برای شما تولید شده است لطفا با برنامه دیگری این کار را انجام دهید. فایلی که دانلود می کنید در حدود ۳۰۰ مگا بایت است اما بعد از انزیپ باید در حدود چهار گیگابایت باشد.

 

 

ابتدا نیاز داریم تا جای دقیق اس دی کارت را  بفهمیم.(توجه این آموزش برای سیستم عامل لینوکس است) اس دی کارت را داخل کامپیوتر قرار داده و df -h را اجرا کنید تا محل آن را به شما نشان دهد. همان طور که مشاهده می کنید در نمونه بالا جای اس دی در dev/sdb1 است. اگر محل اس دی کارت را دقیقا تشخیص نمی دهید یکبار دستور را بدون اس دی و دوباره بعد از وارد کردن اس دی کارت در محفظه کامپیوتر اجرا کنید.

اکنون لازم است تا شما کارت را فلش کنید با استفاده از دستورumount /dev/sdX1 این کار را انجام دهید:

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

dd bs=4M if=2017-04-10-raspbian-jessie.img of=/dev/sdX توجه کنید که اسم و جای ایمیج و نام اس دی کارت درست باشد. بردبار باشید چون برای کپی ایمیج زمان نسبتا زیادی طول خواهد کشید.

اکنون که ایمیج رو کارت منتقل شده کارت را به رازبری بزنید. لازم است تا کیبورد و کابل اچ دی م ای را نیز وصل کنید و آن را به مانیتور بزنید.

 

 

همانطور که مشاهدهه کردید صفحه شما به صورت بالا در آمده است اکنون برای اولین مرحله کافی است تا به رازبری متصل شوید:

adb connect 192.168.88.169

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

adb shell am startservice \
-n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect \
-e ssid MyWiFiSSID \
-e passphrase Secr3tPassw0rd

اکنون

نکته: توجه داشته باشید که دستور adb یکی از دستورات اندروید استودیو است و باید اس دی کی را نصب کنید.