우선 안드로이드 개발 문서를 살펴보자.http://developer.android.com/guide/topics/connectivity/bluetooth.html친철하게도 한글로 번역해놓은 분도 계시다. (감사합니다 b >.< d) http://hardroid.net/profiles/blogs/bluetooth 요즘은 안드로이드 관련 이슈나 API 문서를 한글로 번역해 놓는 분들이 많아서 참 고맙다. 친분이 있다면 치맥이라도 대접해 드리고 싶은 심정이다. 그동안 안드로이드 개발해오면서 사운드 관련 API와 함께 블루투스 관련 API 는 깔끔한 편에 속하는 것 같다. (개인적인 느낌으로는...) UI 관련 API는 멘탈이 강하지 않으면 사용하기 힘들다. 단, 요즘은 3.x 이하 버전을 버리는 추세라서 많이..
1편 HC-06 블루투스 모듈을 설정하는 방법에 이어서 이번에는 안드로이드에 연동하는 방법에 대하여 공유하겠다. 아래는 HC-06 모듈을 달고 있는 아두이노로 메세지를 보내면 그것을 되돌려 받는 안드로이드 앱의 스샷이다. 구글 플레이 스토어 앱 : https://play.google.com/store/apps/details?id=kr.re.Dev.BluetoothEcho Github 안드로이드 프로젝트 소스 : https://github.com/ice3x2/HC-06_Arduino_Echo 우선 안드로이드에서 블루투스를 시리얼 포트 모드로 이용하기 위한 간단한 모듈을 작성 하였는데, 관련 내용은 이 포스팅에서 볼 수 있다. 동작하는 원리는 아주 간단하다. 그냥 안드로이드에서 문자열을 보내면 아두이노에서 ..
무슨 이야기냐 하면은... 우선 아래 두 개의 스샷을 보자.왼쪽은 넥서스S , 오른쪽은 갤럭시 S2 다. (모두 4.1.1 버전이다. ) 이 두 녀석처럼 하드웨어 버튼을 갖고 있을 경우 액션바(Actionbar) 상의 오른쪽에 오버플로우(Overflow) 메뉴 버튼을 띄워주지 않고, 하드웨어 버튼을 누를 경우 우측 사진처럼 아래에 메뉴창을 띄워준다. 전형적인 메뉴 버튼 달린 기기 스타일이다. (요즘 기기들은 하드웨어 메뉴 버튼이 사라지고 액션바 오버플로우 버튼이 그 자리를 대신한다.) 참, 중요한 사실은 그동안 3.x 이하 버전에서도 액션바를 제대로 지원하기 위하여 Support Library 를 사용 할때는 문제가 없었다. 하지만 최소 버전을 4.0 이상으로 설정하면서 SDK 내부의 기본 API 를 사..
Arduino 와 Android 디바이스와의 블루투스 통신을 하기 위하여 다른 모듈 대비 저렴한 HC-06 을 사용하였다. HC-06 블루투스 모듈은 블루투스 2.0 을 사용하고 슬레이브 모드(마스터 모드와 슬레이브 모드가 있다. 슬레이브 모드는 기기를 한 대 밖에 연결하지 못 한다. 관련 설명 페이지)만을 사용하며 가격이 다른 모듈에 비해 비교적 저렴한 것이 특징이다. 또 관련 자료도 많이 접할 수 있다. 옥션 같은 곳에서 12,000 원대에 구할 수 있지만 이베이에서는 국내 판매 가격보다 훨씬 저렴한 가격으로 구할 수 있다. 그냥 HC-06 알맹이만 있는 녀석은 4$~5$ 정도 한다. 다만, 배송비의 압박이 만만치 않다. 나는 5v 로 사용할 수 있는 HC-06 시리얼 모듈을 구입하였다. 모듈을 구입..
글 작성중...
우선 테스트 영상. 첫 번째 실습부터 삽질이다. 칩 두이노에 LED 와 스위치를 연결하여 스위치를 한 번 누르면 LED 가 켜지고 다시 한 번 누르면 깜빡 거리고 다시 한 번 누르면 더 빨리 깜빡거리고 마지막으로 꺼지는 것을 만들고자 하였다. 마치 자전거용 전조등처럼 말이다. 추후에 자전거 전조등 자작을 염두에 둔 실습이었는데, 스위치에 좋지 않은 문제가 하나 있었다. 바로 기계식 스위치가 갖고 있는 문제인 바운스 현상이라 하는데, 스위치 내부에 스프링위에 올라간 접점이 붙거나 떨어질때 탄성으로 인하여 한 번 더 붙거나 하는 현상이 다. 아래 그림을 보면 이해가 쉬울 것 이다. 스위치 바운스. 처음에는 본인 직업인 소프트웨어 개발자 답게 코딩으로 딜레이를 주는 방식으로 해결해볼려고 했는데 아무래도 물리적..
요즘 즐겨보는 간행물인 Make 에 보면 아두이노는 꼭 빠지지 않는 단골 소재다. 이 잡지를 보면서 항상 아두이노에 대하여 감탄해왔다. 그리고 최근 결정적으로 아두이노에 입문하게 되게 해준 계기가 있었는데, 바로... 이 녀석들 이다.. 스노보드와 자전거가 취미인 내게 고글에 속도가 디스플레이 된다는 것이 큰 매력으로 다가왔다. 하지만 가격이 적어도 한국 돈으로 40만원 이상 하는 것들이라 가난한 월급쟁이인 저는 좌절 할 수밖에 없었다. 하지만 그 순간! 아두이노가 머릿속에 떠올랐다! 그리고 아두이노와 기기들에 대하여 조사를 해 본 결과 웨어러블 기기를 만드는데 딱 좋은 사이즈인 Cheapduino 라는 좋은 제품을 발견할 수 있었다. 요즘 많이 사용하는 아두이노 우노 R3에 비하여 스팩과 퍼포먼스가 많..
1. AndroidManifest.xml 파일에서 화면 회전을 막고자 하는 해당 액티비티의 엘리먼트에 다음과 같은 속성을 추가. android:screenOrientation="landscape" android:screenOrientation="portrait" 2. Activity 의 public 메소드인 setRequestedOrientation 사용. 런타임 환경에서 강제로 화면을 회전시킬 수 있다. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
앱을 실행하자마자 아래와 같은 이미지를 띄우고 대략 2~3초 뒤에 메인 화면으로 넘어가는 동작을 구현해 보겠습니다. 우선 가장 무난한 페이스북 인트로 화면을 예제로 잡아보겠습니다. 우선 아래와 같이 인트로로 사용할 이미지를 준비합니다. 저는 가장 무난한 페이스북 이미지에 나인패치를 입혀서 적용했습니다. 화면을 다 덮는 이미지를 사용해도 되지만 intro 화면에 사용될 Drawable 을 정의한 xml 파일을 사용하는 것이 좋습니다. 우선 values 폴더의 style.xml 파일에 다음과 같은 테마를 하나 추가시켜줍니다. 액션바와 타이틀을 제거하고 인트로에 사용될 배경 이미지를 출력하는 테마입니다. 그리고 AndroidManifest.xml 에서 Intro 를 보여줄 Activity 에 해당하는 엘리먼트..
ActionBar 의 View 를 가져올 수 있으며 아래 코드는 Activity 내부에서 사용한 예. private View getActionBarView() { Window window = getWindow(); View v = window.getDecorView(); int resId = getResources().getIdentifier("action_bar_container", "id", "android"); return v.findViewById(resId); } 이렇게 가져온 ActionBar 의 view 를 이용하여 애니메이션등을 구현할 수 있습니다.
1. manifest.xml 파일의 manifest 엘리먼트 안에 아래와 같이 추가해준다. 2. application 엘리먼트 바로 안에 다음과 같이 추가해준다. 3. File->New->JUnit Test Case 를 선택하고, 상단 라디오 버튼중에 New JUnit 4 test 를 선택한다. Name 에 적당한 이름을 입력하고 Finish 버튼을 눌러준다. 4. 새로 생성된 JUnit 테스트 케이스를 다음과 같이 편집하고 이 곳에 테스트 코드를 삽입한다. import org.junit.Test; import android.app.Activity; import android.app.Instrumentation; import android.test.ActivityInstrumentationTestCase..
- Total
- Today
- Yesterday
- 아두이노
- ndk
- 침블락
- arduino
- ENC28J60
- 이더넷
- 블루투스
- 병렬 프로그래밍
- activity
- 안드로이드
- oled
- noidemcu
- 개발
- ATtiny85
- 스마트 무드등
- Android
- 칩두이노
- Cheapduino
- ESP8266
- 부트로더
- HC-06
- bluetooth
- 알리익스프레스
- NeoPixel
- json
- 가습기
- Iot
- 안드로이드 개발
- Java
- WS2812B
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |