2019년 10월 31일 목요일
2018년 9월 17일 월요일
라즈베리 파이를 이용한 원격 자료수집기
라즈베리 파이3 을 이용해서 범용 센서 정보수집 장치를 만들었다.
C 와 C++ 로 만들었으며, 웹서버를 내장하고 있다.
센서 보드와 시리얼(TTL) 모드버스 방식으로 통신한다.
수집한 자료는 PCA(Principal Component Analysis), LDA(Linear Discriminant Analysis), Pattern, Neural Network 분석이 가능하고,
KT IoT, Microsoft Azure, HTTP POST, MQTT 등 프로토콜을 이용해서 서버로 발송한다.
자료는 내장 SD카드에도 저장하는데, 저장 간격에 따라서 다르기는 하지만 약 10년 치를 저장할 수 있다.
원활한 관리를 위하여 원격에서 서버를 라즈베리파이를 제어할 수도 있는데 SSH, Telnet, HTTP, 원격데스크탑을 지원한다.
특징 :
사용자에게 표출되는 측정 화면의 편집이 가능하다.
모든 처리는 내장 스크립트 언어에서 수행한다.
스크립트 언어는 C 나 Javascript 와 유사하나 아주 단순한 구조로 되어 있다.
스크립트를 수정함으로써 다양한 상황에 유연하게 대처할 수 있다.
C 와 C++ 로 만들었으며, 웹서버를 내장하고 있다.
센서 보드와 시리얼(TTL) 모드버스 방식으로 통신한다.
수집한 자료는 PCA(Principal Component Analysis), LDA(Linear Discriminant Analysis), Pattern, Neural Network 분석이 가능하고,
KT IoT, Microsoft Azure, HTTP POST, MQTT 등 프로토콜을 이용해서 서버로 발송한다.
자료는 내장 SD카드에도 저장하는데, 저장 간격에 따라서 다르기는 하지만 약 10년 치를 저장할 수 있다.
원활한 관리를 위하여 원격에서 서버를 라즈베리파이를 제어할 수도 있는데 SSH, Telnet, HTTP, 원격데스크탑을 지원한다.
특징 :
사용자에게 표출되는 측정 화면의 편집이 가능하다.
모든 처리는 내장 스크립트 언어에서 수행한다.
스크립트 언어는 C 나 Javascript 와 유사하나 아주 단순한 구조로 되어 있다.
스크립트를 수정함으로써 다양한 상황에 유연하게 대처할 수 있다.
2017년 6월 26일 월요일
2016년 12월 20일 화요일
2016년 10월 17일 월요일
윈도우 CE 원격제어
원격지의 Windows CE 장비 또는 Raspberry PI 장비를 모니터링 한다.
RelayServer:
Client PC 와 원격지 장비간의 통신 중계하는 서버프로그램.
CeMonitor:
PC에서 원격지 장비에 접속할 때 사용하는 프로그램.
CeRemote:
Windows CE 장비에서 원격접속 지원을 위한 프로그램.
TCP, WCDMA, Serial 을 지원한다.
PiRemote:
Raspberry PI 장비에서 원격접속 지원을 위한 프로그램.
TCP 만 지원한다.
RelayServer:
Client PC 와 원격지 장비간의 통신 중계하는 서버프로그램.
CeMonitor:
PC에서 원격지 장비에 접속할 때 사용하는 프로그램.
CeRemote:
Windows CE 장비에서 원격접속 지원을 위한 프로그램.
TCP, WCDMA, Serial 을 지원한다.
PiRemote:
Raspberry PI 장비에서 원격접속 지원을 위한 프로그램.
TCP 만 지원한다.
CeMonitor 실행 화면. 좌측에 접속 가능한 장비 목록이 보인다.
Windows CE 장비에 접속한 상태. 마우스와 키보드를 사용할 수 있다.
Windows CE 장비에 접속한 상태. 마우스와 키보드를 사용할 수 있다.
Raspberry PI 장비에 접속한 상태. 웹브라우저로 접속할 수 있다.
2014년 11월 2일 일요일
2014년 5월 21일 수요일
2013년 10월 21일 월요일
CB(circuit breaker) 감시장치
프로그램 구조
Circuit Breaker
↓AI, DI 로 실시간으로 값 취득
CB감시장비
↓매 1초마다 자료수집, ↕설정 (프로토콜 : DNP3)
서버 (C언어로 개발)
↕자체 프로토콜
CGI (C언어로 개발)
웹서버 (Apache 공개SW)
↕HTTP, Ajax
웹브라우저 (Internet Explorer, Chrom등)
클라이언트 (HTML, Javascript 로 개발)
서버
CB감시장비와 DNP3 프로토콜로 통신한다.
매 1초마다 CB실시간 값을 가져온다.
알람이나 파형이 발생하면 가져와서 저장한다.
CGI와는 자체 프로토콜로 통신한다.
CGI
클라이언트와 서버를 이어준다.
1. 클라이언트에서 수신한 요청을 분석
2. 전용 프로토콜로 서버에 질의응답
3. 사용자가 인지할 수 있는 글자나 그림으로 변경해서 클라이언트로 발송한다.
클라이언트
웹브라우저에서 동작한다.
사용자의 요청을 받아서 CGI로 요청한다.
실시간 화면에서는 매 1초마다 실시간 값을 CGI에 요청한다.
로그인 정보, 선택한 CB정보 등은 웹브라우저의 쿠키(Cookie)에 임시 저장한다.
Circuit Breaker
↓AI, DI 로 실시간으로 값 취득
CB감시장비
↓매 1초마다 자료수집, ↕설정 (프로토콜 : DNP3)
서버 (C언어로 개발)
↕자체 프로토콜
CGI (C언어로 개발)
웹서버 (Apache 공개SW)
↕HTTP, Ajax
웹브라우저 (Internet Explorer, Chrom등)
클라이언트 (HTML, Javascript 로 개발)
서버
CB감시장비와 DNP3 프로토콜로 통신한다.
매 1초마다 CB실시간 값을 가져온다.
알람이나 파형이 발생하면 가져와서 저장한다.
CGI와는 자체 프로토콜로 통신한다.
CGI
클라이언트와 서버를 이어준다.
1. 클라이언트에서 수신한 요청을 분석
2. 전용 프로토콜로 서버에 질의응답
3. 사용자가 인지할 수 있는 글자나 그림으로 변경해서 클라이언트로 발송한다.
클라이언트
웹브라우저에서 동작한다.
사용자의 요청을 받아서 CGI로 요청한다.
실시간 화면에서는 매 1초마다 실시간 값을 CGI에 요청한다.
로그인 정보, 선택한 CB정보 등은 웹브라우저의 쿠키(Cookie)에 임시 저장한다.
2011년 2월 11일 금요일
HDR
2010년 12월 24일 금요일
2010년 11월 30일 화요일
2010년 10월 31일 일요일
GenesisControl 3D
2009년 9월 25일 금요일
전압품질측정기(PQDAS)
2009년 6월 17일 수요일
철도공사 HMI
철도공사에 납품한 HMI 프로그램
C언어로 DSP, Windows에서 만들었다.
1. 장비(TMS DSP32/33)에서 자료를 취득한다.
2. PC의 서버에서 DSP에 Modbus, DNP3, 전용프로토콜을 이용해서 자료를 수집, 분석, 저장한다.
3. 사용자가 웹브라우저로 접근하면 내장 웹서버에서 요청을 처리한다.

서버의 주요기능
1. 자체 웹서버 내장
2. 모든 작업은 웹브라우저에서 이루어짐
3. DAU, CiDAS, GDAS 에서 자료를 받아와서 DB를 구축
4. 단선도 편집 기능 내장
5. 실시간 값 모니터링 기능
6. 경향정보를 연, 월, 일, 시, 분 단위의 그래프로 볼 수 있음
7. 경향정보 화면에서 Event 상황을 즉시 볼 수 있음.
8. CiDAS 동작 파형과 분석정보 제공
9. GIS UHF 센서별 부분방전 유형과 그래프 제공
C언어로 DSP, Windows에서 만들었다.
1. 장비(TMS DSP32/33)에서 자료를 취득한다.
2. PC의 서버에서 DSP에 Modbus, DNP3, 전용프로토콜을 이용해서 자료를 수집, 분석, 저장한다.
3. 사용자가 웹브라우저로 접근하면 내장 웹서버에서 요청을 처리한다.

서버의 주요기능
1. 자체 웹서버 내장
2. 모든 작업은 웹브라우저에서 이루어짐
3. DAU, CiDAS, GDAS 에서 자료를 받아와서 DB를 구축
4. 단선도 편집 기능 내장
5. 실시간 값 모니터링 기능
6. 경향정보를 연, 월, 일, 시, 분 단위의 그래프로 볼 수 있음
7. 경향정보 화면에서 Event 상황을 즉시 볼 수 있음.
8. CiDAS 동작 파형과 분석정보 제공
9. GIS UHF 센서별 부분방전 유형과 그래프 제공
2008년 12월 11일 목요일
DNP3 프로토콜
2007년 8월 31일 금요일
Homodimer ZFP Finder
2007년 8월에 만든 Homodimer ZFP(Zinc Finger Protein) Finder.
입력한 서열에서 ZFP-space-ZFP 형태의 binding site 를 가지는 부위를 찾아준다.

위 알고리즘을 이용해서 Homo sapiens, Macaca mulatta, Rattus norvegicus 전체 지놈 서열의 Intergenic 영역에만 공통적으로 결합하는 3finger-6space-3finger 형태의 homodimer zfp를 찾아보았다.
자료수집
* MT(mitochondria) 는 기준에 부합하는 intergenic영역이 없음.
자료분석
* H=Homo sapiens, M=Macaca mulatta, R=Rattus norvegicus
입력한 서열에서 ZFP-space-ZFP 형태의 binding site 를 가지는 부위를 찾아준다.

위 알고리즘을 이용해서 Homo sapiens, Macaca mulatta, Rattus norvegicus 전체 지놈 서열의 Intergenic 영역에만 공통적으로 결합하는 3finger-6space-3finger 형태의 homodimer zfp를 찾아보았다.
자료수집
- ftp://ftp.ncbi.nih.gov/genomes/ 이하에 있는 H_sapiens, Macaca_mulatta, R_norvegicus 지놈 정보를 받아와서 서열과 gene정보 추출.
Homo sapiens : Chromosome 1..22, MT, X, Y (2,870,843,926bp)
Macaca mulatta : Chromosome 1..20, MT, Un, X (3,011,952,279bp)
Rattus norvegicus : Chromosome 1..20, MT, Un, X (2,812,724,306bp)
* MT(mitochondria) 는 기준에 부합하는 intergenic영역이 없음.
자료분석
- 분석대상: Homo sapiens, Macaca mulatta, Rattus norvegicus 전체 서열
선택DB: ZFDB45 (경우의수 453=91,125)
Intergenic 선정기준: gene의 앞부분-10,000bp 부터 끝부분까지를 제외한 나머지 부분.
- ZFP형태에 제한이 없을경우.
H,M,R 각각의 intergenic 영역에서만 1번이상 나온 ZFP수 = 292개 - ZF의 Binding site 가 GNN인것이 2개이상 인것만 선택.
H,M,R 각각의 intergenic 영역에서만 1번이상 나온 ZFP수 = 117개
H,M,R 각각의 intergenic 영역에서만 1번만 나온 ZFP수 = 74개
H,M,R 각각의 intergenic 영역에서만 2번이상 나온 ZFP수 = 4개>
* H=Homo sapiens, M=Macaca mulatta, R=Rattus norvegicus
2006년 8월 31일 목요일
Chromosome Map
Homo sapiens Chromosome Map Web-program.
Chromosome 상에 있는 유전자의 배치와 CpG Island, promoter, exon, intron 등의 배치와 서열 정보를 보여준다.
Chromosome 상에 있는 유전자의 배치와 CpG Island, promoter, exon, intron 등의 배치와 서열 정보를 보여준다.


2006년 7월 31일 월요일
2006년 6월 1일 목요일
검안기 URK700
검안기 프로그램을 만들었다.
기존에 있는 프로그램은 지금 기계와 여러가지 맞지 않는 점이 있어서 약 90% 정도는 새로 작성했다.
DSP TMS320VC33 에서 C를 이용해서 GUI와 영상분석등을 처리하고, ALTERA를 이용해서 SRAM, CCD, LED, 광학부 촛점 조절을 위한 스테핑 모터, 화면출력을 위한 LCD화면 등을 구동했다.
검안기는 동공을 향해 발사한 빛이 망막에 반사되어 나왔을 때 얼마나 굴절 되었나는 측정해서 간접적으로 수정체의 굴절률을 측정하는 장비이다.
이론 적으로는 명료하지만
2. 측정 방법이 다른 점은 안구와 검안기 렌즈와의 거리를 측정해서 보정해 주는 방법으로 해결했고,
3. 온도편차는 기계의 온도를 측정시마다 계산해서 미리 주어진 실험치에 의해 측정결과를 보정해 주는 방법으로 해결했다.
여러 가지 방법을 강구 했으나 기계의 예열이 덜 되었을 경우나 초고도 근시/난시의 경우에는 1디옵터(diopter)정도 오차가 발생했다.
각막의 곡률을 계산하기 위해 링 형태의 빛을 눈동자에 비춘 사진
각막곡률은 콘택트렌즈 처방 등에 사용된다.

동공으로 들어간 빛이 망막에 반사되어 나온 사진.
6개의 빛의 위치로 타원을 만들어서 난시정도와 시력을 계산한다.
타원의 지름이 크면 근시, 작으면 난시, 이심률이 0이면 정시이고 그렇지 않으면 난시 정도와 난시축을 계산할 수 있다.

온도변화에 따른 타원반지름 크기변화 그래프

DSP 에 사용하지 않는 I/O 핀이 하나 있어서 아래와 같이 간이 A/D 컨버터를 만들었다.
CPU 쪽을 OUT 으로 한 다음 1을 보내면 Capacitor 에 5V가 충전된다. 충전이 완료된 후 CPU 쪽을 IN 으로 바꾼 다음 Capacitor 가 방전되어 입력 값이 1에서 0으로 변하는 시점을 알아본다.

기존에 있는 프로그램은 지금 기계와 여러가지 맞지 않는 점이 있어서 약 90% 정도는 새로 작성했다.
DSP TMS320VC33 에서 C를 이용해서 GUI와 영상분석등을 처리하고, ALTERA를 이용해서 SRAM, CCD, LED, 광학부 촛점 조절을 위한 스테핑 모터, 화면출력을 위한 LCD화면 등을 구동했다.
검안기는 동공을 향해 발사한 빛이 망막에 반사되어 나왔을 때 얼마나 굴절 되었나는 측정해서 간접적으로 수정체의 굴절률을 측정하는 장비이다.
이론 적으로는 명료하지만
- 인체는 항상 변화하고
- 기계를 사용하는 사람에 따라 측정 방법이 다르고
- 고정밀 기계이다 보니 기계 온도가 1도만 변해도 열 변형에 의해서 측정치가 달라진다.
2. 측정 방법이 다른 점은 안구와 검안기 렌즈와의 거리를 측정해서 보정해 주는 방법으로 해결했고,
3. 온도편차는 기계의 온도를 측정시마다 계산해서 미리 주어진 실험치에 의해 측정결과를 보정해 주는 방법으로 해결했다.
여러 가지 방법을 강구 했으나 기계의 예열이 덜 되었을 경우나 초고도 근시/난시의 경우에는 1디옵터(diopter)정도 오차가 발생했다.
각막의 곡률을 계산하기 위해 링 형태의 빛을 눈동자에 비춘 사진
각막곡률은 콘택트렌즈 처방 등에 사용된다.

동공으로 들어간 빛이 망막에 반사되어 나온 사진.
6개의 빛의 위치로 타원을 만들어서 난시정도와 시력을 계산한다.
타원의 지름이 크면 근시, 작으면 난시, 이심률이 0이면 정시이고 그렇지 않으면 난시 정도와 난시축을 계산할 수 있다.

온도변화에 따른 타원반지름 크기변화 그래프

DSP 에 사용하지 않는 I/O 핀이 하나 있어서 아래와 같이 간이 A/D 컨버터를 만들었다.
CPU 쪽을 OUT 으로 한 다음 1을 보내면 Capacitor 에 5V가 충전된다. 충전이 완료된 후 CPU 쪽을 IN 으로 바꾼 다음 Capacitor 가 방전되어 입력 값이 1에서 0으로 변하는 시점을 알아본다.

2004년 11월 1일 월요일
Papilloma Virus Primer
Human PapillomaVirus 의 서열을 NCBI 에서 받아와서 상호 유사성 검색후 특정 type의 HPV를 인지하기 위한 primer 를 찾는다.
알려진 Human PapillomaVirus 서열은 73개이고 평균길이는 7,749bp 이다.
아래 그림은 73개의 Human PapillomaVirus 서열에서 10bp 단위로 유일한 서열의 위치를 나타냄.
2번째(NC_001525 ), 7번째(NC_001526), 48번째(NC_001676) HPV는 대부분의 서열이 중복되어 있다.

알려진 Human PapillomaVirus 서열은 73개이고 평균길이는 7,749bp 이다.
아래 그림은 73개의 Human PapillomaVirus 서열에서 10bp 단위로 유일한 서열의 위치를 나타냄.
2번째(NC_001525 ), 7번째(NC_001526), 48번째(NC_001676) HPV는 대부분의 서열이 중복되어 있다.





































