2015. 3. 3.

Raspberry Pi와 Beremiz 연결하기

  최종목표는 RaspberryPi(RPi)의 wiringPi를 Beremiz에 적용(?)하여 베레미즈에서 라즈베리의 LED를 키는 것이다.
일단은 RaspberryPi와 Beremiz간에 연결부터 해보자.

  베레미즈 홈페이지에 Documentation에서 How to build on Linux에 나와있는 절차대로 Linux가 설치된 컴퓨터와 라즈베리파이 모두에
베레미즈를 설치한다.(출처 참조)

 컴퓨터에서는 Beremiz.py를 실행시킬 것이고 RPi에서는 Beremiz_service.py를 실행할 것이다.
베레미즈는 PYRO라는 것으로 통신을 하게 되는데 RPi와 컴퓨터 모두 리눅스이므로 따로 설정할 것은 크게 많지 않다.

<그림1>

<그림2>

 우선 그림1과 같이 컴퓨터에서 베레미즈 디렉토리로 들어가 베레미즈를 실행시킨다. 명령어는 아래와 같다.

python Beremiz.py

 그런 후에 간단한 프로그램을 만든다. 필자의 경우는 for 루프로 100까지 더한 후 done을 출력하는 프로그램을 만들었다.
그리고 Project의 config에서 URI주소를 아래와 같이 설정한다.

PYRO://RPi의 IP주소:포트

타겟타입은 RPi가 리눅스이므로 리눅스로 하였다. (사실은 라즈베리파이로 만들어 줘야하지만 일단은 리눅스로 하자)
그리고 gcc 옵션을 전에 'Raspberry pi에 Xenomai 설치하기'를 했을때 썼던 크로스컴파일러를 사용하기 위해 아래와 같이 컴파일러와 링커를
수정한다.

arm-bcm2708hardfp-linux-gnueabi-gcc

이때 환경변수 PATH를 설정해주어야 저 gcc를 쓸 수 있는데,
나의 경우는 홈디렉터리에 있는 .bashrc의 파일을 수정하여 arm-bcm2708hardfp-linux-gnueab가 있는 경로를 /usr/bin 앞에 삽입한 내용을
추가하여 저장하였다. 내용은 아래와 같다.

PATH=......./xenomai_workspace/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin:..........

그런다음 바로 적용을 하였다.(서버를 이용하기 때문에 재부팅을 하면 안되서 ㅠ)

source .bashrc

자 이제 베레미즈를 build해보자. gcc옵션에 의해 RPi에 맞게 컴파일이 될 것이다.






 여기까지 컴퓨터에서의 준비작업은 끝났다. 이제 RPi에서 준비를 하자.
RPi에서 설치된 베레미즈 폴더에 가서 베레미즈서버를 실행시키자.

python Beremiz_service.py

만약 192.168... 같은 RPi의 ip주소가 안나오고 이상한 ip주소가 생긴다면 다음과 같이 옵션을 추가한다.

python Beremiz_service.py -i RPi 의 ip주소 -p 포트번호(필자는 3001로 하였다)


자 이제 컴퓨터에서 베레미즈로 연결을 하고 PLC에 전송을 누른다.




<그림3>

그러면 <그림3>과 같이 PLCobject가 왔다고 글씨가 나올 것이다. 이제 Run을 누르면 동작을 한다. 

연결이 된 것이다.


다음에는 wiringPi를 쓸 수 있도록 해볼 것이다.




민제형에게 감사드립니다.

출처 :
http://www.beremiz.org/doc - Beremiz 홈페이지

댓글 없음: