Raspberry Pi3 Android Things 시작

10186 단어 AndroidThingsAndroid

개시하다


이 기사는 Aizu Advent Calendar 2018 23일째 보도다.22일째 보도는 mt_coff씨의 Vue.js로 아토믹 디자인 천천히 할게요.입니다.24일차 기사가 추가되면 링크가 붙습니다.
안드로이드 씽스의 입문 기사가 적은 것 같아 필기를 해봤다.
만약 잘못이 있다면 사양하지 말고 평론에서 지적해 주십시오.

준비물


Raspberry Pi3 세트
L 세로판, LED, 저항 등이 필요한 재료

이번 결승점


Android Things에서 Lkha로 가져오기

Android Things란


Google이 IoT를 위한 플랫폼으로 발표한 OS 등을 포함하는 소프트웨어 그룹이라고 합니다.솔직히 이 일대를 뒤져봐도 조금밖에 모르니 자세한 사람을 알려주세요.
이 글은 IoT 기기를 대상으로 하는 OS를 가리킨다.

(개인적으로) 안드로이드 애플리케이션 개발자의 안드로이드 씽크의 장점

  • 안드로이드 응용 개발의 기술 노하우는 IoT 설비 개발에 사용
  • 친숙한 IDE(Android Studio)로 개발 가능
  • 자바/Kotlin
  • 사용 가능
  • GPIO
  • 를 비교적 간편하게 제어
  • 화면은 안드로이드 응용 프로그램으로 설계할 수 있음
  • 저는 Kotlin을 좋아하기 때문에 개인적으로 Kotlin을 이용해서 개발할 수 있어서 기쁩니다.

    Android Things 시작 방법


    Raspberry Pi 측의 준비.


    제품 추가


    이동Android Things Console

    ADD A PRODUCT 를 클릭하여 제품을 추가합니다.
  • Product name
    제품 이름
  • SOM type
    이번에는 Raspberry Pi3
  • 을 선택하겠습니다.
  • Product description
    제품 설명(생략 가능)
  • 마이크로SD 카드에 쓰기 이미지 구축


    Models에서 모형을 클릭 (이 화면에서는 2ju8p7)

    구성 설정을 수행하려면 CREATEA BUILD CONFIGURATION 을 클릭합니다.
  • 빌드 이름 입력
  • Android Things 버전 선택
  • 이번에는 다른 초기 설정도 괜찮아요.

    구문 이미지 다운로드

  • Action에서 Development를 선택하고 다운로드
  • 다운로드한 zip 파일의 압축을 풀고 마이크로SD 카드
  • 에 파일 쓰기

    파일을 태운 마이크로SD를 랩베리 Pi3에 삽입해 시작하면 다음 화면으로 변환하는 데 성공합니다.(직접 찍기가 죄송합니다.)

    Android Things 애플리케이션 설치


    일반적인 안드로이드 애플리케이션 개발과 마찬가지로 안드로이드 스튜디오를 사용합니다.개발의 절차도 대체로 같다.

    프로젝트 준비


    프로젝트를 작성하고 다음을 클릭합니다.

    Target Android Devices에서 Android Things를 확인합니다.

    Activity 를 선택합니다.이번에는 Android Things EmptyActivity를 선택했습니다.

    Activity를 설정하고 완료할 준비를 합니다.

    실제로 떠보다


    프로젝트는 이미 준비가 다 되었고, 나머지는 코드만 쓸 뿐이다.
    Android Things로 GPIO를 제어하는 프로세스
  • 안드로이드 매니페스트에 추가USE_PERIPHERAL_IO 권한

  • Peripheral Manager 인스턴스 PeripheralManager.getInstance() 얻기
  • インスタンス.openGpio("GPIO名")에서 GPIO를 취득하고 다양한 처리를 수행
  • 이런 느낌이에요.
    Android Things의 Raspberry Pi3의 GPIO 차트여기.를 확인하십시오.
    그럼 실제 코드를 올려서 L천하까지의 절차를 설명해 드릴게요.

    권한 설정


    AndroidManifest.xml
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.yt8492.ledblink">
    
        <!-- ↓追加 -->
        <uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />
        <!-- ↑追加 -->
        <application android:label="@string/app_name">
            <uses-library android:name="com.google.android.things"/>
    
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
    
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    

    입식 부분의 코드


    MainActivity.kt
    class MainActivity : Activity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            val manager = PeripheralManager.getInstance()
            val led = manager.openGpio("BCM17")
            led.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW)
            led.setActiveType(Gpio.ACTIVE_HIGH)
            repeat(10) {
                led.value = true
                Thread.sleep(1000)
                led.value = false
                Thread.sleep(1000)
            }
        }
    }
    
    led.setDirection에서 입력 또는 출력 모드입니다.DIRECTION_IN에서, DIRECTION_OUT_INITIALLY_LOW에서는 LOW 출력, DIRECTION_OUT_INITIALLY_HIGH에서는 HIGH 출력을 입력합니다.led.setActiveType에서 HIGH와 LOW 중 어느 것이 진짜인지 설정합니다.
    그리고 1초에 10번씩 LED의 깜박임을 반복한다.
    Raspberry Pi를 네트워크에 연결할 때는 adb connect <ラズパイのIPアドレス> 연결을 통해 Android Studio에서 시작할 수 있습니다.
    수고하셨습니다.

    참고 자료


    https://developer.android.com/things/get-started/
    https://developer.android.com/things/sdk/pio/gpio
    https://developer.android.com/things/hardware/raspberrypi

    좋은 웹페이지 즐겨찾기