[ Environment ]
- Raspberry Pi B Type
- RPI CAMERA BOARD
[ Method ]
- 기본 계정인 pi 로 로그인해서 사용해도 되지만, 난 root 로 로그인해서 테스트 함
- apt-get update
- apt-get upgrade
- raspi-config 실행 후 camera 를 활성화 한다
- reboot
- Still Capture : raspistill -v -o still01.jpg
- Video Capture : raspivid -t 30000 -o video01.h264 ( 대충 봐도 충분히 30 fps 나온다, CPU 점유율은 7.5% 정도, 훌륭하다 )
2013년 11월 13일 수요일
2013년 11월 12일 화요일
Raspberry Pi - Media Player
[ Environment ]
- Raspberry Pi B Type
- 배포본 : Raspbian GNU/Linux 7
[ Method ]
- XBMC 라는 Media Center 가 따로 있기는 하지만, 셋탑박스 만들때나 필요하겠다
- vsftp 설치 해서, 이웃집토토로를 SD Card 에 옮겨 두었다
- 기본적으로 위의 배포본 설치 시, omxplayer 가 설치 되어 있다
- sudo omxplayer 이웃집토토로.avi ( 이런식으로 걍 실행 한다, omxplayer 가 Overlay 로 뿌리고 있는거 같은데, CPU 점유율은 약 11~12% 정도, Mem 은 5~6% , 훌륭하다. 네이버 미디어 플레이어로 내 노트북에서 실행할 때, 약 7 ~ 10 % 인데... 완전 맘에 든다 )
- Raspberry Pi B Type
- 배포본 : Raspbian GNU/Linux 7
[ Method ]
- XBMC 라는 Media Center 가 따로 있기는 하지만, 셋탑박스 만들때나 필요하겠다
- vsftp 설치 해서, 이웃집토토로를 SD Card 에 옮겨 두었다
- 기본적으로 위의 배포본 설치 시, omxplayer 가 설치 되어 있다
- sudo omxplayer 이웃집토토로.avi ( 이런식으로 걍 실행 한다, omxplayer 가 Overlay 로 뿌리고 있는거 같은데, CPU 점유율은 약 11~12% 정도, Mem 은 5~6% , 훌륭하다. 네이버 미디어 플레이어로 내 노트북에서 실행할 때, 약 7 ~ 10 % 인데... 완전 맘에 든다 )
2013년 11월 11일 월요일
Raspberry Pi 구동 준비 사항 ( Preparing )
[ Environment ]
- Windows7 64 bit
- Raspberry Pi B Type
- [Transcend] MicroSDHC, Class4 [8GB]
- SD Reader : PMS-R04
- [멜로디] 멜로디 HDMI to DVI 듀얼 골드코팅 케이블 1.5M
- microSD Adapter H (수평타입 SD어댑터)
- http://www.raspberrypi.org/downloads 에서 Formatting Tool Link 를 따라 가서 다운로드 한다
- http://www.raspberrypi.org/downloads 에서 NOOBS_v1_3_2.zip 을 다운로드
[ Method ]
- Windows 에 다운로드한 Tool 을 설치 한다
- 설치 후 실행한 다음, Option Button Click
- 2번째 Option 중 Format size adjustment 을 "ON" 으로 선택
- Windows7 64 bit
- Raspberry Pi B Type
- [Transcend] MicroSDHC, Class4 [8GB]
- SD Reader : PMS-R04
- [멜로디] 멜로디 HDMI to DVI 듀얼 골드코팅 케이블 1.5M
- microSD Adapter H (수평타입 SD어댑터)
- http://www.raspberrypi.org/downloads 에서 Formatting Tool Link 를 따라 가서 다운로드 한다
- http://www.raspberrypi.org/downloads 에서 NOOBS_v1_3_2.zip 을 다운로드
[ Method ]
- Windows 에 다운로드한 Tool 을 설치 한다
- 설치 후 실행한 다음, Option Button Click
- 2번째 Option 중 Format size adjustment 을 "ON" 으로 선택
- Format 이 완료 되면 아래 그림과 같은 확인 메세지 박스가 나타난다
- Format 이 완료 되면, 다운로드한 NOOBS_v1_3_2.zip 의 압축을 풀어 SD Card Drive 로 복사 한다
- 이제 SD Card 를 Raspberry Pi 에 넣고, Power 를 켜면, 최초 설치 가 시작 된다
Raspberry Pi Default username / passoword
[ Environment ]
- Linux raspberrypi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l
[ Method ]
- 최소 설치 시 암호를 변경하지 않았다면 아래와 같다
- username : pi
- password : raspberry
- Linux raspberrypi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l
[ Method ]
- 최소 설치 시 암호를 변경하지 않았다면 아래와 같다
- username : pi
- password : raspberry
2013년 10월 21일 월요일
Oracle LPAD 활용
[ 환경 ]
- Oracle 11g function
[ 목적 ]
- Primary Key 형태 : ABC-20131012-001
- 위의 Key 에 대한 Sequence 한 Max 값을 구하는 Oracle Function 코드 작성, 특히 마지막 3자리에서 최대값에 1을 더한 값을 구해야 한다, Number Type 이면 쉽게 구할 수 있지만, Char 가 섞여 있어, 아래와 같이 조금 복잡해 졌다
[ Function 코드 ]
- Primary Key 에 대한 최대값 구하기
- Substr 으로 마지막 3자리 자르기
- Number Type 으로 변경
- LPAD 으로 1을 더하고. 3번째 자리 기준으로 왼쪽에 0을 채운다
- 마지막으로 원래 Format 으로 재배치 한다
CREATE OR REPLACE FUNCTION TBABLE_USER.F_MaxNo (mType VARCHAR2, mDate VARCHAR2) RETURN VARCHAR2 AS
mNextNo VARCHAR2(16);
BEGIN
SELECT mType || '-' || mDate || '-' || LPAD(NVL(SUBSTR(MAX(NO), -3), 0) + 1, 3, '0') INTO mNextNo FROM TB_TABLE
WHERE NO LIKE mType || '%';
RETURN mNextNo;
END;
/
[ 참고 ]
-- LPAD Sample
SELECT LPAD('Page 1',15,'*.') "LPAD example"
FROM DUAL;
LPAD example
---------------
*.*.*.*.*Page 1
- Oracle 11g function
[ 목적 ]
- Primary Key 형태 : ABC-20131012-001
- 위의 Key 에 대한 Sequence 한 Max 값을 구하는 Oracle Function 코드 작성, 특히 마지막 3자리에서 최대값에 1을 더한 값을 구해야 한다, Number Type 이면 쉽게 구할 수 있지만, Char 가 섞여 있어, 아래와 같이 조금 복잡해 졌다
[ Function 코드 ]
- Primary Key 에 대한 최대값 구하기
- Substr 으로 마지막 3자리 자르기
- Number Type 으로 변경
- LPAD 으로 1을 더하고. 3번째 자리 기준으로 왼쪽에 0을 채운다
- 마지막으로 원래 Format 으로 재배치 한다
CREATE OR REPLACE FUNCTION TBABLE_USER.F_MaxNo (mType VARCHAR2, mDate VARCHAR2) RETURN VARCHAR2 AS
mNextNo VARCHAR2(16);
BEGIN
SELECT mType || '-' || mDate || '-' || LPAD(NVL(SUBSTR(MAX(NO), -3), 0) + 1, 3, '0') INTO mNextNo FROM TB_TABLE
WHERE NO LIKE mType || '%';
RETURN mNextNo;
END;
/
[ 참고 ]
-- LPAD Sample
SELECT LPAD('Page 1',15,'*.') "LPAD example"
FROM DUAL;
LPAD example
---------------
*.*.*.*.*Page 1
2013년 10월 4일 금요일
confirm javascript function call form aspx.cs
[ 환경 ]
asp.net
iis
[ 목적 ]
asp.net 의 aspx.cs 의 C# code 에서 javascript ( confirm 에 대한 ) 을 호출하여, 사용자가 선택 한 상황(yes or no)에 따라 Process 를 분기 한다
[ 방법 ]
아래 방법을 보면 알겠지만, 숨김 버튼 한개를 만들고, 이벤트를 걸어서 처리 한다
1. aspx.cs code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "test", "test();", true);
}
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
myProcess();
}
2. aspx code
<asp:LinkButton ID="LinkButton3" runat="server" Text="clickMeToo" OnClick="LinkButton3_Click" style='display:none;'></asp:LinkButton>
<script type="text/javascript">
function BookingCancelConfirm() {
var ans = confirm('are you ok?');
if (ans) {
<%= Page.GetPostBackEventReference(LinkButton3) %>
return true;
}
else {
self.location = '/default.aspx';
return false;
}
}
</script>
asp.net
iis
[ 목적 ]
asp.net 의 aspx.cs 의 C# code 에서 javascript ( confirm 에 대한 ) 을 호출하여, 사용자가 선택 한 상황(yes or no)에 따라 Process 를 분기 한다
[ 방법 ]
아래 방법을 보면 알겠지만, 숨김 버튼 한개를 만들고, 이벤트를 걸어서 처리 한다
1. aspx.cs code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "test", "test();", true);
}
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
myProcess();
}
2. aspx code
<asp:LinkButton ID="LinkButton3" runat="server" Text="clickMeToo" OnClick="LinkButton3_Click" style='display:none;'></asp:LinkButton>
<script type="text/javascript">
function BookingCancelConfirm() {
var ans = confirm('are you ok?');
if (ans) {
<%= Page.GetPostBackEventReference(LinkButton3) %>
return true;
}
else {
self.location = '/default.aspx';
return false;
}
}
</script>
2013년 9월 23일 월요일
Oracle 에서 Sequence 생성과 사용 ( Dual )
Unique Key 로 보통 Auto Increment 로 설정하여 사용하여도 되나, 아래와 같이 Sequence 를 생성하여 사용 할 수 있다
[생성]
CREATE SEQUENCE 시퀀스이름
START WITH 1
MAXVALUE 999999999
MINVALUE 1
NOCYCLE
NOCACHE
NOORDER; COMMIT;
[사용]
select 시퀀스이름.nextval from dual;
[생성]
CREATE SEQUENCE 시퀀스이름
START WITH 1
MAXVALUE 999999999
MINVALUE 1
NOCYCLE
NOCACHE
NOORDER; COMMIT;
[사용]
select 시퀀스이름.nextval from dual;
피드 구독하기:
글 (Atom)



