C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

Android Things

ボードのI/Oポート情報を取得するには, PeripheralManagerServiceクラスを利用する.

I/Oポート情報の取得

  • PeripheralActivity.java
    • PeripheralManagerServiceクラスのインスタンスを生成する.
    • PeripheralManagerService#getGpioListメソッドで, GPIOのリストを取得する.
    • PeripheralManagerService#getPwmListメソッドで, PWMのリストを取得する.
    • PeripheralManagerService#getI2cBusListメソッドで, I2Cのリストを取得する.
    • PeripheralManagerService#getSpiBusListメソッドで, SPIのリストを取得する.
    • PeripheralManagerService#getUartDeviceListメソッドで, UARTのリストを取得する.
    • PeripheralManagerService#getI2sDeviceListメソッドで, I2Sのリストを取得する.
package com.moonlight_aska.androidthings.peripheral;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.os.Build;
import com.google.android.things.pio.PeripheralManagerService;

public class PeripheralActivity extends Activity {
  private static final String TAG = "PeripheralActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // I/Oポート情報
    Log.d(TAG, "Board : " + Build.DEVICE);
    PeripheralManagerService manager = new PeripheralManagerService();
    // GIPO
    Log.d(TAG, "- GPIO : " + manager.getGpioList());
    // PWM
    Log.d(TAG, "- PWM : " + manager.getPwmList());
    // I2C
    Log.d(TAG, "- I2C : " + manager.getI2cBusList());
    // SPI
    Log.d(TAG, "- SPI : " + manager.getSpiBusList());
    // Uart
    Log.d(TAG, "- Uart : " + manager.getUartDeviceList());
    // I2S
    Log.d(TAG, "- I2S : " + manager.getI2sDeviceList());
  }
}
  • AndroidManifest.xml
    • applicationタグで, 不要なパラメータを削除する.
    • uses-libraryタグで, "com.google.android.things"を設定する.
    • intent-filterタグで, Boot時にアプリが起動するように設定する.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.moonlight_aska.androidthings.peripheral">

  <application android:label="@string/app_name">
    <uses-library android:name="com.google.android.things"/>
    <activity android:name=".PeripheralActivity">
      <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>
</manifest>
  • 動作例
ボード : Raspberry Pi 3




タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます