KR101577285B1 - Apparatus having android-based sensor abstraction layer for U-health application development - Google Patents
Apparatus having android-based sensor abstraction layer for U-health application development Download PDFInfo
- Publication number
- KR101577285B1 KR101577285B1 KR1020140004285A KR20140004285A KR101577285B1 KR 101577285 B1 KR101577285 B1 KR 101577285B1 KR 1020140004285 A KR1020140004285 A KR 1020140004285A KR 20140004285 A KR20140004285 A KR 20140004285A KR 101577285 B1 KR101577285 B1 KR 101577285B1
- Authority
- KR
- South Korea
- Prior art keywords
- sensor
- message
- health
- application
- abstraction layer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Abstract
본 발명은 안드로이드 기반 스마트폰에서 유헬스(U-health)애플리케이션 개발을 위한 센서 추상화 계층에 관한 것으로서, 더욱 상세하게는 유헬스(U-health) 애플리케이션 개발의 편의성 향상을 위해 센서들과 안드로이드 기반 스마트폰을 연동시키는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 계층에 관한 것이다.
본 발명에 의하면, 외부 장치의 종류에 관계없이 응용 프로그램의 개발이 가능하도록 표준화된 센서 추상화 계층을 제공하며, 메시지 필터링 기술을 바탕으로 필요 없는 정보를 제거하고 표준화에 필요한 정보들을 추가하여 표준화된 메시지를 생성한다. 또한, 테이블 기반 API 맵핑 기법을 활용함으로써, 센서 추상화 계층으로부터 표준 메시지를 전송하는 효과가 있다.The present invention relates to a sensor abstraction layer for developing U-health applications in an Android-based smartphone, and more particularly, to a sensor abstraction layer for developing U- Based sensor abstraction layer for developing a u-health application that interoperates with a mobile phone.
According to the present invention, a sensor abstraction layer that is standardized so that an application program can be developed regardless of the type of an external device is provided. Based on the message filtering technology, unnecessary information is removed and information necessary for standardization is added, . In addition, by utilizing the table-based API mapping technique, the standard message is transmitted from the sensor abstraction layer.
Description
본 발명은 유헬스(U-health) 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치에 관한 것으로, 더욱 상세하게는 유헬스(U-health) 애플리케이션 개발의 편의성 향상을 위해 센서들과 안드로이드 기반 스마트폰을 연동시키는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 계층을 갖는 장치에 관한 것이다.The present invention relates to an Android-based sensor abstraction apparatus for U-health application development, and more particularly, to an apparatus and a method for linking sensors and an Android-based smart phone to improve the convenience of U- To an apparatus having an Android-based sensor abstraction layer for developing a u-health application.
스마트 기기의 확산과 함께 다양한 애플리케이션들을 빠르게 개발하여 제공할 필요성이 대두되고 있다. 특히 사람의 건강과 관련하여 유헬스(U-health)에 대한 관심이 높아지고 있으며, 이와 관련된 애플리케이션이 다양하게 개발되고 있다.With the proliferation of smart devices, there is a growing need to rapidly develop and deliver diverse applications. Particularly, there is a growing interest in U-health related to human health, and a variety of related applications are being developed.
여기서 유헬스(U-health)란 인터넷, 휴대폰, 쌍방향 케이블 TV 등의 정보통신 네트워크를 이용해 시간과 장소에 구애 없이 환자와 의사를 연결해 실시간으로 진단, 치료, 예방 등의 보건의료 및 건강관리를 해주는 서비스를 의미한다. 이를 통해 혈압, 혈당, 체온 측정은 물론 진단영상과 처방전, 진료내역까지 의사에게 제공되어, 환자는 약물처방, 식단관리 등 건강관리, 응급이송 등의 서비스를 받을 수 있다. 대표적인 유헬스 서비스의 예로 인터넷 홈페이지에 개인 건강정보를 입력하면 주기적인 건강체크 및 관련 뉴스를 제공해 주는 구글헬스 프로그램이 있다.U-health refers to the use of information and communication networks such as the Internet, mobile phones, and interactive cable TV to connect patients and physicians without regard to time and place, and to provide healthcare and health care such as diagnosis, Service. Through this, blood pressure, blood sugar, body temperature, as well as diagnostic images, prescriptions, and medical history are provided to the doctor, the patient can receive services such as medication prescription, diet management, health care, emergency transport. An example of a typical u-health service is the Google Health Program, which provides periodic health checks and related news by entering personal health information on the Internet homepage.
보건의료기술(Health Technology, HT)에 해당하는 유헬스는 스마트폰이 활발히 사용되는 한국이 가장 앞서가는 분야이고, 큰 성장이 기대되고 있으며, 유헬스 분야 중 특히, 휴대폰을 이용하여 센서들과 연동하는 기술에 대한 관심이 높아지고 있다.U-Health, which corresponds to Health Technology (HT), is the most advanced field in Korea where smart phones are actively used, and is expected to grow greatly. In particular, among u-health fields, There is a growing interest in technology.
그러나, 휴대폰을 이용한 유헬스 기반의 서비스를 제공하기 위해서는 센서 장치들과 스마트폰을 연동하는 기술이 필요하며, 이를 위해서는 애플리케이션 개발자가 센서의 동작 방식과 센서로부터 전달되는 메시지의 형식 등 하드웨어에 의존적인 지식을 갖추고 있어야 응용 프로그램 개발이 가능하다는 문제가 있다. 또한, 센서를 탈부착하거나 센서의 종류가 바뀔 때마다 응용 프로그램 코드와 센서를 제어하는 라이브러리 코드를 모두 수정해 주어야 한다는 문제점이 있다.
However, in order to provide a service based on a mobile phone, a technology for interlocking the sensor devices with the smartphone is required. For this purpose, an application developer needs to use a hardware- There is a problem that it is possible to develop application programs with knowledge. In addition, there is a problem that the application code and the library code for controlling the sensor must be modified every time the sensor is detached or the type of the sensor is changed.
본 발명은 이와 같은 문제점을 해결하기 위해 창안된 것으로서, 애플리케이션 개발자가 센서 등 외부 장치의 종류에 관계없이 응용 프로그램의 개발이 가능하도록 표준화된 센서 추상화 장치를 제공하는 것을 그 목적으로 한다.It is an object of the present invention to provide a sensor abstraction device standardized so that an application developer can develop an application program regardless of the type of an external device such as a sensor.
또, 메시지 필터링 기술을 바탕으로 필요 없는 정보를 제거하고 표준화에 필요한 정보들을 추가하여 표준화된 메시지를 생성하는 것을 그 목적으로 한다.The purpose of this paper is to remove the unnecessary information based on the message filtering technology and add the information necessary for standardization to generate a standardized message.
또한, 테이블 기반 API 맵핑 기법을 활용함으로써, 센서 추상화 계층으로부터 표준 메시지를 전송하는 것을 그 목적으로 한다.It also aims at transmitting a standard message from the sensor abstraction layer by utilizing a table-based API mapping technique.
이와 같은 목적을 달성하기 위하여 본 발명에 따른 스마트폰에서 유헬스 응용 개발을 위한 하드웨어 추상화 장치의 일측면에 따르면, According to an aspect of the present invention, there is provided a hardware abstraction device for developing a u-health application in a smartphone,
각종 디바이스에 대한 드라이버를 지원하는 리눅스 커널부; 하드웨어 종속적인 세부 사항을 처리하는 루틴들의 집합체인 하드웨어 추상화 계층부와, 운영 체제의 프로그램 집합체인 라이브러리부, 및 각 프로세스별로 별도의 가상 머신을 할당하고 여러 개의 가상 머신을 동시에 작동할 수 있도록 하는 안드로이드 런타임부를 구비하는 시스템 라이브러리부; 상기 시스템 라이브러리부 및 상기 리눅스 커널부를 호출하고 복수개의 관리자를 활용하는 안드로이드 API부를 구비하고 애플리케이션 제작시 사용되는 빌딩 블록(building block)을 제공하는 애플리케이션 프레임워크부; 및, 사용자에 의해 프로그래밍된 응용 프로그램이 실행되는 애플리케이션부;를 포함하고, 상기 하드웨어 추상화 계층부는 유헬스 케어를 위해 검진자의 신체 정보를 측정하여 출력하는 복수개의 유헬스 센서와 JNI(Java Native Interface)를 기반으로 연결되며, 각각의 상기 유헬스 센서로부터 입력받은 각종 정보를 필터링하여 표준화된 메시지로 변환시키고, 상기 애플리케이션부에서 실행되는 유헬스 케어를 위한 응용 프로그램으로 제공하는 센서 추상화 계층부; 및, 상기 유헬스 센서로부터 출력된 정보를 상기 센서 추상화 계층에 전송하는 복수의 인터페이스;를 구비하는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치가 제공된다.A Linux kernel part that supports drivers for various devices; A hardware abstraction layer that is a collection of routines that handle hardware-dependent details, a library part that is an assembly of operating system programs, and Android that allows you to allocate separate virtual machines for each process and run multiple virtual machines simultaneously A system library unit having a runtime unit; An application framework part having an Android API part calling the system library part and the Linux kernel part and using a plurality of managers and providing a building block used in application creation; And an application unit for executing an application program programmed by a user, wherein the hardware abstraction layer unit comprises a plurality of U-health sensors for measuring and outputting body information of a examinee for u-healthcare, a Java Native Interface (JNI) A sensor abstraction layer for filtering various information inputted from each of the u-health sensors and converting the various information into a standardized message and providing the same as an application program for u health care executed in the application unit; And a plurality of interfaces for transmitting the information output from the u-health sensor to the sensor abstraction layer. The present invention provides an Android-based sensor abstraction device for developing a u-health application.
삭제delete
상기 센서 추상화 계층부는, 각 유헬스 센서의 데이터가 종류별로 테이블 형태로 기저장되는 테이블 맵핑 모듈; 상기 유헬스 센서로부터 입력되는 데이터를 필터링하여 기설정된 메시지만을 추출하는 메시지 필터링 모듈; 상기 애플리케이션부에서 특정 유헬스 센서의 정보를 요청받으면 상기 테이블 맵핑 모듈과 메시지 필터링 모듈을 통해 표준 메시지로 변환하여 상기 애플리케이션부로 출력하는 API 모듈; 및, 상기 메시지 필터링 모듈로부터 추출된 메시지를 전송받아 기설정된 순서에 따라 메시지를 정렬하여 표준 메시지로 출력하는 표준 메시지 출력 모듈;을 포함할 수 있다.Wherein the sensor abstraction layer unit comprises: a table mapping module in which data of each of the healthcare sensors is stored in a table form for each type; A message filtering module for filtering data input from the u-health sensor and extracting only predetermined messages; An API module that converts the standard message into a standard message through the table mapping module and the message filtering module and outputs the standard message to the application unit when the application unit receives the information of the specific health sensor; And a standard message output module that receives the message extracted from the message filtering module, arranges the message according to a predetermined order, and outputs the message as a standard message.
상기 메시지 필터링 모듈은, 상기 유헬스 센서로부터 전송되는 다양한 길이와 다양한 형식의 메시지를 분석하여 필요없는 정보를 제거하며 상기 센서의 센서값 수행 주기를 통일화시키는 것이 바람직하다.Preferably, the message filtering module analyzes various lengths and various types of messages transmitted from the u-health sensor to remove unnecessary information and unifies the sensor value execution period of the sensor.
상기 API 모듈은, 상기 유헬스 센서와 상기 인터페이스를 1:1 맵핑할 수 있도록 기저장된 데이터 테이블을 설정하고, 상기 애플리케이션부로부터 요청받은 센싱 정보에 해당하는 정보를 제공할 수 있다.The API module may set a pre-stored data table so as to map the interface to the interface 1: 1, and may provide information corresponding to the sensing information requested from the application unit.
상기 표준 메시지 출력 모듈은, 상기 메시지 필터링 모듈을 거친 메시지에 표준화에 필요한 정보를 부가하여 표준화된 메시지를 생성하고 제공할 수 있다.The standard message output module may generate and provide a standardized message by adding information required for standardization to a message passed through the message filtering module.
본 발명에 의하면, 스마트폰에서 유헬스 애플리케이션 개발을 위한 하드웨어 추상화 계층을 형성함으로써, 외부 장치의 종류에 관계없이 응용 프로그램의 개발이 가능하도록 표준화된 센서 추상화 계층을 제공하는 효과가 있다.According to the present invention, there is an effect of providing a standardized sensor abstraction layer so that an application program can be developed regardless of the type of external device by forming a hardware abstraction layer for developing a u-health application in a smartphone.
또, 메시지 필터링 기술을 바탕으로 필요없는 정보를 제거하고 표준화에 필요한 정보들을 추가하여 표준화된 메시지를 생성하는 효과가 있다.In addition, based on the message filtering technology, there is an effect of eliminating unnecessary information and generating a standardized message by adding information necessary for standardization.
또한, 테이블 기반 API 맵핑 기법을 활용함으로써, 센서 추상화 계층으로부터 표준 메시지를 전송하는 효과가 있다.In addition, by utilizing the table-based API mapping technique, the standard message is transmitted from the sensor abstraction layer.
도 1은 본 발명의 일실시예에 의한 안드로이드 플랫폼을 형상화한 도면
도 2는 본 발명의 일실시예에 의한 안드로이드 플랫폼에 적용되는 JNI 기술을 설명한 도면
도 3는 본 발명의 일실시예에 의한 센서, 인터페이스 및 센서 추상화 계층부의 연결을 도시한 도면
도 4은 본 발명의 일실시예에 의한 메시지 필터링을 도시한 도면
도 5는 본 발명의 일실시예에 의한 센서의 수행 주기의 필터링을 도시한 도면
도 6는 본 발명의 일실시예에 의한 센서들로부터 전달받은 데이터의 오류 값을 필터링하는 것을 나타내는 도면1 is a diagram illustrating an Android platform according to an embodiment of the present invention;
2 is a diagram illustrating JNI technology applied to an Android platform according to an embodiment of the present invention;
3 is a diagram illustrating a connection of a sensor, an interface, and a sensor abstraction layer according to an embodiment of the present invention;
4 is a diagram illustrating message filtering according to an embodiment of the present invention.
5 is a diagram illustrating filtering of the execution cycle of a sensor according to an embodiment of the present invention;
6 is a diagram illustrating filtering of error values of data received from sensors according to an embodiment of the present invention;
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms, and the inventor should appropriately interpret the concepts of the terms appropriately It should be interpreted in accordance with the meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined. Therefore, the embodiments described in this specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and do not represent all the technical ideas of the present invention. Therefore, It is to be understood that equivalents and modifications are possible.
도 1은 본 발명의 일실시예에 의한 안드로이드 플랫폼을 형상화한 도면이다. 도 2는 본 발명의 일실시예에 의한 안드로이드 플랫폼에 적용되는 JNI 기술을 설명한 도면이다.1 is a diagram illustrating an Android platform according to an embodiment of the present invention. 2 is a diagram illustrating JNI technology applied to an Android platform according to an embodiment of the present invention.
도 1 및 도 2를 참조하면, 본 발명에 의한 안드로이드 플랫폼은 각종 디바이스 장치에 대한 드라이버를 지원하는 리눅스 커널부(10), 입력 또는 출력 인터페이스(213), 프로그램 끼어들기, 다중 프로세서 통신 구현에 필요한 하드웨어 종속적 세부 사항을 처리하는 루틴들의 집합체인 하드웨어 추상화 계층부(21)와 장치에서 제공되는 라이브러리를 입력하여 시스템 생성을 실행한 결과로 만들며 장비의 전반적인 속도를 결정하는 부분으로서, 운영 체제의 프로그램 집합체인 라이브러리부(22) 및 각 프로세스별 별도의 가상 머신을 할당하여 안정성을 향상시키고 메모리 사용량을 줄여 여러 개의 가상 머신을 동시에 작동할 수 있도록 하는 안드로이드 런타임부(23)를 구비하는 시스템 라이브러리부(20), 시스템 라이브러리 및 리눅스 커널을 호출하되, 이를 통해 액티비티 관리자(Activity Manager), 윈도우 관리자(Window Manager), 콘텐츠 제공자(Contents Manager), 뷰 시스템(View System), 알림 관리자(Notification Manager), 패키지 관리자(Package Manager), 리소스 관리자(Resource Manager) 등등을 활용하는 안드로이드 API부를 구비하여 애플리케이션 제작시 사용되는 빌딩 블록(building block)을 제공하는 애플리케이션 프레임워크부(30) 및 사용자에 의해 프로그래밍 되어 응용 프로그램이 제작되는 애플리케이션부(40)를 포함한다. 이때, 플랫폼은 시스템의 기본이 되는 프로세서 및 하드웨어 장치들과 해당 시스템을 구동하는 운영체제를 포괄하는 개념이다.1 and 2, the Android platform according to the present invention includes a Linux
리눅스 커널부(10)는 안드로이드의 최하위 계층으로써, 안드로이드 내부의 메모리 관리, 프로세스 관리, 네트워킹, 운영체제 시스템 서비스 등을 수행한다.The Linux
시스템 라이브러리부(20)는 하드웨어 추상화 계층부(21), 라이브러리부(22) 및 안드로이드 런타임부(23)를 구비할 수 있다. 이때, 하드웨어 추상화 계층부(21)는 스마트폰에 탑재된 통신, 영상처리, 센서 장치 등을 애플리케이션(응용 프로그램, 응용 소프트웨어)을 이용하여 접근할 수 있도록 지원해주는 역할을 하는데, 이에 대한 상세한 설명은 후술한다. 라이브러리부(22)는 C 또는 C++프로그램으로 구성되며, 여기에는 중요한 기능을 하는 surface manager, 그래픽 라이브러리(OpenGL/ES), 미디어(media framework), SQL DB(SQLite), 브라우저 엔진(Webkit) 등이 포함된다. 또한 안드로이드 런타임부(23)는 Dalvik VM을 포함하며, 최소한의 메모리 풋프린트(footprint)로 최적화된 Dalvik 실행자(.dex)형식의 파일을 실행하고, 리눅스 커널을 기반으로 하여 스레드 관리와 저수준 메모리 관리와 같은 기능을 제공한다.The
애플리케이션 프레임워크부(30)는 프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리의 모임으로, 재사용할 수 있는 수많은 코드를 프레임워크로 통합함으로써, 개발자가 새로운 애플리케이션을 위한 표준 코드를 다시 작성하지 않아도 애플리케이션이 종래와 동일하게 사용될 수 있다. 그 일예로 그래픽 사용자 인터페이스(GUI)를 들 수 있다. 응용 프로그램의 기본 코드 구조가 명백하므로 표준 프레임워크를 사용하면 자동으로 GUI툴을 만들 수 있고, 이때 프로그램의 구현은 객체 지향 프로그래밍 기법이 사용되고 있는 응용 프로그램 고유의 클래스가 프레임워크의 기존 클래스를 이어받을 수 있다.The
애플리케이션부(40)는 안드로이드 플랫폼의 최상위 계층으로, 눈에 보이는 화면에 실행되는 프로그램이 실행되는 공간을 의미한다. 본 발명에서는 유헬스 분야에서 다양한 센서와 환자의 건강 상태를 실시간으로 모니터링 하는 애플리케이션(응용 프로그램들)을 연동하기 위해서 애플리케이션을 개발한다.The
그런데, 종래에는 새로운 장치들이 추가될 때마다 하드웨어 추상화 계층부(21)의 소스 코드를 수정하여 인터페이스(213)의 설정을 추가하고, 이를 다시 컴파일한 후에 시스템 이미지를 새로 업데이트해야 하는 번거로움이 있었으며, 이를 프로그램 개발자들이 직접 수행하는 것은 어렵다는 문제가 있었다. 이에, 표준 라이브러리 생성 기술과 JNI(Java Native Interface)기술을 활용하여 애플리케이션부(40)에서 센서에 접근하는 방법을 사용하여 문제점을 극복한다. 즉, 센서 접근 인터페이스를 표준화함으로써 다양한 센서들이 탈부착되는 유헬스 환경에서 애플리케이션의 개발이 편리해질 수 있는 환경을 제공한다. 여기서, 표준 라이브러리 생성 기술은 외부 장치가 추가될 때, 이를 제어하는 코드를 라이브러리 형태로 제작하는 기술을 의미한다. 또한, JNI(Java Native Interface)기술은 Java 프로그래밍 언어로 구현되어 있는 애플리케이션부(40)에서 C또는 C++프로그램으로 구현되어 있는 라이브러리부(22)의 함수를 호출하여 사용할 수 있는 매커니즘을 제공하는 기술이다. However, conventionally, whenever the new devices are added, the source code of the
본 발명에서는, JNI 기술을 활용하여 다양한 생체 센서들로부터 전송되어 오는 데이터를 라이브러리 수준에서 제공받게 되는데, 시스템 라이브러리부(20) 수준에 구현된 센서 추상화 계층부(212)에서 표준화된 메시지를 전송 받도록 한다. 이에, 응용 개발자가 센서(211)의 동작 방식과 센서(211)로부터 전송되는 메시지의 형태를 분석할 필요 없이 프로그래밍 할 수 있는 기반을 제공한다.
In the present invention, data transmitted from various biometric sensors is provided at the library level using the JNI technology. The
도 3은 본 발명의 일실시예에 의한 센서(211), 인터페이스(213) 및 센서 추상화 계층부(212)의 연결을 도시한 도면이다.FIG. 3 is a diagram illustrating a connection of the
도 3을 참조하면, 하드웨어 추상화 계층부(21)는 외부 장치가 추가될 때 이를 제어하는 코드를 라이브러리 형태로 제작하고, Java 프로그래밍 언어로 구현되어 있는 응용단에서 C 프로그램 또는 C++ 프로그램으로 구현된 라이브러리단의 함수를 호출하는 JNI(Java Native Interface)를 기반으로 센서(211)와 센서 추상화 계층부(212)를 연결한다. 이때, 안드로이드 플랫폼은 유헬스 케어(U-health care)를 위해 검진자의 신체 정보를 측정하여 출력하는 복수의 센서(211), 복수의 센서(211)로부터 출력된 정보를 센서 추상화 계층부(212)에 전송하는 복수의 인터페이스(213) 및 유헬스 케어를 위해 다운로드 되어 설치되는 애플리케이션부(40)에서 각각의 센서(211)로 정보를 요청하면 각각의 센서(211)로부터 입력되는 각종 정보를 필터링하여 표준화된 메시지로 변환시키고, 상기 애플리케이션부(40)로 제공하는 센서 추상화 계층부(212)를 구비할 수 있다.Referring to FIG. 3, the hardware
이때, 센서(211)의 종류에 관계없이 애플리케이션 개발자에게 표준화된 인터페이스(213)를 제공하기 위해서 메시지 필터링 기법과 테이블 기반 API 맵핑 기법을 활용한다. 센서 추상화 계층부(212)는 각각의 센서(211) 데이터가 종류별로 테이블 형태로 기저장되는 테이블 맵핑 모듈(2121), 센서로부터 입력되는 데이터를 필터링하여 기설정된 메시지만을 추출하는 메시지 필터링 모듈(2122), 애플리케이션부에서 센서(211)로부터 정보를 요청받으면 상기 테이블 맵핑 모듈(2121)과 메시지 필터링 모듈(2122)을 통해 표준 메시지 변환하여 표준 메시지로 출력하는 API 모듈(2123) 및 메시지 필터링 모듈(2122)로부터 추출된 메시지를 전송받아 기설정된 순서에 따라 메시지를 정렬하여 표준 메시지로 출력하는 표준 메시지 출력 모듈(2124)을 포함한다.
At this time, a message filtering technique and a table-based API mapping technique are utilized to provide a
도 4는 본 발명의 일실시예에 의한 메시지 필터링을 도시한 도면이다. 도 5는 본 발명의 일실시예에 의한 센서(211)의 수행 주기의 필터링을 도시한 도면이다. 도 6는 본 발명의 일실시예에 의한 센서(211)들로부터 전달받은 데이터의 오류 값을 필터링하는 것을 나타내는 도면이다.FIG. 4 is a diagram illustrating message filtering according to an exemplary embodiment of the present invention. Referring to FIG. 5 is a diagram illustrating filtering of the execution period of the
도 4를 참조하면, 메시지 필터링 모듈(2122)은 센서(211)로부터 전송되는 다양한 길이와 다양한 형식의 메시지를 분석하여 필요 없는 정보를 제거하며, 센서(211)의 센서값 수행 주기를 통일화시키는 역할을 한다. API 모듈(2123)은, 센서(211)와 인터페이스(212)를 1:1 맵핑할 수 있도록 데이터 테이블을 미리 설정하여 저장하고, 응용 프로그램을 통해 요청받은 센싱 정보에 해당하는 정보를 제공한다. 또한, 표준 메시지 출력 모듈(2124)은, 메시지 필터링 모듈(2122)을 거친 메시지에 표준화에 필요한 정보를 부가하여 표준화된 메시지를 생성하고 제공한다.4, the
이 중, 메시지 필터링 모듈(2122)에 대해 좀 더 상세히 살펴보면, 혈압 센서, 체온 센서, 체내 이산화탄소 측정 센서, 심박수 센서 등으로부터 데이터 값을 각각 측정하여 센서 추상화 계층부(212)로 전송한다. 이후, 각각의 센서(211)로부터 전송된 정보를 메시지 필터링 모듈(2122)에서 필터링한다. 즉, 각각의 생체 센서(211)로부터 전송되는 메시지는 그 구성과 길이가 다르기 때문에, 사용자가 매번 이를 분석하고 해석하여야 하는 문제가 발생하므로, 이를 필터링하여 표준 메시지로 재생산한다. 이때, 메시지 필터링 모듈(2122)는 필터링에서 그치는 것이 아니라, 필요 없는 정보가 제거된 메시지에 표준화를 위해 필요한 정보들을 추가하여 통일된 메시지(표준 메시지)로 생산하는 요약 기술도 포함한다.The
도 5를 참조하면, 센서(211)들마다 그 값을 갱신하는 주기가 모두 다르기 때문에, 응용 프로그램 개발시 개발자가 이를 파악하여 필요한 주기마다 값을 읽어와야 하는 불편함이 있었다. 이에, 개발자가 각 센서의 주기를 설정하여 개발자가 요청한 주기에 따라 메시지를 전송하도록 할 수 있다. 즉, 센서(211)의 종류나 센싱 주기에도 불구하고, 각 센서가 수집하는 정보를 순서대로 제공받을 수 있도록 설정할 수 있다.Referring to FIG. 5, since the intervals for updating the values of all the
도 6을 참조하면, 센서(211)들로부터 전송되는 데이터 값에는 노이즈 등의 오류값이 포함될 가능성이 있다. 이에, 발생 가능한 오류값, 예를 들어 도 6에서, 이상은 오류값으로 판단한다고 설정하면, 본 도면에서는 이 오류값에 해당되어 필터링 되게 된다. 다시 말하면, 오류값의 범위를 사용자가 미리 설정해 둠으로써, 오류값을 검출하여 필터링할 수 있다. 이로써, 발생 가능한 오류값에도 불구하고, 이를 필터링하여 개발자에게 안정적인 센싱 결과를 제공할 수 있다.Referring to FIG. 6, there is a possibility that error values such as noise are included in the data values transmitted from the
결론적으로, 생체 센서(211)의 메시지 종류나 구성에 관계없이 특정된 메시지를 전송하며, 센서(211)값을 갱신하는 주기를 통일시킬 수 있고, 센서(211)로부터 전송되는 데이터 중 오류값을 검출하여 제거할 수 있는 역할을 할 수 있다.
As a result, a specific message is transmitted regardless of the message type or configuration of the
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명로 나타낸 도면되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, And various modifications and variations are possible within the scope of the appended claims.
10: 리눅스 커널부 20: 시스템 라이브러리부
30: 애플리케이션 프레임워크부 40: 애플리케이션부
21: 하드웨어 추상화 계층부 22: 라이브러리부
23: 안드로이드 런타임부
30: 애플리케이션 프레임워크부 40: 애플리케이션부
211: 센서 212: 센서 추상화 계층부
213: 인터페이스
2121: 테이블 맵핑 모듈 2122: 메시지 필터링 모듈
2123: API 모듈 2124: 표준 메시지 출력 모듈10: Linux kernel part 20: System library part
30: Application framework part 40: Application part
21: hardware abstraction layer unit 22: library unit
23: Android Runtime
30: Application framework part 40: Application part
211: sensor 212: sensor abstraction layer unit
213: Interface
2121: Table mapping module 2122: Message filtering module
2123: API module 2124: Standard message output module
Claims (6)
하드웨어 종속적인 세부 사항을 처리하는 루틴들의 집합체인 하드웨어 추상화 계층부와, 운영 체제의 프로그램 집합체인 라이브러리부, 및 각 프로세스별로 별도의 가상 머신을 할당하고 여러 개의 가상 머신을 동시에 작동할 수 있도록 하는 안드로이드 런타임부를 구비하는 시스템 라이브러리부;
상기 시스템 라이브러리부 및 상기 리눅스 커널부를 호출하고 복수개의 관리자를 활용하는 안드로이드 API부를 구비하고 애플리케이션 제작시 사용되는 빌딩 블록(building block)을 제공하는 애플리케이션 프레임워크부; 및
사용자에 의해 프로그래밍된 응용 프로그램이 실행되는 애플리케이션부;
를 포함하고,
상기 하드웨어 추상화 계층부는 유헬스 케어를 위해 검진자의 신체 정보를 측정하여 출력하는 복수개의 유헬스 센서와 JNI(Java Native Interface)를 기반으로 연결되며,
각각의 상기 유헬스 센서로부터 입력받은 각종 정보를 필터링하여 표준화된 메시지로 변환시키고, 상기 애플리케이션부에서 실행되는 유헬스 케어를 위한 응용 프로그램으로 제공하는 센서 추상화 계층부; 및
상기 유헬스 센서로부터 출력된 정보를 상기 센서 추상화 계층에 전송하는 복수의 인터페이스;
를 구비하는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치.A Linux kernel part that supports drivers for various devices;
A hardware abstraction layer that is a collection of routines that handle hardware-dependent details, a library part that is an assembly of operating system programs, and Android that allows you to allocate separate virtual machines for each process and run multiple virtual machines simultaneously A system library unit having a runtime unit;
An application framework part having an Android API part calling the system library part and the Linux kernel part and using a plurality of managers and providing a building block used in application creation; And
An application unit in which an application program programmed by a user is executed;
Lt; / RTI >
The hardware abstraction layer unit is connected to a plurality of U-health sensors that measure and output physical information of a examinee for u healthcare, based on JNI (Java Native Interface)
A sensor abstraction layer for filtering various information received from each of the u-health sensors and converting the various information into a standardized message and providing the same as an application program for u-health care executed in the application unit; And
A plurality of interfaces for transmitting information output from the u-health sensor to the sensor abstraction layer;
Based sensor abstraction device for developing a u-health application.
상기 센서 추상화 계층부는,
각 유헬스 센서의 데이터가 종류별로 테이블 형태로 기저장되는 테이블 맵핑 모듈;
상기 유헬스 센서로부터 입력되는 데이터를 필터링하여 기설정된 메시지만을 추출하는 메시지 필터링 모듈;
상기 애플리케이션부에서 특정 유헬스 센서의 정보를 요청받으면 상기 테이블 맵핑 모듈과 메시지 필터링 모듈을 통해 표준 메시지로 변환하여 상기 애플리케이션부로 출력하는 API 모듈; 및
상기 메시지 필터링 모듈로부터 추출된 메시지를 전송받아 기설정된 순서에 따라 메시지를 정렬하여 표준 메시지로 출력하는 표준 메시지 출력 모듈;
을 포함하는 것을 특징으로 하는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치.The method according to claim 1,
The sensor abstraction layer comprises:
A table mapping module in which data of each of the united health sensors is stored in the form of a table for each type;
A message filtering module for filtering data input from the u-health sensor and extracting only predetermined messages;
An API module that converts the standard message into a standard message through the table mapping module and the message filtering module and outputs the standard message to the application unit when the application unit receives the information of the specific health sensor; And
A standard message output module for receiving a message extracted from the message filtering module, sorting the message according to a predetermined order, and outputting the message as a standard message;
Based sensor abstraction device for developing a u-health application.
상기 메시지 필터링 모듈은,
상기 유헬스 센서로부터 전송되는 다양한 길이와 다양한 형식의 메시지를 분석하여 필요없는 정보를 제거하며 상기 센서의 센서값 수행 주기를 통일화시키는 것을 특징으로 하는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치.The method of claim 3,
Wherein the message filtering module comprises:
Based sensor abstraction device for developing a u-health application, the method comprising: analyzing messages of various lengths and various types transmitted from the u-health sensor to remove unnecessary information and unifying the sensor value execution cycle of the sensor.
상기 API 모듈은,
상기 유헬스 센서와 상기 인터페이스를 1:1 맵핑할 수 있도록 기저장된 데이터 테이블을 설정하고, 상기 애플리케이션부로부터 요청받은 센싱 정보에 해당하는 정보를 제공하는 것을 특징으로 하는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치.The method of claim 3,
Wherein the API module comprises:
Wherein the controller is configured to set a pre-stored data table so that the interface can be 1: 1 mapped to the interface, and provides information corresponding to the sensing information requested from the application unit. Sensor abstraction device.
상기 표준 메시지 출력 모듈은,
상기 메시지 필터링 모듈을 거친 메시지에 표준화에 필요한 정보를 부가하여 표준화된 메시지를 생성하고 제공하는 것을 특징으로 하는 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치.The method of claim 3,
Wherein the standard message output module comprises:
Wherein the standardized message is generated and provided by adding information required for standardization to a message passed through the message filtering module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140004285A KR101577285B1 (en) | 2014-01-14 | 2014-01-14 | Apparatus having android-based sensor abstraction layer for U-health application development |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140004285A KR101577285B1 (en) | 2014-01-14 | 2014-01-14 | Apparatus having android-based sensor abstraction layer for U-health application development |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150084351A KR20150084351A (en) | 2015-07-22 |
KR101577285B1 true KR101577285B1 (en) | 2015-12-14 |
Family
ID=53874307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140004285A KR101577285B1 (en) | 2014-01-14 | 2014-01-14 | Apparatus having android-based sensor abstraction layer for U-health application development |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101577285B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020059957A1 (en) * | 2018-09-17 | 2020-03-26 | 주식회사 드림에이스 | Device for controlling software for vehicle |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100989613B1 (en) * | 2009-12-08 | 2010-10-26 | (주)제이모바일 | Terminal device for executing android application based non-android flatform |
WO2013072925A2 (en) * | 2011-09-19 | 2013-05-23 | Tata Consultancy Services Limited | A computing platform for development and deployment of sensor data based applications and services |
-
2014
- 2014-01-14 KR KR1020140004285A patent/KR101577285B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100989613B1 (en) * | 2009-12-08 | 2010-10-26 | (주)제이모바일 | Terminal device for executing android application based non-android flatform |
WO2013072925A2 (en) * | 2011-09-19 | 2013-05-23 | Tata Consultancy Services Limited | A computing platform for development and deployment of sensor data based applications and services |
Non-Patent Citations (1)
Title |
---|
송시윤 외 1명. 의료 게이트웨이를 위한 u-Healthcare 애플리케이션 프레임워크. 한국인터넷정보학회 2009 제19차 임시총회 및 춘계학술발표대회, 2009.05, pp. 349-353 |
Also Published As
Publication number | Publication date |
---|---|
KR20150084351A (en) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9641589B2 (en) | Extensibility for manipulation of medical data | |
RU2536379C2 (en) | Method and system for providing remote access to state of application programme | |
US10545737B2 (en) | Model binding for command line parsers | |
US20120046966A1 (en) | Health Management Application Development and Deployment Framework | |
Chaudhri et al. | Open data kit sensors: mobile data collection with wired and wireless sensors | |
KR20070116893A (en) | Communication of information between a plurality of network elements | |
KR102458189B1 (en) | Health information generating device and electronic device for generating health information and method thereof | |
Saunders et al. | AUTOPILOT: Automating experiments with lots of Raspberry Pis | |
JP2023166405A (en) | Method and apparatus for interacting with medical worksheet in point-of-care browser | |
CN106293687B (en) | A kind of control method and device being packaged process | |
KR101577285B1 (en) | Apparatus having android-based sensor abstraction layer for U-health application development | |
US10693962B1 (en) | Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors | |
CA2488479A1 (en) | System and method for managing prepartum medical records | |
Soto-Rey et al. | Implementation of an ODM and HL7 compliant electronic patient-reported outcome system | |
Kim et al. | Evaluation of cross-platform development tools for patient self-reporting on mobile devices | |
Andreão et al. | Raspcare: A telemedicine platform for the treatment and monitoring of patients with chronic diseases | |
Barrón-González et al. | Lessons learned from the implementation of remote control for the interoperability standard ISO/IEEE11073-20601 in a standard weighing scale | |
CN114020414B (en) | Android system and bottom Linux symbiotic method and device, electronic equipment and storage medium | |
WO2023076456A1 (en) | Monitoring system and method for remote monitoring of physiological health | |
US20180262550A1 (en) | Medical Device Control in Telehealth Systems | |
KR20130094484A (en) | Medical instruments management system and method | |
Carmo et al. | EpiBOX: an automated platform for long-term biosignal collection | |
Martínez-Espronceda et al. | Event-driven, pattern-based methodology for cost-effective development of standardized personal health devices | |
Scherer et al. | Review of Artificial Intelligence–Based Signal Processing in Dialysis: Challenges for Machine-Embedded and Complementary Applications | |
Liu et al. | A Low-Cost Remote Healthcare Monitor System Based on Embedded Server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191210 Year of fee payment: 5 |