IOIO

IOIO
IOIO
IOIOLogo.png
IOIO OTG Cropped.jpg
IOIO-OTG 보드, 상표 "올 화이트" PCB
출시일자2011년 4월; 11년(2011-04)
도입가격$39.95 (IOIO-OTG)[1]
CPU마이크로칩 PIC24FJ256[1]
연결성호스트: USB/USB-OTG, 블루투스
I/O : GPIO, PWM, I2C, SPI, UART, 입력 캡처, 용량성 감지
웹사이트github.com/ytai/ioio/

IOIO(pronled yo-yo)는 안드로이드 모바일 애플리케이션이 외부 전자제품과 상호작용할 수 있는 일련의 오픈소스 PIC 마이크로컨트롤러 기반 보드다.[2][3][4]이 장치는 2011년 이타이 벤츠비가 발명했으며, 스파크펀 일렉트로닉스가 처음 제조했다.[2][5][6][7]"IOIO"라는 명칭은 응용 프로그램이 외부 입력("I")을 수신하고 외부 출력("O")을 생산할 수 있도록 하는 장치의 기능에서 영감을 얻은 것이다.[4]

특징들

IOIO 보드에는 USB 호스트/USB 슬레이브 역할을 하며 연결된 Android 기기에서 실행되는 Android 과 통신하는 단일 PIC MCU가 포함되어 있다.[8]보드는 USB, USB-OTG 또는 블루투스를 통해 연결을 제공하며, 자바 API를 사용하여 안드로이드 애플리케이션 내에서 제어할 수 있다.[1][4][9][10][11]

IOIO 라이브러리는 기본적인 디지털 입력/출력아날로그 입력 외에 PWM, I2C, SPI, UART, 입력 캡처, 용량성 감지 및 고급 모터 제어도 처리한다.[3]슬레이브 모드에서 USB 2.0을 사용하는 기존 Android 기기에 연결하기 위해 최신 IOIO 모델은 USB On-The-Go를 사용하여 이러한 장치의 호스트 역할을 한다.[1]일부 모델은 구글 오픈 액세서리 USB 프로토콜도 지원한다.[4]

IOIO 모터 제어 API는 최대 9개의 모터와 모든 수의 바이너리 액추에이터를 동기화 및 주기 정밀도로 구동할 수 있다.[12][13]개발자는 로우 레벨 파형 발생 온칩을 수행하는 IOIO에 일련의 하이 레벨 명령을 전송할 수 있다.[12][13]IOIO 펌웨어는 스테퍼 모터, DC 모터, 서보 모터 등 3가지 종류의 모터를 지원한다.[12][13]

기기 펌웨어는 사용자가 현장에서 업데이트할 수 있다.[3]1세대 기기는 안드로이드 기기와 구글플레이에서 이용 가능한 IOIO 매니저 애플리케이션을 사용하여 업데이트한다.[3][14]2세대 IOIO-OTG 장치는 IOIDUde 애플리케이션을 실행하는 데스크톱 컴퓨터를 사용하여 업데이트해야 한다.[15]

IOIO는 컴퓨터와 안드로이드 기기 모두를 퍼스트 클래스 호스트로 지원하며, 양쪽 기기에서 정확한 API를 제공한다.[3]1세대 기기는 블루투스를 통해서만 PC와 통신할 수 있는 반면, IOIO-OTG 기기는 블루투스나 USB를 사용할 수 있다.[3] PC 애플리케이션은 보드와의 통신을 위해 자바나 C#용 API를 사용할 수 있다. 자바는 공식 API가 된다.[11][16]

적용들

IOIO 하드웨어와 소프트웨어는 완전히 개방된 소스로,[17] 전 세계적으로 수백 개의 DIY 로보틱 프로젝트를 만들 수 있었다.[18][19][20][21][22]

이 보드는 학생들이 외부 세계와 상호작용할 수 있는 안드로이드 응용프로그램을 쓸 수 있도록 돕는 것을 목적으로 하는 다양한 학습 키트에 실렸다.[3][23][24][25]

