'분류 전체보기'에 해당되는 글 25건

  1. 2013.09.04 Socket 통신하기 - TCP 클라이언트
  2. 2013.09.04 Socket 통신하기 - TCP 서버
  3. 2013.08.29 Buzzer 제어
  4. 2013.08.29 Build 를 편하게.. Makefile
  5. 2013.08.28 Servo 모터 함수 사용하기
  6. 2013.08.25 WiringPi 매핑 정보
  7. 2013.08.25 GPIO 제어하기 시작
  8. 2013.08.24 케이스 득템!
  9. 2013.08.24 소소한 세팅들
  10. 2013.08.24 WLAN 설정하기
2013. 9. 4. 00:39

클라이언트 파트 - client.c

client.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( 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
Posted by firstlook
2013. 9. 4. 00:35

서버 파트 - server.c

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
Posted by firstlook
2013. 8. 29. 00:48


집에 돌아다니는 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
Posted by firstlook
2013. 8. 29. 00:02

매번 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
Posted by firstlook
2013. 8. 28. 23:48

라즈베리파이는 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 덮어쓰기 -.-;;

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
Posted by firstlook
2013. 8. 25. 19:35

https://projects.drogon.net/raspberry-pi/wiringpi/


P1: The Main GPIO connector:

wiringPi
Pin
BCM
GPIO
NameHeaderNameBCM
GPIO
wiringPi
Pin
3.3v1 | 25v
8R1:0/R2:2SDA03 | 45v
9R1:1/R2:3SCL05 | 60v
74GPIO77 | 8TxD1415
0v9 | 10RxD1516
017GPIO011 | 12GPIO1181
2R1:21/R2:27GPIO213 | 140v
322GPIO315 | 16GPIO4234
3.3v17 | 18GPIO5245
1210MOSI19 | 200v
139MISO21 | 22GPIO6256
1411SCLK23 | 24CE0810
0v25 | 26CE1711
wiringPi
Pin
BCM
GPIO
NameHeaderNameBCM
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 PinBCM GPIONameHeaderNameBCM GPIOwiringPi Pin
5v1 | 23.3v
1728GPIO83 | 4GPIO92918
1930GPIO105 | 6GPIO113120
0v7 | 80v
wiringPi
Pin
BCM
GPIO
NameHeaderNameBCM
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
Posted by firstlook
2013. 8. 25. 19:03

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
Posted by firstlook
2013. 8. 24. 22:56
라즈베리파이 케이스 12,000원(배송비 포함 15,000원가량) 아까워서 안사고 있다가
이마트에서 1500원짜리 플라스틱 사각케이스 발견, 이게 왠 횡재냐 낼름 사와서


크기를 보니 딱맞아, 이거야!
이걸 잘라서 노가다 1시간 ㅠㅠ


완성! 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
Posted by firstlook
2013. 8. 24. 17:28

네트워크 잡히고 제일 먼저 하는 것들... 귀차니즘 타파..


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
Posted by firstlook
2013. 8. 24. 17:20

라즈베리 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
Posted by firstlook