지난 포스팅 : - 안드로이드 스튜디오에서 NDK 로 C++ 빌드하기 (Hello World 예제) 이번시간에는 NDK 를 이용하여 HTTP 통신하는 법을 알아보겠다. C/C++ 에서 HTTP 를 통신하기 위한 가장 흔한(?) 방법은 curl 을 사용하는 것이다. 그러기 위해서 curl 라이브러리를 android 에서 동작 하도록 컴파일 해야 하는데, 이는 삽질을 동반한 작업들을 해야만 한다. 그래서 이미 빌드된 정적 라이브러리를 사용하는 효율적이고 빠른 방법에 대하여 알아보겠다. 우선 android 용으로 각각의 CPU 별로 깔끔하게 빌드된 정적 라이브러리(.a) 파일을 구해야 한다. 빌드된 curl 을 구하기 위하여 github 와 구글을 한참 검색해 보다가 문득 cocos2d-x 에서 curl 을 ..
아래 내용은 mac 기준으로 작성 되었습니다. 1. 안드로이드 개발자 사이트에서 NDK 를 받아야 하지만, STL 과 Boost 를 사용하기 위해서 별도의 작업을 더 해야한다. 하지만, CrystaX 를 사용하면 쉽게 적용할 수 있다. 아래 사이트에서 최신 버전의 CrystaX 를 다운받고 압축을 푼다. 용량이 큰 것으로 받는다. 압축을 풀면 5GB 가 넘는다... https://www.crystax.net/en/download 2. 프로젝트를 생성한다. 3. 프로젝트의 app/src/main 폴더 안에 jni 폴더를 생성한다. 4. 아래 과정은 최초 한 번만 진행하면 된다. (아래 내용은 http://blog.burt.pe.kr/ 에서 참고하였습니다.) - javah 설정하기. (1) AndroidSt..
컴퓨터를 거의 24시간 내내 틀어놓고 살아가는데, 얼마 전부터 조용하던 팬이 공사장 중장비와 닮은 소리를 내기 시작했다. 낮에는 그러려니 하고 소리를 참을 수 있었지만, 밤에는 무시무시한 쿨러 소음 덕분에 좀처럼 잠을 이룰 수 없었다. 슬립 모드로 해놓아도 이따금 돌아가는 쿨러 소리에 잠을 깰때가 많았고, 결국 잠들기 전에 컴퓨터를 끄고 아침에 일어나서 다시 켜야 하는 귀찮은 작업을 반복하다가 결국 수리를 맡기려다 생각보다 비싼 비용에 질겁하여 직접 수리를 하기로 하였다. 우선 맥미니용 쿨러를 구해야 하는데, 국내에서 구하기란 쉽지 않고 역시 우리의 '알리 익스프레스' 를 이용하기로 했다. 배송은 운이 좋아 2주밖에 안 걸렸다. 이 정도면 칭찬해줘도 괜찮을듯한 가격이다. (주의할 점은 너무 싸거나 판매자..
알리 익스프레스에서 3D 프린터를 구매하였다. 처음에는 옥션에서 판매하는 프린터봇을 구매하려고 했는데, 아무래도 수리를 하거나 업그레이드를 위한 파트를 교체하는 데 어려움이 있을 것 같고 인쇄물 크기가 만족스럽지 않아서 이런 험난한 길- 푸르사 멘델 조립-을 선택하게 되었다. 우선 제품의 신뢰성을 검증하기 위하여 상품평을 찾아보는데, 여러 나라에서 구매한 사용자들이 꽤 많은 피드백을 남겨 놓았고 그 것들을 종합해보면 다음과 같았다. - 배송 빠르다. - 베어링이 뻑뻑하다. - 안 맞는 부폼이 조금 있다. - 같이 제공되는 조립 설명 동영상은 중국어다. 하지만 보면서 쉽게 따라 할 수 있다. - 그래도 좋다. 전반적인 상품 피드백을 보면 프린터 조립에 어느 정도 수준 이상의 난이도가 필요하다는 것을 알 수..
FileObserver 안드로이드에서 제공하는 파일 모니터링을 위한 API 인 FileObserver 에 대하여 알아보겠다. FileObserver 는 안드로이드 내부에 접근할 수 있는 각각의 파일과 디렉토리의 접근이나 변경에 대한 이벤트를 비동기적으로 받아올 수 있다. 이 클래스는 리눅스 커널에서 제공하는 파일 감시 모듈인 inotify (클릭시 위키로 이동) 의 네이티브 API 들을 JNI 를 통해서 호출한다. FileObserver 를 사용하면 내부적으로 쓰레드 하나가 (static 으로)생성된다. 우선 기본 사용법에 대하여 알아보자. (참고 페이지 - 안드로이드 레퍼런스 : http://developer.android.com/reference/android/os/FileObserver.html) ..
아두이노 에서 사용하는 마이크로 컨트롤러는 작은 양의 RAM 공간을 갖고 있습니다. 아두이노 우노 에서 사용하는 ATmega328 계열은 고작2Kbyte 의 공간을 갖고 있으며 기본적으로 200에서 300byte 정도의 메모리가 소비되는 것을 볼 수 있었습니다. 스케치 코드를 짜면서 무분별한 변수 선언이나 지나친 메모리 할당은 아두이노 스케치가 오동작 할 수 있는 상황을 야기시킬 수 있기 때문에 코딩중 고심하게 만드는 부분중에 하나입니다. 심지어 메모리 누수(Memory leak) 버그가 발생하면 코딱지 만한 메모리 공간은 쓰레기로 가득 찰 것입니다. 다행히도 아두이노에 남아있는 메모리 사용량을 실시간으로 체크할 수 있는 방법이 존재합니다. 그리고 그것을 라이브러리로 쓰기 편하게 만들어 주신 분도 있습니..
우선 해외 사이트 중에 Attiny85 에 아두이노를 올리는 것에 대해 자세히 나와있는 아주 좋은 포스팅이 하나 있다.http://highlowtech.org/?p=1695 하지만, 이 포스팅을 보고 순서대로 따라해 보았지만 동작하지 않았다. 대략 원인은 위 포스팅에 나와있는 아두이노 우노 R2 에서는 잘 올라가지만 직접 테스트 해본 아두이노 우노 R3 에서는 문제가 발생하는 것으로 예상하고 있다. 물론 아두이노 (호환)나노, 아두이노 (호환)미니 에서도 동작하지 않았다. 위에 링크로 올린 http://highlowtech.org/?p=1695 에서는 아주 간단한 방법으로 부트로더도 올리고 Blink 예제도 올리고 있지만, 앞서 언급한대로 잘 되지 않으므로 정공법으로 부트로더를 올리고 스케치 프로그램을 ..
Exchanger 는 뜻 그대로 쓰레드상에서 두 개의 인스턴스를 교환해주는 역할을 한다. 만약 한쪽의 쓰레드에서만 교환 메소드를 호출한다면 다른쪽에서 교환 메소드를 호출하기 전까지 대기하고 있는데. 이 클래스는 java 의 gc 와 같은 동작에서 사용할 수 있다. 예를 들어 설명하면 다음과 같다. (이해를 돕기 위하여 '요청' 이라는 표현을 사용하였다. 정확히는 교환 대상이 되는 인스턴스 값을 인자로 하는 교환 메소드 호출이다.) 1. 데이터를 '스택에 쌓는 쓰레드' 와, '스택을 비우는 쓰레드' 가 있다. 이 두 개의 쓰레드에는 각각의 '스택' 이 있다. 2. 데이터를 '스택에 쌓는 쓰레드' 는 계속해서 데이터를 자신의 '스택' 에 추가한다. 이 동작을 반복하다 스택이 가득차면 '스택' 교환을 요청하고..
이전 포스팅 '저렴한 RGB LED(WS2812B) 구임/사용기' 라는 포스팅에서 WS2812B 에 대하여 잠깐 소개한적이 있다. 간단한 사용 방법에 대하여 소개를 하지 않아서 본격적으로 사용법에 대하여 소개를 하려고 한다. 우선 구입은 Aliexpress 와 같은 해외 사이트를 추천한다. 글을 올린 시간 기준으로 100개에 약 18달러정도 한다. (http://www.aliexpress.com/premium/WS2812B-100pcs-Heatsink.html?ltype=wholesale&d=y&origin=y&SearchText=WS2812B+100pcs+Heatsink&isPremium=y&initiative_id=SB_20141005041503&isViewCP=y&catId=) 뿐만 아니라 LED ..
우선 CRC 와 CRC CITT 에 대한 설명은 아래 두 사이트에서 볼 수 있다. CRC(cyclic redundancy check) 에 관한 설명, 위키 링크(클릭)CRC16-CITT 에 대한 설명과 코드 페이지 링크(클릭) 보통 구글링을 하면 나오는 CRC 코드는 CRC 값 계산을 위한 테이블을 미리 생성하거나 코드에 포함시키기 때문에 아두이노에 올리기에 부담스럽다. 아두이노 UNO 의 메모리 크기는 달랑 2Kbyte 밖에 안 되는데 CRC 값 계산을 위한 테이블은 이론상 512byte 씩이나 되기 때문이다. (실제로는 좀 더 작은 크기를 점유하고 있다.) SRAM을 직접 연결하거나 메모리 쉴드를 달면 조금 나아지겠지만, 일단 그냥 올리기에는 부담스러운 것이 사실이다. 그래서 인터넷 이곳 저곳에서 긁..
우선 AndroidManifest.xml 에서 액티비티를 설정할 때, 속성값으로 액티비티 활성화/비활성화 값을 줄 수 있다. 만약 액티비티 비활성화를 한다면, Context 내의 startActivity 메소드를 이용하여 비활성화 된 액티비티를 호출시 앱은 ActivityNotFoundException 을 발생시키고 크래쉬가 발생하게 된다. 또 런처에서 실행시키기 위하여 내부의 설정 앨리먼트 로 과 옵션을 지정해줬다고 해도 런처내에 액티비티의 아이콘이 표시되지 않는다. 그리고, 이 것을 Manifest 파일에서만이 아닌 코드상에서도 PackageManager 의 setComponentEnabledSetting 으로 제어할 수 있다. 사용법은 무지 간단한데, 만약 Activity 내부에서 호출한다면 다음과..
CyclicBarrier 를 사용하면 동시에 실행되는 쓰레드 내부 원하는 지점에서 대기를 걸어주고 모든 쓰레드가 대기 상태에 들어갔을때, 대기를 풀어주는 동작을 할 수 있다. 예를들어 설명하면 N 개의 쓰레드가 돌고 있다고 가정하고 CyclicBarrier 를 생성할 때 인자값으로 N 을 준다. 각각의 쓰레드 내에서 CyclicBarrier 의 await() 를 호출하고 호출 횟수가 N번에 도달했을 때, N개의 모든 쓰레드의 대기 상태가 해제된다. 아래 그림 참고. 설명이 조금 애매한데, 그냥 대충 보고 눈치것 이해하는 것이 좋다. CyclicBarrier를 활용한 예제코드:public class main { private final static int THREADS = 5; private static ..
만약 백그라운드에서 실행되고 있는 싱글 쓰레드가 종료되기를 기다리는 코드를 작성해야 한다면 당장 Thread 클래스의 join() 메소드 부터 떠올리게 될 것이다. 아래와 같이 말이다. 간단한 join() 사용예:Thread thread = new Thread() { @Override public void run() { System.out.println("start trhead."); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("end trhead."); } }; thread.start(); try { // 스레드가 끝날때 까지 대기한다. thread.join();..
이전에 알리 익스프레스에서 구입한 OLED 사용기(http://dev.re.kr/47)에서 OLED 제어에 대하여 간략하게 올린적이 있습니다만 그것보다 더 편리한 u8glib 사용에 대하여 정리해 보도록 하겠습니다. 좀 더 자세한 튜토리얼과 레퍼런스는 이 곳 https://code.google.com/p/u8glib/wiki/u8glib?tm=6 페이지 에서 확인 할 수 있습니다. 우선 제어하려고 하는 OLED 가 SPI 로 통신하는지 I2C 로 통신하는지부터 알아야 하며, 내장 컨트롤러에 대한 정보도 알아야 한다. OLED 를 판매하는 인터넷 쇼핑몰 페이지의 상세 정보나 데이터시트를 참고하거나, 모델명으로 구글링해보면 OLED 컨트롤러에 대한 정보를 얻을 수 있다. 지금 테스트 해보려는 OLED 는 아..
3V 를 소비하는 LED 가 있다고 가정해 보자. 이 LED 의 밝기를 제어하기 위하여 전압을 변경할 수 있지만, 좀 더 간단한 방법으로 아두이노의 PWM 제어 기능을 이용하여 밝기를 조절할 수 있다. 만약 LED 에 전류를 1초간 공급했다가 다시 1초동안 끊고 또 다시 1초간 공급하는 과정을 반복한다면 우리 눈에는 LED 가 깜빡거리는 것으로 보인다. 하지만, 0.1 초 간격으로 신호를 끊고 다시 연결하고를 반복한다면 우리눈에는 LED 밝기가 원래 밝기에 비해 좀 어둡게 출력되는 것으로 보일 것이다. 이런 신호 폭을 조절하여 LED 의 밝기를 제어할 수 있다. PWM 제어에 대한 자세한 설명 : http://www.hanbit.co.kr/network/view.html?bi_id=1087 아두이노 우노..
우선 가장 간단한 방법으로는 ActivityManager 를 사용하는 방법이다. 그러나 이 것으로 현재 메모리상에 생성된 Activity 의 객체들을 가져올수도 없고 매니페스트에 퍼미션도 줘야 하는데 영 찜찜하다. 다른 개발자들은 동적으로 ActivityStack 에 있는 액티비티의 인스턴스를 어떻게 가져오나 궁금하여 스택 오버플로우를 찾아봤는데, 많은 개발자들이 Application 클래스를 상속받아 이 곳에 Activity를 관리하는 별도의 리스트를 만들어 사용하고 있었다. 하지만 프로젝트마다 이렇게 구현하면 여간 귀찮은 것이 아니라서, 그냥 각 Task 내의 Activity 의 래퍼런스들을 담고있는 리스트를 갖고 있는 싱글톤 객체를 이용하여 ActivityStack 을 구현해 보았다. 우선 코드는 ..
우선 아래 포스팅은 근본적인 해결책이 아니다. 본인 같은 경우에는 드라이버 및 OS 업데이트를 통하여 이 문제를 해결하였다. 맥을 사용하고 OS는 매버릭스를 사용하는 환경에서 이와 같은 문제가 발생한다. (어쩌면 윈도우에서도 발생할지 모르겠다.) 구글링을 해보니 아두이노판 스텍 오버플로우에서 쉽게 찾을 수 있었다. 먼저 이게 드라이버의 문제인지 뭐가 잘못된건지 잘 모르겠지만 FTDI 드라이버를 아두이노에 연결하여 컴파일된 코드를 올리면 다음과 같은 에러가 발생한다. (물론 드라이버는 최신 상태로 업데이트 하였다. 간혹 잘 되는 경우도 있다. ㅡ, ㅡ;;) 아주 열받는 상황이다. 조금 귀찮은 트릭을 사용하여 이 문제를 해결할 수 있다. 우선 상단 메뉴에서 Arduino->환경 설정 을 열어서 다음과 같은 ..
u8glib 라이브러리를 활용한 좀 더 쉬운 OLED 사용법은 http://www.dev.re.kr/51 에 포스팅 해 놓았습니다. 바로 이전 포스팅에 이어서 이번에도 알리 익스프레스에서 구매했다. 6.66$ 나름대로 저렴한 가격이다. I2C 를 사용한다고 하는데, 이 통신 방법에 대해서는 다음 위키 페이지에서 요약된 정보를 확인할 수 있다. http://ko.wikipedia.org/wiki/I%C2%B2C 앞 모습. 보호 필름이 발라져 있다. 뒷 모습. 핀헤더 아래를 보면 Address Select 라고 써져있는 부분이 보인다. 이 부분을 자세히 보자. 주소가 0x78 으로 표시되어 있는데, 각 디바이스마다 고유의 주소 값을 갖고 있고, 이 것을 선택하여 여러대의 I2C 기기를 컨트롤 할 수 있다고한..
(WS2812B 사용법및 예제 소스는 다음 포스팅 http://www.dev.re.kr/57 에서 확인할 수 있습니다.) 뭐를 만드려고 하는데, RGB LED 개 열 개 정도 필요하게 되었다. 좋은 대안은 컨트롤하기 편한 Adafruit 에서 만든 NeoPixel 이 되겠다. 이 녀석은 디지털 출력 포트 하나로 여러 모듈을 동시에 컨트롤 할 수 있다는 것이 가장 큰 장점이다. 하지만, 좀비싸다. ㅠㅠ 알리 익스프레스를 뒤져본 결과 NeoPixel 에 들어가는 WS2812B가 올라간 모듈을 아주 싼 가격에 팔고 있었다. 100개에 17.99달러!! 나는 10개만 필요하기 때문에 불량품이 있을 것을 감안하여 20개를 구입하였다. 무료 배송을 선택하고 2주 하고 5일 뒤에 상품이 왔다.이런식으로 붙어있긴 하지..
약 한 달 전에 알리 익스프레스라는 곳을 알게 되었다. 이전에는 국내에서 구하기 힘든 물건들은 이베이나 아아존 구매대행 사이트나 배송대행 업체를 이용하여 직구하기도 하였는데, 수수료와 배송비의 압박으로 부터 자유롭지 못 했다. 하지만 중국판 아마존인 알리 익스프레스는 달랐다. 중국 소포를 이용한 무료 배송을 해주는 상점이 많고, 제품들도 무척 저렴했다. - 당연히 구매 절차는 매우 간단하다. VISA 카드등 해외 결제가 가능한 체크카드나 신용 카드만 있으면 된다. - 물론 가품이나 문제가 있는 제품도 많아서 마치 확률 높은 도박을 해야한다는 단점이 있다. 인터넷을 뒤져보면 풍부한 구매 후기등이 있는데, 많은 수가 사기를 당하거나 문제있는 제품을 구매했다고한다. - 아마도 물건 구매에 실패한 사람들이 속상..
0. Node.js 튜토리얼 정리한 블로그 (감사합니다.ㅠㅠd) http://nodeqa.com/ 1. Node.js http://www.nodejs.org/ 2. Socket.io http://socket.io/ 3. MySQL 튜토리얼 http://markshust.com/2013/11/07/creating-nodejs-server-client-socket-io-mysql 4. Auto realod http://nodemon.io/ 5. ORM http://sequelizejs.com/ 5. Key value store http://pgte.github.io/alfred/
(android.text.Layout 에 대한 참고 페이지 : http://sudarnimalan.blogspot.kr/2012/06/android-understating-text-drawing.html )우선 항상 아래롤 스크롤되는 TextView 를 만들기 위해 다음과 같은 방법으로 스크롤을 가능하게 만들어줘야 한다. ::스크롤 가능한 TextView 만들기mTextView.setMovementMethod(new ScrollingMovementMethod()); 두 번째로 다음과 같은 메소드를 사용하여 항상 아래로 스크롤되는 텍스트 뷰를 적용할 수 있다. :: 항상 아래로 스크롤되는 TextView 메소드. (TextView 를 상속받는 EditText 에도 적용 가능하다.)private void s..
나이트로 판테라12-13 163 지난 시즌에 히로유키 영상을 보고 정말 멋있다는 생각에 그것을 따라 하기 위하여 연구와 연습을 많이 했었습니다. 히로유키 영상과 조인트 크루 영상, 그리고 일본식 스노보드 강좌 영상을 모두 핸드폰에 다운받아서 한 시간 반 정도 걸리는 출근 시간에 몇 번씩 돌려봤습니다. 그리고 퇴근후에 가까운 비발디 파크로 달려가서 1시간 30분정도 라이딩한 뒤에 바로 집으로 오는 일상을 반복하며 데크를 혹사 시켰었습니다. 하지만 초반에는 부족한 실력과 잘못된 자세를 용납하지 않는 나이트로 판테라의 까탈스러운 성격 덕분에 역엣지의 마수에 걸려들어서 갈비뼈에 금이갔었고, 양쪽 어깨 인대가 번갈아 가며 파열되어 5개월이 지난 지금도 팔을 올리면 어깨에 통증이 가시지 않습니다. 게다가 소중한 데..
r글 작성중...
14년 6월 22일. 비가 신나게 내리다가 갑자기 화창해 지고, 다시 비가 신나게 내리는 울다가 웃다가 똥꼬에 털 날것 같은 그런 날씨였습니다. 이날 친구들끼리 이태원에서 모임을 가졌었는데, 아태원에 대하여 빠삭하게 알고있던 네비게이션 같은 친구가 참석을 못 하게 되었습니다. 결국 갈림길에서 침 뱉어서 방향 정하듯 아무곳에나 들어가서 닥치는대로 주문하게 되었네요. 1차. 산토리니 - 그리스 음식점. (사진 : 다음지도) 굶주린 상태로 거리를 헤매다가 입간판에 인쇄되어 있는 돼지고기와 양꼬치 사진에 끌려서 빨려들어가듯이 들어가 버린 식당입니다. 그리스 음식 전문점이라고 하는데 솔직히 이 곳에서 먹은 음식은 왠지 모르게 익숙한 맛이라 독특하거나 특별히 맛있다는 느낌은 받지 못했습니다. 먹을만은 했습니다. 가..
우선 안드로이드 개발 문서를 살펴보자.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 시리얼 모듈을 구입하였다. 모듈을 구입..
글 작성중...
- Total
- Today
- Yesterday
- noidemcu
- oled
- Android
- 안드로이드 개발
- 이더넷
- 아두이노
- Cheapduino
- 스마트 무드등
- ESP8266
- 칩두이노
- WS2812B
- Iot
- activity
- ATtiny85
- json
- NeoPixel
- 개발
- 병렬 프로그래밍
- 안드로이드
- 침블락
- ENC28J60
- 가습기
- arduino
- 부트로더
- bluetooth
- HC-06
- 알리익스프레스
- Java
- ndk
- 블루투스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |