방사능 측정 시스템 만들기

방사능 측정기를 샀는데 쓰지도 않고 구석에만 박혀있길래 이걸 응용해서 방사능 측정/데이터 쌓는 시스템을 만들어서 서비스로 공개해보았습니다

일단 주소는 http://ems.cloudsquare.kr 이고 들어가시면 방사능 측정 데이터를 보실 수 있습니다.

사실 제 기억속엔 측정기 만들면서 사진을 여러장 찍어놓은것 같은데 찾아보니 사진이 이것밖에 없네요

아래 사진이 제가 사용한 방사능 측정(가이거 계수기) 기판입니다.

전원을 연결하면 방사선이 저 밑에있는 가이거 튜브를 땅 하고 때릴때 마다 1이라는 신호를 전송해줍니다.

방사선이 튜브를 땅 하고 많이 때리면 방사능 수치가 높은거고 적게 때리면 수치가 낮은거지요.

이게 가이거 튜브라고 방사선한테 허구언날 퍼 맞는 앱니다.

무려 400V가 넘어가는 전압을 사용해서 만질때 조심해야 합니다.

전류가 많이 낮아서 괜찮지만 전류가 심장을 흐를경우 좋지는 않다고 하네요(안만져봐서 몰라요).

이 튜브를 위 기판의 아래쪽 네모칸에 넣어서 사용합니다.

그리고 아래가 제가 만든 최종 가이거카운터 입니다.

중간 과정에 너무 집중하느라 싹 빼먹고 다 만든 사진만 있네요.

아두이노에 가이거 카운터 데이터 케이블을 연결해서 CPM이라는 값을 모아 nSv/h 로 변환합니다(공식사용).

조금 없어보이긴 한데 가이거 튜브에서 열도 많이나고 위험하기도 해서 대충 케이스를 만들었습니다.

아두이노는 ARM보드에 연결되어서 10분간 데이터를 모아서 평균을 낸 후 서버로 전송합니다.

아래가 위 장비에서 나온 방사능 측정 값 입니다(mSv/h)

여기에 100을 곱한게 nSv/h 입니다.

보시다시피 변화의 폭이 너무 커서 바로 사용하기에는 무리가 있어서 10초 간격으로 나오는 데이터를 10분동안 모아서

평균을 내서 사용합니다.

Synology atom 기반 ipkg 설치하기

Synology Intel Itom CPU 기반 시스템에 ipkg 설치하는 법 입니다.

일단 root 계정으로 ssh 에 접속합니다.

root 비밀번호는 admin 비밀번호와 동일

> cd /volume1/@tmp

> wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh

> chmod 755 syno-i686-bootstrap_1.2-7_i686.xsh

> sh syno-i686-bootstrap_1.2-7_i686.xsh

> vi /root/.profile

여기까지 입력하시면 편집창이 뜰거에요 그럼 영어 i 버튼을 누르셔서 편집모드로 전환하신 후

아래 두 부분앞에 다음과 같이 #을 추가해주세용

#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

#export PATH

이렇게 고치셨으면 ESC 를 누른 후 : 버튼을 누른 다음 wq 를 입력하시고 엔터를 누르셔서 저장하시고 빠져나옵니다.

그리고 재부팅을 위해 reboot 을 입력하시고 엔터를 치신 뒤

재부팅이 완료되면(약 1분정도) 다시 root 로 ssh 에 접속합니다.

이렇게 입력하시면 아래와 같은 글이 나옵니다.

> ipkg -v

ipkg version 0.99.163

그리고 update 와 upgrade 를 통해 사용가능한 상태를 만들어줍니다.

> ipkg update

> ipkg upgrade

만약 이렇게 나오지 않고 ipkg not found 라고 나오신다면
아래를 따라하시면 됩니다.

/etc/rc.optware stop

> rm -f /etc/rc.optware

> echo -e ‘#!/bin/shn’ > /etc/rc.local   (하나라도 빠트리지 않게 조심하세요)

> reboot

재부팅이 완료되면 다시 root로 ssh 접속하신 뒤

> rm -rf /volume1/@optware

를 입력하시고 위의 방법에서 vi /root/.profile 을 수정하는것만 제외하고 따라하시면 됩니다.

Python Flask 에서 미디어 파일 스트리밍 하기

Python Flask 에서 일반적으로 미디어 파일을 전송하게 되면 206 Partial Content 로 전송하지만 Connection 이 Close 로 전송이 되기 때문에 미디어 파일 같은 경우는 아이폰이나 안드로이드에서 재생이 되지 않습니다..

아이폰이나 여타 모바일 기기에서 제대로 재생하려면 Response Header 에서 Connection 이 Keep-Alive 로 되어있어야 하죠.

게다가 수동으로 헤더를 변경하려고 해도 오버라이드 되는지 불가능하더군요.

그래서 한 8개월 동안 때려치고 있다가 겨우 해결 방법을 찾았네요.

Nginx 와 함께 사용해야한다는 단점이 있긴 하지만 확실히 해결이 가능합니다.

내용은 아래를 참고하시면 됩니다.

영어로 정리했어도 그리 어렵진 않습니다.

