본문 바로가기

Android

(9)
[Android] 안드로이드폰과 Bluetooth 모듈을 이용한 램프 제어 [[Android] 안드로이드폰과 Bluetooth 모듈을 이용한 램프 제어 지금까지 Android 프로그래밍에 대한 기본을 스터디 했기 때문에 좀더 실용적인 프로젝트를 진행 해 보려고 한다. 형광등 혹은 램프를 앉은 자리에서 Phone으로 제어 할수 있으면 편리 할것 같아 첫번째 프로젝트로 정했다. Android의 Bluetooth를 이용하면 외부 기기와 쉽게 접근 가능하고 무선으로 다양한 장치들을 제어 할 수 있다. Bluetooth 모듈을 이용하여 램프(형광등) 제어 하기 위해 MCU가 필요 한데 간단히 연결할 수 있는 STM32(Cortex-M3, 물론 AVR과 같은 MCU도 가능하다)보드로 준비 했다. Bluetooth 데이터를 UART로 변경해 주기 때문에 시리얼 프로그램만 하면 쉽게 해결된다..
[Android] 이더넷 WiFi모듈을 이용한 서보모터 제어 [Android] 이더넷 WiFi모듈을 이용한 서보모터 제어 Android를 이용한 하드웨어 제어를 위한 두번째 방법으로 이더넷(WiFi) 가 가능하다. Android Phone은 기본적으로 WiFi가 가능하므로 TCP/IP 소켓 프로그래밍을 이용하면 네트웍으로 연결되 장치를 제어 할 수 있다. Android 에서 TCP/IP을 이용하여 우선 간단하게 테스트 할 수 있는 보드로 WiFi t(Wiz600) 모듈을 이용한다. WiFi AP기능을 하기 때문에 Android에서 접속 해서 무선으로 제어 가능하다. WiFi to Serial 모듈을 USB2UART 커넥터에 연결하고 Servo Motor를 연결한다. Android Phone에서 WiFi를 검색하면 WLANAP를 찾을 수 있고 접속할 수 있다. An..
[Android] TCP/IP 프로그램 테스트 - 에뮬레이터 이용 [Android] TCP/IP 프로그램 테스트 - 에뮬레이터 이용 android의 WIFI 기능을 이용하면 네트웍으로 연결된 장치들을 쉽게 제어 가능하므로 안드로이드 측에서 TCP 소켓 통신 테스트를 해 두면 여러모로 쓰일곳이 많을 것 같다. Androd TCP/IP 테스트 프로그램소스코드 TCP 접속 처리 함수 서버 IP는 PC의 IP를 입력하면 된다. InetAddress serverAddr = InetAddress.getByName(serverIP); try { socket = new Socket(serverAddr, serverPort); ctlText1.setText("성공"); } catch (Exception e) { ctlText1.setText("실패"); } TCP전송 처리 함수 Edi..
[Android] Thread 테스트 - 타이머 만들기 [Android] Thread 테스트 - 타이머 만들기 Thread를 이용하면 일정 주기로 특정한 처리를 할 수 있는 프로그램을 할 수 있다. 예를 들어 외부에 연결된 스위치를 감시 하거나, 0.1 초 주기로 센서 데이터를 읽어오거나, TCP/IP 에서 들어온 데이터를 수신 하는등의 일을 처리 할 수 있다. Thread 시작 함수 생성 Thread클래스를 이용하여 새로운 Thread를 생성하고 run() 함수를 재정의 해 주면 된다. Thread 생성 방법 두가지 1) Thread 클래스를 상속받아 새로운 클래스 생성하여 run() 함수를 재정의하고 start() 함수 호출 ex) class myThread extends Thread { public void run() { " " } } myThread ..
[Android] 기본 위젯 테스트 - 슬라이드바(SeekBar) [Android] 기본 위젯 테스트 - 슬라이드바(SeekBar) SeekBar seekBar; seekBar = (SeekBar) findViewById(R.id.seekBar1); seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { public void onStartTrackingTouch(SeekBar seekBar) { } public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) { //SeekBar 값 표시 ctlText1.setText("PWM:"+progress+"%"); } public void onStopTrackingTouch(Seek..
[Android] 기본 위젯 테스트 - Button, Text [Android] 기본 위젯 테스트 - Button, Text 가장 기본적으로 입출력 할수 있는 Button, TextView 테스를 해 보자. TextView 위젯 테스트 레이이아웃 에서 TextView위젯을 배치하고 각종 프로퍼티를 설정 할 수 있다. 코드에서는 이때 설정한 Id로 접근해서 제어 할 수 있다. 기본적인 메세지 출력 위젯으로 아래와 같이 제어 할 수 있다. public class AndriodEX1Activity extends Activity { //TextView 객체 생성 public TextView ctlText1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle saved..
[Android] Hellow World 프로그램 작성 [Android] Hellow World 프로그램 작성 Android 개발 환경이 구축되었으니 가장 간단한 프로그램을 하나를 작성해 보자. 이클립스를 실행하고 New Project를 생성하면 위자드가 뜨고 Android용 프로젝트를 생성할 수 있다. 프로젝트를 명을 기입하고 적당한 Platform을 선택한다. 여기서 package name항목을 기입해야 다음으로 넘어 가는데... 우선 main.으로 시작 했다. 프로젝트를 생성하면 자동으로 코드가 생성된다. 간단하다~ ㅎㅎ 앞으로 원하는것을 추가 해 나가면 된다. 자동으로 생성된 Android 코드는 아래와 같다. 간산히 설명하면 처음 실행되는 onCreate()함수에 레이아웃 R.layout.main 를 출력하는 예제이다. package main.And..
[Android] 개발환경 설정 방법 [Android] 개발환경 설정 방법 Adndroid 프로그래밍 환경은 기본적으로 JDK, ASDK, Eclips 가 필요하고 아래 링크에서 무료로 다운 받을 수 있다. 필요 프로그램 Android 개발환경 설정을 위해 필요한 프로그램은 아래 3가지 이다. 1)JDK : Java SE Development Kit http://www.oracle.com/technetwork/java/javase/downloads/index.html 에서 최신 JDK를 받을 수 있다. 최신 버전인 JDK7을 이용하였다. 2)Android SDK http://developer.android.com/sdk/index.html 에서 받을 수 있다. 3)IDE : Eclipse http://www.eclipse.org/downlo..