일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 영어
- Git
- error
- s3
- docker
- Ai
- 구글
- nodejs
- API
- JS
- 유니티
- sample
- Kibana
- MSSQL
- Linux
- logstash
- mariadb
- 엘라스틱서치
- 설정
- AWS
- MySQL
- ssh
- unity
- build
- JavaScript
- elasticsearch
- Python
- ChatGPT
- Windows
- Today
- Total
가끔 보자, 하늘.
프로토타입 _ 1 2015-05-03 본문
인터넷 라디오 프로토타입을 완성. 실행 후 버튼을 누르면 채널이 변경되도록 만들었다.
일단 회로도 구성은 아래와 같다. 아직은 버튼이 하나라 간단하다.
YELLOW BUTTON : 3.3V로 전원이 들어가고 10K옴을 통해 버튼으로 들어간다. 위 그림에서 위 오른쪽 다리 방향으로 GND로 이어지고, 버튼의 입력은 18번 핀으로 받도록 설정했다. 18번 pin은 wiringPI에서 5번이다.
실행 후 노란 버튼을 누르면 미리 입력된 채널이 변경되도록 했다. mms 출력을 위해 mplayer를 사용하며, mplayer 설치 방법 을 참고하기 바란다.
코드는 아래와 같다.
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <time.h>
#include <unistd.h>
#include <wiringPi.h>
int main (void)
{
if(-1 == wiringPiSetup())
return 1;
int SWITCH = 5; // pin 18
pinMode( SWITCH, INPUT);
clock_t startPush = 0;// for shutdown
const char *radiolist[] = {
"mms://210.105.237.100/mbcam"
,"mms://211.181.136.136/livefm"
,"mms://114.108.140.39/magicfm_live"
,"mms://115.84.165.160/fmlive"
,"mms://211.218.209.124/L-FM_300k"
};
int count = sizeof(radiolist)/sizeof(int);
printf("radio list count = %d\n", count);
printf("now time = %d \n", startPush);
pid_t sndPID = -1;
pid_t myPID = getpid();
int radioIdx = 0;
for (;;)
{
if( digitalRead(SWITCH) == 0)
{
if(sndPID != -1)
kill(sndPID, SIGQUIT);
sndPID = fork();
if(sndPID == 0)
{
sndPID = execl("/usr/bin/mplayer", "mplayer", "-quiet", radiolist[radioIdx], NULL);
}else{
++radioIdx;
if(radioIdx >= count)
radioIdx = 0;
}
}
}
return 0 ;
}
18번 핀의 입력을 받으면 저장한 라디오 주소를 바꿔주도록 했다.
결과는 아래와 같다.
다음에는 볼륨 조절, 종료 코드를 추가해 볼 예정이다.
이후 블루투스 스피커 연결, 외형 제작, 실기 테스트 순서로 진행되어 마무리 될 예정.
다들 좋은 하루 되세요. ^^
'개발 이야기 > 개발툴 및 기타 이야기' 카테고리의 다른 글
기본 파일에 리소스를 포함하는 여러가지 방법 (0) | 2015.08.14 |
---|---|
Hangouts , Google Drive를 사용하면서.. (0) | 2015.06.30 |
버튼으로 LED, Sound 처리하기 (31) | 2015.05.01 |
blink 샘플 실행 (0) | 2015.04.29 |
라즈베리파이로 인터넷 라디오 만들기 1 ... 라이브러리 설치 및 테스트 (22) | 2015.04.18 |