http://stackoverflow.com/questions/19421014/error-occurred-in-mobile-when-send-video-using-send-file-in-python-flask

슈퍼컴퓨터 2세대

슈퍼컴퓨터 2세대 제작 완료했습니다
근데 필요한 전력량이 가용 전력양 보다 높아서 센터를 더 좋은곳으로 옮기기로 했네요
아마 한달정도 후에 옮기지 않을까 해요

Bootcamp 에서 키보드가 안될때

제가 몇 일 동안 Bootcamp랑 Parallels 가상머신에서 키보드가 입력이 안되서 고생을 했는데

그 해법을 찾아서 올려봅니다…

증상은 Bootcamp로 설치된 윈도우에서 마우스는 잘 되는데 키보드가 안되는 경우에요

해결방법은 [제어판] – [프로그램 제거] 에서 Intel USB3.0 Controller 를 삭제하시면 됩니다.

삭제하신 후 재부팅하시면 되는데 만약 안되신다면 

[시작] – [보조 프로그램] – [접근성] – [화상키보드] 를 실행시키셔서

[시작] 을 누르신 후 화상키보드로 msconfig 를 입력한 후 엔터를 칩니다.

그 다음 뜨는 창에서 [시작 프로그램] 탭으로 들어가 USB3.0 Mon 인가? 그걸 체크 해제하신 후 적용(확인)누르신 담에 재부팅을 하시면 됩니다…

제가 이것 때문에 몇일동안 맥북이랑 윈도노트북이랑 같이 들고다니느라 쥬글뻔했네요 ㅠㅠ

슈퍼컴퓨터 만들기

요 몇일간 그래픽 연산용 슈퍼컴퓨터를 만드느라 고생고생 하네요..
하루에 용산도 몇번씩 갔다오고 서버 케이스 제작하고 조립하고 시스템 설치하고 운영체제랑 서버 설치하고..
또 다 끝내고 드디어 가동하는구나 하고 켰다가 컴퓨팅 센터 건물 정전시키고 전기 추가 계약하곤 전력선 공사를 기다리고 있네요…
으 오늘 원래 전력선 공사가 끝나야 되는데 늦어져서 내일 끝날것 같네요..




Apple Store Pre-sign for Delivery 의 뜻

안녕하세요, 

이번에 미국 Apple Store 에서 애플 제품을 하나 구입하면서 새로운걸 알게 되었습니다.

주문처리(Processing Item) 후 배송중(Shipped) 상태로 변경이 되면서 새로운 버튼이 하나 생겼는데, [Pre-Sign for Delivery] 라는 버튼이었습니다.

이 버튼이 무엇인가 하고 검색을 해보니 한국 사이트에는 없고 미국 사이트에 의미가 있더군요!

미국에도 저 같은 사람들이 많았는지 “What does Pre-sign for Delivery mean” 이라고 검색어가 표시가 되더라구요

그래서 한번 읽어보니, Pre-Sign for Delivery 는 택배기사가 수신처에 도착을 하였을 때 수신자가 부재중이어도 택배를 전달하는데에 동의한다는 버튼이었습니다.

한국도 마찬가지 이지만 애플스토어에서는 고가 제품을 다루기 때문에 배송시에 반드시 수신자의 자필서명을 받아야만 물품을 전달 할 수 있게 되어 있습니다.

하지만 피치못할 사정으로 물품이 배송될 시간에 수신지에 있지 못하는 경우가 있지요.

그래서 수신자가 부재중이더라도 수신자가 지정한 위치(앞문, 뒷문, 화단 뒤, 차고 앞, 옆집 아저씨, 경비실)에 배송을 설정할 수 있는 기능을 만들어 둔 것입니다.

한국같은 경우에는 이러한 기능이 없지요.

위와같은 경우들을 위해 애플은 3가지 옵션을 마련하여 두었습니다.

1번째 옵션은

애플 홈페이지의 배송상태에서 Pre-sign for Delivery 를 통해 부재중 시 물품을 둘 위치를 선택하는 방법. Pre-sign for Delivery를 선택 후 양식을 작성한 다음 출력해서 배송예상 날짜의 오전 8시 이전까지 문 앞에 놓아두어야 합니다.

2번째 옵션은

배송기사가 첫번째 방문시 수신자가 부재중이어서 문앞에 남겨둔 부재중 알림 종이에 배송장소(앞문, 뒷문, 화단 뒤, 차고 앞, 옆집 아저씨, 경비실)를 적어둔 후 문 앞에 놓아두면, 배송기사가 두번째 방문시에 해당 시트를 확인하고 지정한 위치에 배송하는 방법

3번째 옵션은

배송기사가 첫번째 방문시 수신자가 부재중이어서 되돌아간 후, 수신자는 그 지역의 배송회사 창고에서 직접 물품을 수령할 것을 요청하는 방법. 직접 수령을 위해서는 배송기사가 문앞에 남겨둔 부재중 알림 종이와, 신분증(운전면허, 여권 등)과 두번째로 신분을 증명할 수 있는것(신용카드, social security card) 3개 모두를 들고 방문합니다. 단 신분증에 적혀있는 주소가 배송주소와 같지 않을 경우에는 직접수령이 불가능합니다.