제임스딘딘의
Tech & Life

수행 프로젝트 이력 34

데이터 글러브 동작 테스트 영상

Air Haptic Glove 프로젝트 초기의 데이터 글러브 테스트 영상 입니다. 3D Rendering Part : 전영호3D Rendering Engine : microsoft XNA 3.1Implement Language : C#Physics Engine : JigLibX.Net3D Modeling : 3D studio max 2011 Hardware Part : 김재민, 권기우MCU : cortex m3acceleration sensor, magnetic sensor, flex sensor : can`t remember   첫번째 영상은 데이터글러브를 착용한 사용자의 손가락 구부림 정도를 추정하여 3D 손에 적용하는 테스트 영상이다. 프로젝트 초기의 영상이라 손가락 떨림 보정이 적용되어있지 않은 ..

스마트폰 거치대 기구부 설계

본 프로젝트의 기구부를 만들 필요가 있었다. 회로를 보관할 박스 부분과, 스마트폰 거치대를 붙일 부분, Panning 모터와 Tilting 모터를 붙일 부분 등이 필요했다. 일단, 손으로 대충 구상하여 설계한 뒤, 가공이 쉬운 아크릴과 MDF, 이미 가공되어있던 알루미늄 가공물등을 이용해 프로토 타입을 만들어 보았다. 프로토타입 제작에 2일 걸렸다. 스마트폰 거치대 초기 프로토타입의 모습 이후 프로토타입이 어느정도 가용하다고 판단을 하고, 프로토타입의 설계도를 기준으로 솔리드웍스로 재설계를 했다. 솔리드웍스 재설계는 팀원중 종섭이가 전담하여 진행해 주었다. 솔리드웍스 완전 처음 사용한다고 하며 튜토리얼 보고 학습후 진행 했으나, 진행속도는 빠른 편이었다. 약 2일 가량 소요. 설계된 파일에서 2D 도면만..

식물 감성 모니터링 시스템 : Youtube 업로드 영상

이 프로젝트를 수행했던 김들이, 김예슬, 이지우, 최윤미, 팀장 최경호 모두 수고 많았습니다! 특히, 졸업작품 때문에 바쁜 와중에 영상 편집까지 하느라 날밤을 많이 지새웠을 지우에게 정말 고생했다고 말하고 싶습니다. (팀장 최경호의 말) 한글 버전 링크 : http://youtu.be/YNmFbD_uDm4 English version link : http://youtu.be/2GKDcoodOCs

FFmpeg 참고자료

* 스마트폰을 이용한 가정용 화상감시 장비 프로젝트 진행 과정에서 얻게된 지식을 공유하는 포스팅 입니다. 본 프로젝트에서는 FFmpeg와 x264 라이브러리를 안드로이드에 포팅하여 H.264 인코딩/디코딩을 사용하였다.결국 인코딩/디코딩 모두 성공 했지만 불완전 하다. 네트워크 전송시 Intra 코딩만 가능. Inter 코딩 시 수신 측에서 디코딩 불가 문제가 있다. 이 문제를 해결 중에 있다.(2012. 10월)아래 링크는 이 작업과정에서 참조했던 사이트의 링크들 이다. - ffmpeg 사용시 참고했던 사이트 링크ffmpeg는 레퍼런스 문서나 예제가 많지 않아서 상당히 애를 먹었던 기억이 있다.doxygen 문서가 있긴 하지만, 필요한 걸 찾기가 개인적으로 불편했었다. 그래서 각 섹션마다 링크를 걸어둔..

libavcodec을 사용한 H.264 인코딩/디코딩 - C code

* 스마트폰을 이용한 가정용 화상감시 장비 프로젝트 진행 과정에서 얻게된 지식을 공유하는 포스팅 입니다. 본 프로젝트의 전체적인 시스템 구성도는 아래와 같다. 여기에서 코덱이 필요한 이유는, 감시 영상을 네트워크를 통해 전달하기 때문이다.raw data를 그대로 전달 할 경우, 1프레임 영상의 크기가 1메가를 상회하게 된다. (지원 해상도는 QCIF, QVGA 만 허용함. 이는 각각 352 x 288과 320 x 240 이다.) 네트워크 대역폭 제한으로 인해 받아 보는 쪽에서 영상의 프레임이 낮을 것이다.또한 3G/4G 를 사용한다면 데이터 요금도 상당할 것이다. 이를 h.264 코덱으로 인코딩 하여 네트워크로 보내게 된다면, 이런 문제를 해결 가능 할 것이라 판단하여 코덱을 사용하였다. 물론 인코딩 하..

[작업일지] 2012년 9월 21일 - 금

중계서버 - (전영호) - 영상 스트리밍 부분을 수정 - 기존의 16bit start 마크 / 고정폭raw영상데이터 /16bit end마크 를 빼고. - start와 end 를 문자열로 대체. start - 데이터size를나타내는int값(4byte) - 데이터 - end - 이렇게 4부분으로 분할 - camclient, viewclient, clientconnection 3개 스레드의 타이밍 조정. wait( ), notify( ) 활용 카메라앱 - (전영호) - 영상 인코딩 h264 , (gop 를 0으로 하여 intra 코딩만 하도록 함) - 전송되는 스레드의 타이밍 조정 뷰어 앱 - (전영호) - 영상 디코딩 h264 - ui layout 수정 - 패키지 재분류 - recvView 스레드를 없애고 ..

[ffmpeg] NDK 를 이용해 안드로이드 용 library 빌드시 문제 : codec_names.h 누락

ndk version : r8ffmpeg version : 0.10.4host os : windows 7terminal : cygwin 참고 자료 : [Android NDK FFmpeg 컴파일 강좌 (4/4)] http://www.androidpub.com/index.php?mid=android_dev_info&page=1&search_target=tag&search_keyword=FFmpeg&document_srl=1646540 문제 내용참고 자료를 통해 ffmpeg를 빌드하던 중 codec_names.h 를 찾지 못한다는 문제가 발생. D:/Eclipse_Workspace_Android/FFmpegBasic/jni/ffmpeg/libavcodec/utils.c:1568:36: error: libavc..

식물 감성 모니터링 시스템

1. 개요 본 작품은 한국기술교육대학교(KoreaTech) 2012년 1학기 '유비쿼터스 컴퓨팅 및 실습' 과목의 텀 프로젝트로 진행한 것이다. 식물 감성 모니터링 시스템 (Plant Emotion Monitoring System with Facebook) 은 다음과 같은 컨셉으로 개발을 진행하였다. 글보다 소개영상을 먼저 보고 싶다면 이곳을 클릭 ”Facebook을 통해 원격지에서도 식물의 상태를 모니터링 및 관리하며 식물과 대화를 할 수 있는 시스템을 아두이노와 Java / Facebook API를 통해 구현한다.“ 진행 인원은 총 6명 이다. 팀장 : 최경호 기구부 설계 및 제작 : 김들이, 최윤미 Arduino 프로그래밍 : 최경호, 김예슬 중계서버 및 인공지능 : 이지우 Facebook API ..

스마트폰을 'CCTV·블랙박스'로 활용하세요

출처 : http://www.ittoday.co.kr/news/articleView.html?idxno=26260 학교폭력을 포함한 일반 범죄 예방과 신고가 가능한 스마트폰 개인안전 서비스가 개시됐다. 앱스비즌(대표 장형규)은 스마트 폰을 CCTV와 블랙박스로 활용한 개인안전 서비스 'secu-EYE'를 출시했다고 29일 밝혔다. ▲ secu-EYE.이 앱은 스마트 폰을 CCTV처럼 이용할 수 있다. 동영상을 촬영 전송하고 블랙박스처럼 원격 서버에 저장해 불안한 상황에서 사전대처 할 수 있다. 위험한 상황에서 한 번의 터치로 112치안센터에 말없이 신고할 수 있다. 동영상 증거 자료는 휴대폰에 남지 않고 원격 서버에 저장돼 범죄 신고시에만 치안당국에 제공된다. 사생활 침해에 대한 걱정은 하지 않아도 된다..

Air Pocket Haptic Glove 최종 통합 결과물 영상

2011년 임베디드 소프트웨어 공모대전 Air Pocket Haptic Glove 프로젝트의 최종 통합 결과물 영상이다.2011년 10월쯤에 최종 통합되었다.나를 비롯한 팀원 모두 개강을 했고, 바쁜와중에도 틈틈히 모여 밤을 새가며 통합작업을 하느라 마지막까지 고생이 많았던 프로젝트이다.고생은 많이 했지만... 결과는 좋지 않았다는게 정말 아쉬운 점이다.내가 맡았던 부분은 3D게임 컨텐츠 제작 및  물리엔진 적용이다.영상에서 보면 모니터 화면에 나오는 3D 게임이 내가 개발한 부분이다.3D게임은 C#, XNA 3.1 framework, 3D Max 2011을 사용하여 개발하였다.물리엔진은 XNA용으로 포팅된 JigLibX 를 사용하였다. 아래 영상은 햅틱글러브의 내부 장갑이다.플렉스 센서로 손가락의 구부..

G.711 코덱 정보 및 소스 (Encoding & Decoding)

G.711은 오디오 인코딩을 위한 코덱(codec)표준 중 하나이며 협대역(narrow-band) 오디오 코덱이다. 원래 전화에서 사용하기 위해 디자인 되었으며, PCM (Pulse Code Modulation, 펄스 부호 변조)이 공식명칭이다. ITU-T에서 1972년에 표준을 만들었다. https://www.itu.int/ITU-T/recommendations/related_ps.aspx?id_prod=911 300-3400Hz 범위의 오디오 신호를 통과시키면서 그것들을 8000Hz로 샘플링한다. μ-law와 A-law 라 불리는 두 종류의 로그 압축 알고리즘 중 하나를 사용한다. 압축된 각 샘플은 8비트로 양자화되어, 최종적으로는 64kbit/s라는 비트전송률(bit rate)이 된다. 또한 G.7..

자료조사(9) - RTP Packet Payload Type

본 포스팅은 이번 프로젝트에서 사용하는 RTP 패킷에 대한 자료조사 덧붙임이다. RTP 패킷의 헤더에는 데이터 형식을 지정하는 PT(Payload Type) 필드가 있다. 8비트가 할당되므로 0~255 까지의 숫자로 표현된다. 이번 프로젝트에서는 PCMA ( G.711 코덱 ) 형식의 음성 데이터를 주고 받는데, 해당 PT 번호는 8번이다. 아래는 몇가지의 PT번호를 나타내는 표이며 출처에 표기한 사이트에서 발췌하였다. 출처 : http://www.packetizer.com/in/q9.html The information in this article applies to: H.323, H.225.0, H.245, RTP (RFC 3550) If there is a static payload type def..

자료조사(8) - RTP (real Time Procotol)

RTP(Real Time Protocol) >> RFC 3550 ☛ 개요 RTP는 오디오, 비디오 및 시뮬레이션 데이터와 같은 실시간 데이터를 멀티캐스트 또는 유니캐스트 네트웍을 이용해서 전송하는 응용 서비스에 알맞은 단말-대-단말 네트웍 전송 기능을 제공한다. RTP는 자원 예약을 수행하지 않으며, 따라서 적시 전달, 순차 전달과 같은 서비스 품질도 보장하지 않는다. RTP 데이터 전송 기능은 제어 프로토콜에 의해 확장되는데, RTCP라 불리우는 이 제어 프로토콜은 데이터의 전달 상황을 감시하며, 최소한의 제어 기능과 매체 식별 기능을 제공한다. RTP와 RTCP는 하위의 전송 및 네트웍 계층에 무관하게 설계되었다. RTP는 별개의 독립 계층으로 구현되기 보다는 특정 응용에서 요구되는 정보를 제공하여 ..

자료조사(7) - RTP/RTCP 프로토콜 (실시간 통신 프로토콜)

RTP/RTCP * 관련문서 : RFC 1889, RTP - A Transport Protocol for Real-time Applications IETF AVT WG에서 작성한 인터넷 표준이다. RFC 1889는 실시간 응용 데이터 전송을 위한 트랜스포트 프로토콜인 RTP와 제어 정보를 전달하는 RTCP로 구성된다. RTP (Real-time Transport Protocol) RTP는 멀티캐스트 또는 유니캐스트상에서 음성, 화상, 또는 모의 데이터와 같은 실시간 데이터를 전송하는 응용에 적합한 단대 단 트랜스포트 기능을 제공한다. 그러나 RTP는 자원 예약에 대한 내용은 다루지는 않으며, 특히 적시 데이터 전송 (timely delivery), QoS 보장, 뒤바뀐 순서의 전송 방지와 같은 기능을 제..

자료조사(6) - H.323 프로토콜 의 구조

H.323 프로토콜을 구성하고 있는 여러 가지 관련 프로토콜의 구조에 대해 알아봅니다. 은 H.323 프로토콜과 다른 프로토콜과의 관련성을 보여주고 있습니다. H.323 프로토콜은 비디오와 보이스를 둘다 지원합니다. (참고로 MGCP 는 보이스만 지원합니다.) 위 처럼 H.323 에서 비디오 장비를 위한 코덱 으로는 H.261 과 H.263 이 정의 되어 있고 보이스를 위한 코덱 으로는 G. 시리즈의 코덱들이 있습니다. 여러분들이 잘 아시는 MPEG4 비디오 코덱이 H.263 코덱 입니다. 어쨌든 이러한 코덱들을 이용하는 미디어 스트림들은 RTP/RTCP 프로토콜을 이용하고 이것들은 UDP 프로토콜 기반에서 동작 합니다. 지금은 RTP 와 RTCP 프로토콜은 미디어 스트림이 전송될 때 사용..

자료조사(5) - 구글 토크 개발자 문서 (음성채팅 App)

Google 토크 개발자 문서 We've provided the following documentation specifically for developers: 우리는 특별히 개발자를위한 다음과 같은 문서를 제공합니다 : Google Talk and Open Communications : answers some basic questions about the protocol and codecs used by Google Talk, as well as future goals and federation. Google 토크 및 개방형 통신이 : 답변 프로토콜과 Google 토크뿐만 아니라, 미래의 목표와 연맹에서 사용되는 코덱에 대한 몇 가지 기본적인 질문. libjingle : an open-source C++..

자료조사(4) - VOIP 두번째

개요전화 산업은 가장 널리 퍼져 있는 기술입니다. 일반적인 전화기만큼이나 사람들에게 편안하고 친숙한 기술은 없습니다. 많은 기업체들이 사용자들에게서 그런 편안함과 친숙함을 빼앗지 않으면서도 음성(voice) 관련 비용을 줄일 수 있는 새로운 방법을 찾고 있습니다. 그러한 비용 절감은 데이터 네트워크와 음성(voice) 네트워크의 통합을 촉진시키고 있습니다. 데이터 네트워크와 음성(voice) 네트워크가 점점 더 많이 통합됨에 따라, 음성(voice) 네트워크의 품질과 신뢰도가 영향을 받지 않게 하려면 주의 깊게 설계하고 기획해야 합니다. 본 설명서에서는 패킷 텔레포니, 좀더 구체적으로 말하면 voice over IP를 가능하게 하는 여러 가지 기술에 대해 설명합니다. 설계와 관련된 문제들을 설명하고, v..

자료조사(3) - VOIP

VOIP(Voice Over IP)라는 것은 용어 해석그대로 IP를 통하여 사람의 보이스를 전달하는 것 환경 구성 - 리눅스 머신 (HUINS PXA255보드에서 작동하는 커널2.4x버젼) - HP의 PDA 역할 - HUINS PXA255보드는 PDA끼리의 연결을 위한 중앙서버역할 - PDA는 VOIP를 위한 클라이언트 즉 단말기의 역할 설명 PDA자체의 CPU가 성능이 그리 좋지는 않다. 초창기에 OGG인코딩을 스트리밍하여 전송양을 줄여보려 했으나, 이는 오히려 인코딩/디코딩시에 시간이 더욱 소모되어 저사양의 PDA에서는 오히려 해가 될거라 판단했다. 그래서 RAW정보 자체를 그대로 전송하기로 결정하였다. 제한조건은 다음과 같다. VOIP상에서 홀펀칭(STUN이라고도 불리운다.) 을 구현하려 했으나 실..

자료조사(2) - 안드로이드의 오디오를 녹음하는 세 가지 방법

1. Mediarecorder API문서: http://developer.android.com/reference/android/media/MediaRecorder.html 사용법: http://developer.android.com/guide/topics/media/index.html Mediarecorder는 그 이름을 보면 알 수 있듯이, media를 record한다. audio는 마이크를 통해 녹음하여 sdcard에 그 파일을 저장한다. 녹음된 audio의 포맷은 MPEG4, RAW AMR, 3GP가 있다. 1) 사용이 쉽다 2) 오디오를 압축된 포맷으로 녹음한다. 3) 전화 소리를 녹음할 수 있다 (수신, 송신 측 모두) 4) 음성 인식을 녹음을 할 수 있다. 1) 오디오 버퍼에 접근할 수 없다...

이번 과제 컨셉을 구현하기 위한 자료조사 (1)

1. 안드로이드에서 PC로 음성을 실시간 전송? - 폰의 마이크로부터 음성 데이터를 얻음 - 음성 데이터를 오디오코덱으로 인코딩 - 서버와 소켓통신.(UDP) 방화벽이 있을 경우 어떻게 통신하는지 예외 처리 - 압축한 데이터를 패킷(RTP)으로 나누어 보낸다 - 받은 패킷을 디코딩/재생 - 소실 될 수 있는 데이터에 대해 Jitter 보정을 2. 안드로이드 SDK의 AudioRecord를 사용하여 일정 시간마다 PCM데이터를 획득하는 방법 :: 단서 :: - "AudioRecordInstance.read()라는 함수로 PCM데이터를 획득 할 수 있다. " - * 그런데, while문 돌려서 계속해서 read를 호출하니 일정한 FrameSize 만큼 계속 획득이 되긴 하나, 획득하는 시간이 일정하지 않다...

[컨셉] PDF 문서를 활용한 소셜 스터디

Main Idea - 태블릿에서 PDF 문서에 자유롭게 메모를 한다. 종이에 펜과 포스트잇으로 메모를 하듯. - 메모한 내용을 다른사람과 공유한다. - 메모를 하나의 PDF 문서에 여러사람과 동시에 한다. - 원격지의 여러 사람들과 하나의 PDF 문서에서 현재 보는 화면을 공유하면서 스터디를 진행한다! - 스터디 진행자 1명, 나머지는 참여자 => 진행자는 번갈아가면서 - 현재 스터디를 진행하는 진행자는 원격지의 참여자들에게 음성으로 의견을 전달할 수 있다.

[결과물] 맛따라 길따라

2010년 11월 ~ 2011년 1월 수행 스마트닥터를 제작했을 때 습득한 기술을 바탕으로 프로젝트 수행. ‘1인 창조기업 앱 경진대회’ 에서 우수상을 받음. 본 안드로이드 어플리케이션의 이름은 맛따라 길따라. 「맛따라 길따라」의 주요 목적은 충남지역 여행코스를 제공하고, 자신만의 여행코스에 대한 추억을 남길 수 있도록 하는 것이다. 호윤형의 안드로이드에 대한 전반적인 지식 + 증강현실 기술 원진형과 나의 데이터베이스 기술 열하와 인희 레이아웃 + 앱 이미지 디자인 기술 이런 기술이 녹아있는 팀 프로젝트 결과물이다. 수행인원 5명 (디자인 2명, 기능구현 3명) 맡았던 부분 - 앱 환경설정 부분(증강현실 거리 제한 환경변수) - 추천여행코스 위치정보 및 상세정보 제공을 위한 데이터베이스 설계 및 구현 -..

[결과물] 스마트닥터

2010년 7월 ~ 10월 수행. 안드로이드, 자바를 배우면서 수행한 프로젝트. 수행인원 5명 (디자인 1.5명, 기능구현 3.5명) 맡았던 부분 - 질병정보 데이터베이스 설계 및 App에서의 구현 - 건강뉴스 XML 파싱 및 뉴스 스크랩 기능 구현 - 병원 정보 XML 파싱 결과에 구글 지도 연동 (병원 별 마커 표시 등) - 메인메뉴 - 자가진단 본 프로젝트에 내가 맡은 파트중 가장 첫번째로 구현한 부분이다. 안드로이드도 처음, 자바도 처음, 데이터베이스도 실제 구현해본 경험이 없는 상태였기에 구현에 많은 고생을했다. 우선 자가진단 DB는 4개의 테이블로 되어있다. 위 4개의 테이블이 기능 flow에 따라 아래와 같이 보여지며 진행된다. 자신의 몸에 이상증상이 나타날 경우, 의심되는 질병을 진단하도록..

[사전조사] EPUB 은 무엇인가?

출처 : http://ko.wikipedia.org/wiki/EPUB#cite_note-ops2.0_spec-0 Electronic Publication (EPUB) 확장자 .epub MIME 종류 application/epub+zip 개발 국제 디지털 출판 포럼(IDPF, International Digital Publishing Forum) 파일 포맷 종류 전자 출판 문서 EPUB(electronic publication)은 국제 디지털 출판 포럼(IDPF, International Digital Publishing Forum)에서 제정한 개방형 자유 전자서적 표준이다. EPUB은 자동공간조정(reflowable)이 가능하게 끔 디자인 되었다. 이는 EPUB으로 만들어진 내용을 볼 때 디스플레이하는 ..

ePub 포맷의 전자책 생성을 위한 프로그램 및 서비스들.

출처 : http://blog.naver.com/louischan/91583848 How can I create ePub files from my books? 2009년 8월 4일 현재, (오래된 포스팅을 참조함) 스탄자 사이트에 따르면, ePub을 만들 수 있는 몇가지 저작툴이 소개되고 있습니다. 아직은 많은 제품이나 솔루션이 나와 있지 않지만, 계속적으로 관련한 제품 및 솔루션이 소개될 것으로 보여집니다. 1. Adobe Indesign솔루션 (http://www.adobe.com/products/indesign/) 편집/인쇄 전용 솔루션인 Indesign에서 Export 메뉴를 이용하여 ePUB파일을 생성할 수 있습니다. InDesign is a high-end publishing tool for ..

(유선USB 보안카메라)MCAM100A HOME & STORE PAN/TILT SECURITY CAMERA

출처 : http://codien.kr.ecplaza.net/2.asp 제품일반설명 사랑하는 가족과 소중한 재산, mCam이 함께 합니다. mCam100Advance는 원격지 또는 현지에서 키보드, 마우스로 상하좌우 컨트롤 할 수 있는 PC기반의 웹 카메라입니다. 별도의 전원 필요 없이 USB케이블만 PC에 연결하면 되고 벽, 천정 등에 설치 가능합니다. 원격지에서 인터넷 및 핸드폰을 통해 카메라를 상하좌우 컨트롤 하며 모니터링 할 수 있고, 시간 설정을 통한 압축 녹화가 가능합니다. 저렴한 가격으로 직접 설치하여 집, 소형 상점, 가게, 창고, 병원, 유치원을 실시간으로 모니터링 할 수 있습니다. 제품특징 고화질 비디오 녹화 및 정지영상 촬영 움직임 감지기능 움직임 감지 저장 및 통보(이메일, SMS(..

POV - 회전 잔상 LED디스플레이

2011년 1학기 마이크로프로세서응용 과목 텀프로젝트 파란색 고휘도 LED8개와 ATmega128 2개를 사용하여 만들었다. 빠르게 회전시켜 남는 잔상으로 문자를 표시한다. 안드로이드 스마트폰 어플리케이션을 만들어 ATmega128과 블루투스로 통신을 하게끔 하여, 디스플레이 할 문자를 폰으로 입력, 전송하여 변경할 수 있다. 또한 디지털시계 모드, 텍스트표시 모드로 분리해두어 이역시 블루투스로 제어하여 모드 변경을 한다. 본 프로젝트 진행시 개발한 안드로이드용 블루투스 Application 소스코드는 하단 링크에서 다운로드 받을 수 있습니다. 위 안드로이드 어플리케이션은 아래 링크를 통해 다운로드 받으실 수 있습니다. ** 회로도 추가 ** ATmega128 스키매틱입니다. GPIO 핀 중 PE0, P..

1 2