본문 바로가기

[Proramming]/Android

(8)
[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] 개발환경 설정 방법 [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..
[Android] 하드웨어 개발자 입장에서 안드로이드 프로그래밍 배우기 [Andoid] 하드웨어 개발자 입장에서 안드로이드 프로그래밍 배우기 요즘에 모바일 OS로 Andoid가 대세인것 같다. 개발자 입장에서 새로운 환경에 대한 스터디는 꾸준히 해야 하기 때문에 Android프로그래밍을 배워볼 생각이다. 하지만 배워야 할 내용이 너무나 방대한것 같다. 그래서 탑다운 방식으로 하드웨어 개발자 입장에서 필요한 수준의 Android 프로그래밍을 배워볼 생각이다. 예를 들어 블루투스나 이더넷 모듈을 이용하여 주변 하드웨어를 제어 하거나 각종 센서값을 모니터링 하는 용도로 스터디 해 나간다면 흥미도 잃지 않고 쉽게 배울 수 있지 않을까..? 일차적으로 블루투스로 외부 장치를 On/Off하는 예제를 작성해 볼 생각이다. 이후 이더넷, USB를 이용해서 제어 하고, 추후 스코프같은 형태..

반응형