Android Things Release Note 요약 : 4.0 ~ 4.1


지난 5월 14일에 정리한 것이 개발자 프리뷰 3.1까지였는데 그새 4.1까지 업데이트 되었다.
아무래도 짚고 넘어가야 할 것 같다…^^;


Developer Preview 4

릴리즈 날짜 : 2017년 5월
빌드 번호 : NIH40E
play service : 10.0.0


이 프리뷰 릴리즈는 지원되는 하드웨어에 대한 개발과 호환성 테스트를 하기 위해 Android Things를 이용하고자 
하는 개발자들과 얼리 어댑터들을 위한 것으로 이 프리뷰에 대한 아래의 일반 가이드라인에 주의하길 바란다.

  • 이 릴리즈는 지원되는 하드웨어에 대한 여러 지속적 이슈가 있으니 발견한 버그들은 리포트해주길 바란다.
  • 이 프리뷰에서는 API들의 모든 부분을 사용할 수는 없다. 사용 불가한 것으로 알려진 API들은 Known Issue 섹션에 문서화 되어있다.
  • 개발자 프리뷰 4는 Intel EdisonIntel JouleNXP i.MX7DNXP i.MX6UL, 그리고
    Raspberry Pi 3 개발 보드에서 사용 가능하다.

New in Preview 4


NXP i.MX7D support

Android Things는 이제 NXP® i.MX7D Pico 개발 플랫품을 지원한다. 이 기기에 대해 더 알고싶거나 성능을
확인하고 싶으면 developer kits 페이지를 참고하라.


Audio APIs

개발자들은 이제 Peripheral I/O를 이용하여 Inter-IC Sound (I2S)를 통해 디지털 오디오 장치를 연결할 수 
있으며 새로운 audio user-space 드라이버를 이용하여 미디어 프레임워크에 바인드할 수 있다.
보다 상세한 내용은 I2S와 audio drivers에 대한 새로운 API 가이드를 살펴보라.


Peripheral drivers

Peripheral I/O는 이제 PioDriverManager를 이용하여 런타임 시에 추가적인 인터페이스를 등록하는 것을
지원한다. 이를 통해 유닛 테스트를위한 스텁 인터페이스는 물론 주변 장치 버스 확장 장치를 등록 할 수 있다. 
자세한 내용은 reference documentation을 참조하라.


Known Issue

  • 시스템 전원 관리자는 현재 사용 불가능하다. 기기가 suspend 상태로 들어가지 않고 따라서 wake lock 기능이 필요치 않다(wake locks는 sleep 상태로 들어가거나 sleep 상태에서 깨우는 기능).
  • 부팅 시 dex를 미리 최적화하기 위해 Google Plat Service는 2~3분 정도의 시간을 필요로 한다. 이 프로세스가 완료되기 전에는 App을 설치할 수 없다.
  • 하드웨어 그래픽 가속 기능(OpenGL)은 현재 사용 불가능하다. 따라서 이러한 기능에 의존하는 API들(WebView같은) 역시 사용할 수 없다.


Peripheral I/O

  • 주변장치들은 close() 호출 후에 클리어 되거나 리셋되지 않는다. 출력은 그 장치들의 상태를 그대로 간직하고 있을 것이고 시리얼 포트에서는 이전에 버퍼링된 데이터들을 계속해서 보내려 할 것이다.
  • GPIO 핀들은 마지막으로 재부팅 된 이후에 엣지 트리거와 함께 이미 입력으로 활성화 된 경우 출력으로 사용할 수 없을 것이다.


User Driver

  • 사용자 센서들은 현재는 수동으로 해제할 수 없다. 이 센서들은 app 프로세스가 종료되면 자동으로 
    해제된다.
  • 사용자 센서로는 Continuous 및 On-change 센서만 지원 가능하다. One-shot과 special 리포팅 모드는 기대한대로 동작하지 않을 것이다.

Reporting modes란 (지난 프리뷰 번역에 언급했지만 포스팅이 나뉘었으므로 다시 설명함)

센서들은 다양한 방법으로 이벤트를 생성하는데 이를 Reporting mode라고 부른다. 각 센서들은 하나의 유형에 오직 하나의 reporting mode와 관계를 맺으며 모두 4개의 reporting mode가 있다.

  • Continuous : 배치 함수로 전달된 sampling_period_ns 파라미터에서 정의한 일정한 주기로 이벤트를 생성하며 가속도 센서나 자이로 센서가 여기에 포함된다.
  • On-change : 측정된 값에 변화가 있을 때만 이벤트가 발생한다. step counter, 근접 센서, 심박 센서 등이 여기에 포함된다.
  • One-shot : 이벤트가 감지되는 시점에서 HAL을 통해 단일 이벤트를 전송하고 센서 자신은 비활성화 된다. 중요 동작(Significant motion) 센서가 여기에 포함된다.
  • special : 센서별로 특정한 방식으로 이벤트를 발생시키며 자센한 것은 센서 타입 설명을 참조. 기울기 센서, Step detector 등이 여기에 포함된다.


인텔 Edison과 NXP Pico 관련 내용은 생략합니다.


Raspberry Pi

  • Audio : Wi-Fi와 Bluetooth가 모두 활성화 된 경우 Audio 품질 이슈가 발생한다.
  • Network : 인터넷 접속이 없더라도 이미 이더넷으로 네트워크에 연결되어있는 경우 Wi-Fi로 인터넷에 연결할 수 없다.
  • Camera : 하나 이상의 대상 출력 화면에 대해서는 새로운 CameraCaptureSession을 생성할 수 없다.
  • Camera : 어던 CameraCaptureSession에 대해서라도 최초의 요청에 대해서는 2개의 이미지가 queues에 쌓이게 된다. 이런 동작은 같은 session 내에서 연이어 발생하는 CaptureRequest가 이전 capture에서 버퍼링된 프레임을 리턴하는 문제를 야기한다.
  • I/O : BCM13/PWM1, BCM18/PWM0 공유 핀들은 이미 PWM 핀으로 활성화 된 경우 재부팅하기 전까지는 GPIO로 사용할 수 없다.
  • I/O : GPIO 핀인 BCM4, BCM5, 그리고 BCM6는 입력으로 사용할 경우 내부적으로 3.3V로 pulled-up(스위치가 Off 상태이면 전류가 흐르고 On 상태면 흐르지 않는 상태)된다.
  • Audio : 온보드 아날로그 오디오는 PWM과 동시에 사용할 수 없다.

Developer Preview 4.1

릴리즈 날짜 : 2017년 6월
빌드 번호 : NIH40K
play service : 11.0.0


개요는 Developer Preview 4와 동일하다.


New in Preview 2


NXP i.MX6UL Pico

NXP는 Preview 4.1 이상을 지원하는 Android 용 Pico 개발자 키트를 출시했다. 이전의 WandBoard kit
deprecated되고 차후 버전의 Android Things에서는 지원되지 않을 것이다.


Play Services for IoT

이번 릴리즈에는 IoT 기기를 겨냥한 별도의 Google Play Services가 포함되어 있다. 현재 버전에서의 Google
API 지원에 대해 더 배우고 싶다면 SDK overview페이지를 참고하라.


Known Issues

  • 시스템 전원 관리자는 현재 사용 불가능하다. 기기가 suspend 상태로 들어가지 않고 따라서 wake lock 기능이 필요치 않다(wake locks는 sleep 상태로 들어가거나 sleep 상태에서 깨우는 기능).
  • 부팅 시 dex를 미리 최적화하기 위해 Google Plat Service는 2~3분 정도의 시간을 필요로 한다. 이 프로세스가 완료되기 전에는 App을 설치할 수 없다.
  • 하드웨어 그래픽 가속 기능(OpenGL)은 현재 사용 불가능하다. 따라서 이러한 기능에 의존하는 API들(WebView같은) 역시 사용할 수 없다.


Peripheral I/O

  • 주변장치들은 close() 호출 후에 클리어 되거나 리셋되지 않는다. 출력은 그 장치들의 상태를 그대로 간직하고 있을 것이고 시리얼 포트에서는 이전에 버퍼링된 데이터들을 계속해서 보내려 할 것이다.
  • GPIO 핀들은 마지막으로 재부팅 된 이후에 엣지 트리거와 함께 이미 입력으로 활성화 된 경우 출력으로 사용할 수 없을 것이다.


User Driver

  • 사용자 센서들은 현재는 수동으로 해제할 수 없다. 이 센서들은 app 프로세스가 종료되면 자동으로 
    해제된다.
  • 사용자 센서로는 Continuous 및 On-change 센서만 지원 가능하다. One-shot과 special 리포팅 모드는 기대한대로 동작하지 않을 것이다.


인텔 Edison과 Joule 그리고 NXP Pico 관련 내용은 생략합니다.


Raspberry Pi

  • Audio : Wi-Fi와 Bluetooth가 모두 활성화 된 경우 Audio 품질 이슈가 발생한다.
  • Network : 인터넷 접속이 없더라도 이미 이더넷으로 네트워크에 연결되어있는 경우 Wi-Fi로 인터넷에 연결할 수 없다.
  • Camera : 하나 이상의 대상 출력 화면에 대해서는 새로운 CameraCaptureSession을 생성할 수 없다.
  • Camera : 어던 CameraCaptureSession에 대해서라도 최초의 요청에 대해서는 2개의 이미지가 queues에 쌓이게 된다. 이런 동작은 같은 session 내에서 연이어 발생하는 CaptureRequest가 이전 capture에서 버퍼링된 프레임을 리턴하는 문제를 야기한다.
  • I/O : BCM13/PWM1, BCM18/PWM0 공유 핀들은 이미 PWM 핀으로 활성화 된 경우 재부팅하기 전까지는 GPIO로 사용할 수 없다.
  • I/O : GPIO 핀인 BCM4, BCM5, 그리고 BCM6는 입력으로 사용할 경우 내부적으로 3.3V로 pulled-up(스위치가 Off 상태이면 전류가 흐르고 On 상태면 흐르지 않는 상태)된다.









블로그 이미지

마즈다

이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^