'분류 전체보기'에 해당되는 글 25건
- 2013.09.04 Socket 통신하기 - TCP 클라이언트
- 2013.09.04 Socket 통신하기 - TCP 서버
- 2013.08.29 Buzzer 제어
- 2013.08.29 Build 를 편하게.. Makefile
- 2013.08.28 Servo 모터 함수 사용하기
- 2013.08.25 WiringPi 매핑 정보
- 2013.08.25 GPIO 제어하기 시작
- 2013.08.24 케이스 득템!
- 2013.08.24 소소한 세팅들
- 2013.08.24 WLAN 설정하기
클라이언트 파트 - client.c
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#define BUFF_SIZE 1024
int main( int argc, char **argv)
{
int client_socket;
struct sockaddr_in server_addr;
char buff[BUFF_SIZE+5];
client_socket = socket( PF_INET, SOCK_STREAM, 0);
if( -1 == client_socket)
{
exit( 1);
} else {
printf("socket created...\n");
}
memset( &server_addr, 0, sizeof( server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(9100);
server_addr.sin_addr.s_addr= htonl(INADDR_ANY);
if( -1 == connect( client_socket, (struct sockaddr*)&server_addr, sizeof( server_addr) ) )
{
exit( 1);
} else {
printf("client socket created....\n");
}
printf("send data .... \n");
write( client_socket, argv[1], strlen( argv[1])+1);
printf("read return value\n");
read ( client_socket, buff, BUFF_SIZE);
printf( "%s\n", buff);
close( client_socket);
return 0;
}
'ExtreamThings' 카테고리의 다른 글
Android 로 RaspberryPI 서버와 통신하기 (0) | 2013.09.12 |
---|---|
Socket 통신으로 Buzzer 제어하기 (0) | 2013.09.05 |
Socket 통신하기 - TCP 서버 (0) | 2013.09.04 |
Buzzer 제어 (0) | 2013.08.29 |
Build 를 편하게.. Makefile (0) | 2013.08.29 |
서버 파트 - server.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#define BUFF_SIZE 1024
int main( void)
{
int server_socket;
int client_socket;
int client_addr_size;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char buff_rcv[BUFF_SIZE+5];
char buff_snd[BUFF_SIZE+5];
server_socket = socket( PF_INET, SOCK_STREAM, 0);
if( -1 == server_socket)
{
printf( "server socket ?앹꽦 ?ㅽ뙣n");
exit( 1);
} else {
printf("Socket created : %d\n",socket);
}
memset( &server_addr, 0, sizeof( server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(9100);
server_addr.sin_addr.s_addr= htonl(INADDR_ANY);
if( -1 == bind( server_socket, (struct sockaddr*)&server_addr, sizeof( server_addr) ) )
{
exit( 1);
} else {
printf("socket binded\n/");
}
while( 1)
{
if( -1 == listen(server_socket, 5))
{
exit( 1);
} else {
printf("listening.....\n");
}
client_addr_size = sizeof( client_addr);
client_socket = accept( server_socket, (struct sockaddr*)&client_addr, &client_addr_size);
if ( -1 == client_socket)
{
exit( 1);
} else {
printf("client socket created...\n");
}
read ( client_socket, buff_rcv, BUFF_SIZE);
printf( "receive: %s\n", buff_rcv);
sprintf( buff_snd, "%d : %s", strlen( buff_rcv), buff_rcv);
write( client_socket, buff_snd, strlen( buff_snd)+1); close( client_socket);
}
}
'ExtreamThings' 카테고리의 다른 글
Socket 통신으로 Buzzer 제어하기 (0) | 2013.09.05 |
---|---|
Socket 통신하기 - TCP 클라이언트 (0) | 2013.09.04 |
Buzzer 제어 (0) | 2013.08.29 |
Build 를 편하게.. Makefile (0) | 2013.08.29 |
Servo 모터 함수 사용하기 (0) | 2013.08.28 |
집에 돌아다니는 Buzzer 가 있어 이걸 어디다 써먹어 볼까 했더니..
softTone.h 이라는 함수가 있다 이걸 써먹어 보자.
연결은 0v과 GPIO1 에 연결했다.
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <wiringPi.h>
#include <softTone.h>
#define PIN 1
int scale [8] = { 262, 294, 330, 349, 392, 440, 494, 525 } ;
int main ()
{
int i ;
wiringPiSetup () ;
softToneCreate (PIN) ;
for (;;)
{
for (i = 0 ; i < 8 ; ++i)
{
printf ("%3d\n", i) ;
softToneWrite (PIN, scale [i]) ;
delay (500) ;
}
}
}
아.. 구리지만 소리가 난다..
'ExtreamThings' 카테고리의 다른 글
Socket 통신하기 - TCP 클라이언트 (0) | 2013.09.04 |
---|---|
Socket 통신하기 - TCP 서버 (0) | 2013.09.04 |
Build 를 편하게.. Makefile (0) | 2013.08.29 |
Servo 모터 함수 사용하기 (0) | 2013.08.28 |
WiringPi 매핑 정보 (0) | 2013.08.25 |
매번 gcc -o target source.c -lwiringPi 해주기 귀찮다.
Makefile을 만들자
#FIRSTLOOK MAKEFILE
#PROJECT
TARGET = servoTest
SRC = servoTest.c
#SETTINGS
CC = gcc
CFLAGS = -lwiringPi -lpthread
#OPERATION
all:
@$(CC) -o $(TARGET) $(SRC) $(CFLAGS)
clean:
@rm -f $(TARGET)
$ make
or
$ make clean
끝!
'ExtreamThings' 카테고리의 다른 글
Socket 통신하기 - TCP 서버 (0) | 2013.09.04 |
---|---|
Buzzer 제어 (0) | 2013.08.29 |
Servo 모터 함수 사용하기 (0) | 2013.08.28 |
WiringPi 매핑 정보 (0) | 2013.08.25 |
GPIO 제어하기 시작 (0) | 2013.08.25 |
라즈베리파이는 PWM 이 제공되지 않는다. 그래서 PWM 을 구현하여 사용해야하는데..
wiringPi 에서 제공하는 softServo 가 Include 되지 않는다.
분명 wiringPi 에 header 파일이 있는데... 왜?
이유는 Makefile에 softServo를 빌드하는 부분이 빠져 있다.
왜 뺐는지는 모르겠다. 이제 Makefile을 수정해 보자.
git으로 받은 wiringPi 폴더로 가서
$ cd wiringPi
$ sudo vi Makefile
SRC 에 softServo.c 추가
install-headers 에 @install -m 0644 softServo.h $(DESTDIR)$(PREFIX)/include 추가
uninstall에 @rm -f $(DESTDIR)$(PREFIX)/include/softServo.h 추가
DO NOT DELETE 부분에 softServo.o: wiringPi.h softServo.h 열 추가
귀찮으면 첨부파일 Makefile 덮어쓰기 -.-;;
$ cd ..
$ sudo ./build clean
$ sudo ./build
'ExtreamThings' 카테고리의 다른 글
Buzzer 제어 (0) | 2013.08.29 |
---|---|
Build 를 편하게.. Makefile (0) | 2013.08.29 |
WiringPi 매핑 정보 (0) | 2013.08.25 |
GPIO 제어하기 시작 (0) | 2013.08.25 |
케이스 득템! (0) | 2013.08.24 |
https://projects.drogon.net/raspberry-pi/wiringpi/
P1: The Main GPIO connector:
wiringPi Pin | BCM GPIO | Name | Header | Name | BCM GPIO | wiringPi Pin |
---|---|---|---|---|---|---|
– | – | 3.3v | 1 | 2 | 5v | – | – |
8 | R1:0/R2:2 | SDA0 | 3 | 4 | 5v | – | – |
9 | R1:1/R2:3 | SCL0 | 5 | 6 | 0v | – | – |
7 | 4 | GPIO7 | 7 | 8 | TxD | 14 | 15 |
– | – | 0v | 9 | 10 | RxD | 15 | 16 |
0 | 17 | GPIO0 | 11 | 12 | GPIO1 | 18 | 1 |
2 | R1:21/R2:27 | GPIO2 | 13 | 14 | 0v | – | – |
3 | 22 | GPIO3 | 15 | 16 | GPIO4 | 23 | 4 |
– | – | 3.3v | 17 | 18 | GPIO5 | 24 | 5 |
12 | 10 | MOSI | 19 | 20 | 0v | – | – |
13 | 9 | MISO | 21 | 22 | GPIO6 | 25 | 6 |
14 | 11 | SCLK | 23 | 24 | CE0 | 8 | 10 |
– | – | 0v | 25 | 26 | CE1 | 7 | 11 |
wiringPi Pin | BCM GPIO | Name | Header | Name | BCM GPIO | wiringPi Pin |
- Board Revisions: Please note the differences between board revisions 1 and 2 (R1 and R2 above)
P5: The auxilliary GPIO connector present on Rev. 2 boards only:
wiringPi Pin | BCM GPIO | Name | Header | Name | BCM GPIO | wiringPi Pin |
---|---|---|---|---|---|---|
– | – | 5v | 1 | 2 | 3.3v | – | – |
17 | 28 | GPIO8 | 3 | 4 | GPIO9 | 29 | 18 |
19 | 30 | GPIO10 | 5 | 6 | GPIO11 | 31 | 20 |
– | – | 0v | 7 | 8 | 0v | – | – |
wiringPi Pin | BCM GPIO | Name | Header | Name | BCM GPIO | wiringPi Pin |
'ExtreamThings' 카테고리의 다른 글
Build 를 편하게.. Makefile (0) | 2013.08.29 |
---|---|
Servo 모터 함수 사용하기 (0) | 2013.08.28 |
GPIO 제어하기 시작 (0) | 2013.08.25 |
케이스 득템! (0) | 2013.08.24 |
소소한 세팅들 (0) | 2013.08.24 |
1. 환경 세팅
$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build
2. 테스트
$ vi test.c
#include <stdio.h>
#include <wiringPi.h>
#define PIN18 1
int main (void)
{
if(wiringPiSetup() == -1) {
return 1;
}
pinMode(PIN18, OUTPUT);
while(1) {
digitalWrite(PIN18, 1);
delay(100);
digitalWrite(PIN18, 0);
delay(100);
}
return 0;
}
3. Build
$ gcc -o test test.c -lwiringPi
4. 실행
$ sudo ./test
'ExtreamThings' 카테고리의 다른 글
Servo 모터 함수 사용하기 (0) | 2013.08.28 |
---|---|
WiringPi 매핑 정보 (0) | 2013.08.25 |
케이스 득템! (0) | 2013.08.24 |
소소한 세팅들 (0) | 2013.08.24 |
WLAN 설정하기 (0) | 2013.08.24 |
크기를 보니 딱맞아, 이거야!
완성! HDMI 는 나중에 필요할 때 자를 예정 ㅠㅠ 손이 너무 아픔
끝!
'ExtreamThings' 카테고리의 다른 글
WiringPi 매핑 정보 (0) | 2013.08.25 |
---|---|
GPIO 제어하기 시작 (0) | 2013.08.25 |
소소한 세팅들 (0) | 2013.08.24 |
WLAN 설정하기 (0) | 2013.08.24 |
Raspbian 설치하기 (0) | 2013.08.24 |
네트워크 잡히고 제일 먼저 하는 것들... 귀차니즘 타파..
1. root 비밀번호 세팅
$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
2. OS 업데이트 하기
$ sudo apt-get update
$ sudo apt-get upgrade
3. 개발용 세팅
$ sudo apt-get install vim
4. 사용자 생성
$ adduser 아이디
$ usermod -G sudo 아이디
5. 사용자 계정에 root 권한 주기
$ sudo vi /etc/sudoers
계정ID ALL=(ALL:ALL) ALL
6. 삼바 설정
$ sudo apt-get install samba samba-common-bin
$ sudo smbpasswd -a ID
$ sudo vi /etc/samba/smb.conf
#계정 정보 추가
[ID]
path = /home/ID
writable = yes
browsable = yes
create mask = 0755
valid users = ID
'ExtreamThings' 카테고리의 다른 글
GPIO 제어하기 시작 (0) | 2013.08.25 |
---|---|
케이스 득템! (0) | 2013.08.24 |
WLAN 설정하기 (0) | 2013.08.24 |
Raspbian 설치하기 (0) | 2013.08.24 |
Raspbian 설치완료 (0) | 2013.08.24 |
라즈베리 Rev.A 버전은 LAN 포트가 없으므로, WLAN 동글을 이용해야 한다.
그런데, 공유기에 비밀번호가 잡혀 있다면, 게다가 WPS 가 지원이 되지 않는다면,
다음과 같이 수동으로 wlan0 를 잡아줘야 한다.
$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wpa-ssid 공유기SSID
wpa-key_mgmt WPA-PSK
wpa-psk 비밀번호
$ sudo /etc/init.d/networking restart
'ExtreamThings' 카테고리의 다른 글
케이스 득템! (0) | 2013.08.24 |
---|---|
소소한 세팅들 (0) | 2013.08.24 |
Raspbian 설치하기 (0) | 2013.08.24 |
Raspbian 설치완료 (0) | 2013.08.24 |
세팅 완료 (0) | 2013.08.24 |