퀄컴 스냅드래곤 마이크로로버는 안드로이드 스마트폰과 IOIO를 활용해 로봇의 모터와 센서를 제어하는 3D 프린팅 로봇이다.[26][27]이스라엘의 발명가 Dr.가 이끄는 팀.Guy Hoffman은 로봇의 하드웨어를 제어하기 위해 IOIO에 의존하는 감정적으로 민감한 로봇을 만들었다.[28]

리뷰

IOIO는 '지크의 천국', '안드로이드 기기의 USB 연결에서 I/O를 쉽게 얻을 수 있는 방법', '핸드셋을 슈퍼 아두이노로 바꾸는 안드로이드 스마트폰용 USB I/O 차단 보드' 등으로 다양하게 표현돼 왔다.[18][29][30][31]그것은 Scientific Computing 기사에서 추천하는 "괴짜들을 위한 선물"로 다루었다.[25]

온라인 전자제품 전문지 슬래시기어(SlashGear)에 따르면 다음과 같다.

Android용 IOO와 두어 개의 열 감지기를 연결하면 실내 온도를 측정하는 앱을 휙 올려놓고 너무 더워지면 이메일을 보내면 된다.디지털 입력/출력, PWM, 아날로그 입력, I2C, SPI 및 UART 제어 등 다양한 I/O 선택 사항 덕분에 가정용 온도 조절기를 연결하여 반응에 따라 난방을 자동으로 조정할 수도 있다.

Chris Davies, "IOIO for Android gets video demos: Geek’s paradise!", SlashGear[18][32]

이 장치의 첫 번째 제조업체인 SparkFun에 따르면:

주변 장치를 쉽게 추가하여 외부 세계와 상호작용할 수 있는 기능과 함께 놀라운 컴퓨팅 성능, 인터넷/블루투스 연결, 터치 스크린 및 안드로이드 기기의 다양한 센서를 결합할 수 있다.또한 IOIO를 사용하는 경우 Android 기기의 하드웨어 또는 소프트웨어 수정이 필요하지 않으므로 보증은 물론 해커가 아닌 사용자가 기능을 사용할 수 있게 된다.

Publishing Team, "IOIO Android Interface Board Retail", SparkFun[8][32]

이 장치의 발명자인 Ytai Ben-Tsvi에 따르면:

안드로이드폰은 인터넷 연결과 다양한 내장형 센서(카메라, GPS, IMU, 터치스크린)를 갖춘 강력한 모바일 컴퓨터다.Android SDK 개발자들이 훌륭히 해낸 덕분에, 그들은 또한 응용 프로그램을 쓰기가 매우 쉽다.많은 애플리케이션에서, 그들이 정말로 놓치고 있는 것은 외부 주변기기에 대한 연결성이다.IOIO가 딱 들어맞는 곳이 바로 여기에 있는데, 외부 회로와 통신할 수 있는 기능으로 안드로이드 기기의 고유 기능을 풍부하게 한다.

Ytai Ben-Tsvi, "Meet IOIO - I/O for Android"[33]

기술적 세부사항

IOIO V1

1세대 IOIO 핀아웃/연결 다이어그램

1세대 IOIO 보드(IOIO V1)에는 다음과 같은 온보드 기능이 포함되어 있다.[34][35]이 세대는 USB 슬레이브 모드만 지원하며, USB 마스터를 호스트(PC 이상 안드로이드폰)로 필요로 한다.[2][7]

IOIO V1은 3.3V 로직 레벨 소자로, 5V DC/DC 스위칭 레귤레이터와 3.3V 선형 레귤레이터가 특징이다.5V 조절기는 5-15V 입력 범위와 최대 1.5A 부하를 지원한다.[7]이것은 연결된 안드로이드 기기의 충전을 용이하게 하고 여러 개의 작은 모터나 유사한 부하를 운전할 수 있게 해준다.

