라즈베리파이를 이용하여 소프트웨어를 개발할 때 해당 프로그램에서 사용하는 하드웨어 설정들을 부팅때 마다 적용하고 싶을 때가 있다. 

     

    AIoT 보드에서는 2가지 또는 3가지 항목을 포함하면 편리하게 사용할 수 있다. 

     

    필자는 AIoT 보드를 설정할 때 I2C Expander (0x73)을 Enable 하여 하위의 채널에 연결된 I2C 장치를 부팅되면서

     

    설정되도록 하기 위해서 그리고 CAN 장치를 활성화 하는 목적으로 설정하였다. 

     

    can은 ip 명령을 이용하여 등록하고, i2c는 i2cset을 이용하여 설정한다.

     

    따라서 해당 바이너리가 어디에 있는지 부터 확인한다.  

     

    whereis 명령으로 어디에 실행파일이 있는지 다음과 같이 확인할 수 있다. 

     

    1. 실행파일 위치 확인

    pi@raspberrypi:~ $ whereis ip
    ip: /usr/bin/ip /usr/sbin/ip /usr/share/man/man7/ip.7.gz /usr/share/man/man8/ip.8.gz
    pi@raspberrypi:~ $ whereis i2cset
    i2cset: /usr/sbin/i2cset /usr/share/man/man8/i2cset.8.gz
    pi@raspberrypi:~ $ 

     

    적용할 바이너리가 어디있는지 확인했다면, 스크립트를 수정한다. rc.local 파일을 확인해보면 root 사용자가 생성한

     

    파일임을 확인할 수 있다.  따라서 sudo 명령을 통해 nano 또는 vim 에디터를 이용한다.

     

    2. rc.local 파일 정보확인

    pi@raspberrypi:~ $ ls -al /etc/rc.local 
    -rwxr-xr-x 1 root root 420 Nov 21 23:35 /etc/rc.local
    pi@raspberrypi:~ $ vim /etc/rc.local

     

    3. 스크립트 내용 추가

    다음과 같이 내용을 입력하고 저장하고 나온다음 리부팅한다.

    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
      printf "My IP address is %s\n" "$_IP"
    fi

    # I2C Expansion chip enable for AIoT KIT
    sudo /usr/sbin/i2cset -y 1 0x73 0xf

    # CAN port enable for AIoT KIT
    sudo /usr/bin/ip link set can0 up type can bitrate 1000000

    exit 0

    rc.local에 추가된 내용

     

    4. 결과 확인

     정상적으로 설정되었는지 확인하기 위해서 AIoT키트에서 i2cdetect -y 1을 입력하여 I2C 채널에 연결된 장치 리스트를 확인한다. 그리고 ifconfig 명을 이용하여 can 장치가 표시되는지 확인하자. 아래의 그림과 같이 표시되었다면 이제 편하게 장치를 사용하면된다. 

     

    rc.local 수정 끝.

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기