특징 세부 사항 설명
USB 커넥터 A형, 여성 Android 장치에 연결하는 데 사용됨.
GND 핀 핀 9개 접지 연결.
VIN 핀 핀 3개 보드에 전원 공급에 사용됨.5에서 15V 사이의 전압이 공급되어야 한다.
5 V 핀 핀 3개 일반적으로 보드의 전원이 VIN에서 공급될 때 사용자 전자 장치에 대한 5V 출력으로 사용된다.VIN이 연결되지 않은 경우 5V 입력으로 사용 가능.
3.3V 핀 핀 3개 사용자 전자 장치에 대한 3.3V 출력.
I/O 핀 48핀 범용 I/O 핀.ADC, 입력 캡처, UART, PWM, 비교기 또는 PIC MCU(ICSP) 프로그래밍과 같은 특수 기능이 있는 것도 있다.
파워 LED IOIO의 전원이 켜질 때 켜짐.
통계분석 LED 전원을 켜는 동안 잠시 조명이 켜졌다가 응용 프로그램 제어 하에 놓인다.
MCLR 핀 보통은 사용하지 않는다.IOIO 보드에 새로운 부트로더 펌웨어를 프로그래밍하는 것이 목적이다.
충전 전류 트림기(CHG) USB의 VBUS 라인에서 Android 장치로 공급되는 전류의 양을 조절한다.(+) 방향으로 돌리면 충전 전류가 증가한다.

IOIO OTG

IOIO-OTG 핀아웃/연결 다이어그램

2세대 IOIO 보드(일명 IOIO-OTG)에는 다음과 같은 온보드 기능이 포함되어 있다.[36][37][38]이름에서 알 수 있듯이 USB-OTG의 도입이 USB 마스터나 슬레이브 모드를 지원하는 것이 이 세대의 핵심 특징이다.이는 IOIO가 USB 슬레이브 모드만 지원하는 구형 안드로이드폰에 연결할 수 있게 해준다.[1][9]

IOIO-OTG는 3.3V 로직 레벨 소자로, 핀 중 일부는 5V 내성이 있다.5V DC/DC 스위칭 레귤레이터와 3.3V 선형 레귤레이터가 특징이다.5V 조절기는 5-15V 입력 범위와 최대 3A 부하를 지원한다.[1]이것은 연결된 안드로이드 기기의 충전을 용이하게 하고 여러 개의 작은 모터나 유사한 부하를 운전할 수 있게 해준다.

특징 세부 사항 설명
USB 커넥터 마이크로 AB, 여성 호스트 컴퓨터, Android 장치 또는 Bluetooth 동글에 연결할 때 사용.
파워잭 2핀 JST, 여성 보드에 전원 공급에 사용됨.5-15V 사이의 전압을 공급해야 한다.
GND 핀 핀 10개 접지 연결.
VIN 핀 핀 3개 회로에 공급 전압을 출력하거나 파워 잭에 대한 대체 입력으로 사용할 때 사용.
5V 핀 핀 3개 회로에 사용할 수 있는 온보드 레귤레이터의 5V 출력
3.3V 핀 핀 3개 회로에 사용할 수 있는 온보드 레귤레이터에서 3.3V.
I/O 핀 46핀 범용 I/O 핀.ADC, 입력 캡처, UART, PWM, 비교기 또는 PIC MCU(ICSP) 프로그래밍과 같은 특수 기능이 있는 것도 있다.
PWR LED 적색의 IOIO의 전원이 켜질 때 켜짐.
STAT LED 노랑색의 응용 프로그램 제어 하에 범용 온보드 LED.
MCLR 핀 보통은 사용하지 않는다.IOIO 보드에 새로운 부트로더 펌웨어를 프로그래밍하는 것이 목적이다.
부트 핀 전원을 켤 때 IOO를 부트 로더 모드로 전환하는 데 사용되는 특수 핀.이 핀은 통계 LED와 공유된다는 점에 유의하십시오.
충전 전류 트림기(CHG) USB 호스트로 작동할 때 USB의 VBUS 라인에서 공급되는 전류의 양을 조정한다.일반적으로 Android와 함께 배터리 구동 응용 프로그램에 사용되어 Android가 배터리를 빠르게 소모하지 않도록 방지.(+) 방향으로 돌리면 충전 전류가 증가한다.
호스트 스위치 "A" 모드에서는 IOIO-OTG가 연결된 USB 커넥터(마이크로A 또는 마이크로B)에 따라 자동으로 호스트 역할을 할지 아니면 디바이스 역할을 할지 감지한다.마이크로-B 유형을 사용하는 비표준 USB 케이블 또는 어댑터를 지원하려면 스위치를 "H" 위치로 이동하여 호스트 모드를 강제 실행하십시오.

참고 항목

참조

  1. ^ a b c d e f IOIO-OTG, DEV-12633, 스파크펀
  2. ^ a b c Lutz, Zachary (10 April 2011). "SparkFun intros IOIO for Android, a hack-free breakout box to get your mind spinning". Engadget.
  3. ^ a b c d e f g IOIO Mint - 휴대용 Android Development Kit, AdaFruit
  4. ^ a b c d SparkFun Hosts Android Development Class with IOIO, PRNewsWire, BOLDER, Colo, 2012년 6월 27일
  5. ^ IOIO 위키, GitHub, "그리고 이것은 IOIO의 창시자인 Ytai의 블로그"
  6. ^ 이타이 벤츠비의 블로그, 블로그스팟
  7. ^ a b c Android용 IOO, DEV-1085, SparkFun
  8. ^ a b IOIO Android 인터페이스 보드 소매, SparkFun USA
  9. ^ a b O'Brien, Terrence (30 May 2012). "Second-gen IOIO in the works: embraces the wireless revolution, cuts cost". Engadget.
  10. ^ IOIO-OTG 초보 가이드, SparkFun
  11. ^ a b IOIO Java 라이브러리 기본 사항, GitHub
  12. ^ a b c 모터 제어, IOIO Wiki
  13. ^ a b c IOIO 플로터와 모터 제어 라이브러리, 2013년 5월 14일 Ytai Ben-Tsvi 블로그
  14. ^ IOIO Manager, Google Play Store
  15. ^ IOIO-OTG BootloaderIOIODUde, IOIO Wiki
  16. ^ IODIODotNet, GitHub
  17. ^ IOO, GitHub
  18. ^ a b c Davies, Chris (8 April 2011). "IOIO for Android gets video demos: Geek's paradise!". Slashgear.
  19. ^ IOIO, 핀터레스트구축된 프로젝트
  20. ^ DIY Android 동력 탱크, Edwin Key, 2011년 8월 10일, Ubergeek
  21. ^ DIY 스마트폰 서모스탯은 안드로이드@에게 무슨 일이 일어났는지 궁금하게 만들었다., 2012년 10월 15일 판드로이드 케빈 크라우스
  22. ^ Android Dreamalyser, GadgetMaster, Electronics Weekly, 2012년 5월 11일 IOO 보드에서 호흡
  23. ^ IOIO Inventor의 키트, RB-Spa-934 웨이백머신, 로봇에 2015-07-12 보관쇼핑
  24. ^ SparkFun Inventor의 IOIO용 키트, SparkFun
  25. ^ a b Joyce, John R. (13 November 2014). "Holiday Shopping? 25 Gifts Sheldon and Friends would Love". Scientific Computing.
  26. ^ 스냅드래곤 마이크로로버, 퀄컴
  27. ^ MENDOZA, HANNAH ROSE (21 September 2014). "Qualcomm's 3D Printed Micro Rover Controlled by Smartphones". 3DPrint.
  28. ^ Meyrav, Avner (9 April 2014). "Israeli Robot Reacts 'Emotionally' to How You Talk". ShalomLife. Archived from the original on 12 July 2015. Retrieved 11 July 2015.
  29. ^ Android용 SparkFun IOIO를 통해 간단한 아르뒤노식 해킹, Android Community, 2011년 4월 7일, Chris Davies
  30. ^ Android용 IOO 세부 정보: 2011년 4월 8일, Chris Davies, Android Community의 USB 브레이크아웃 보드에서 샘플 프로젝트
  31. ^ "IOIO board gets I/O from an Android device's USB connection". Electronics Weekly. 19 August 2011.
  32. ^ a b "Android phones hack their way with IOIO breakout board". Electronics Weekly, Gadget Master. 26 July 2011.
  33. ^ IOIO 충족 - Android용 I/O, Ytai Ben-Tsvi 블로그
  34. ^ IOIO-V1 보드, IOIO Wiki에 대해 알아보기
  35. ^ IOIO V1, SparkFun USA
  36. ^ IOIO-OTG 보드, IOIO Wiki에 대해 알아보기
  37. ^ IOIO OTG, SparkFun USA
  38. ^ IOIO OTG, SparkFun USA