GrovePi+ 펌웨어 업데이트 프로세스

◆ 우선


Raspberry Pi3(Raspbian Stretch)와 GrovePi+의 조합을 통해 각종 센서의 값을 얻고 싶습니다.
제품 콘셉트로 라즈베리피에 GrovePi+를 설치하면 바로 사용할 수 있고 연결기가 통일되어 센서와 기초가 전자작업을 하지 않아도 바로 사용할 수 있다는 것이 장점이다.
그러나 I2C 등 디지털 센서의 사용은 문제가 없지만 아날로그 센서는 원시 상태에서 사용할 수 없다.
유감스럽지만, 여기서 총결한 절차는 현재 성공하지 못했다.
a-r-i 씨의 보도
Grove Pi에서 광량을 가져오는 중 오류가 발생했습니다.펌웨어 업데이트를 통해 해결
원래 농장의 갱신은 정상적으로 통과되지 않는다.
GrovePi+의 펌웨어가 오래되면 아날로그 값을 얻는 데 실패한 것으로 조사됐다.
이 기사에서는 GrovePi+의 펌웨어 업데이트 순서를 설명합니다.
하드 카피는 없지만 성공 단계를 명확하게 기록해야 한다.

◆ GrovePi+는

  • 스위치 과학 제품 페이지
  • 제조사 공식 펌웨어 업데이트 강좌
  • 제조업체 공식 GrovePi 전체 자습서
  • ◆ 펌웨어 업데이트 단계 2018.04.25 시점


    슬픈 일이지만 제조사 공식 펌웨어 업데이트 강좌에 기재된 절차에 따라 진행해도 성공하지 못한다.
    비록 아래의 비공식적이지만 자신이 엮은 순서대로 진행함으로써 업데이트에 성공했다.
    먼저 センサー類を全て取り外した状態のGrovePi+ 를 Raspberry Pi에 설치합니다.
    다음 작업을 수행합니다.
    $ cd ~
    $ git clone https://github.com/DexterInd/GrovePi.git
    $ cd GrovePi/Script/
    $ sudo chmod +x install.sh
    $ sudo ./install.sh
    $ sudo git fetch origin
    $ sudo git reset --hard
    $ sudo git merge origin/master
    $ cd ~/GrovePi/Firmware
    $ nano grovepi_firmware_update.sh
    
    수정하면 다음과 같이 저장됩니다.
    grovepi_firmware_update.sh
    #!/usr/bin/env bash
    update_grovepi_firmware(){ 
        avrdude -c linuxgpio -p m328p -U lfuse:w:0xFF:m
        avrdude -c linuxgpio -p m328p -U hfuse:w:0xDA:m
        avrdude -c linuxgpio -p m328p -U efuse:w:0x05:m
        avrdude -c linuxgpio -p m328p -U flash:w:grove_pi_firmware.hex
    }
    
    다음 작업을 수행합니다.
    $ sudo nano /usr/local/etc/avrdude.conf
    
    수정하면 다음과 같이 저장됩니다.
    수정 전
    programmer
      id    = "gpio";
      desc  = "Use the Linux sysfs interface to bitbang GPIO lines";
      type  = "gpio";
      reset = ?;
      sck   = ?;
      mosi  = ?;
      miso  = ?;
    ;
    
    수정 후
    programmer
      id    = "linuxgpio";
      desc  = "Use the Linux sysfs interface to bitbang GPIO lines";
      type  = "linuxgpio";
      reset = 8;
      sck   = 11;
      mosi  = 10;
      miso  = 9;
    ;
    
    다음 작업을 수행합니다.오류를 표시할 때 무시합니다.
    $ sudo chmod 777 ./firmware_update.sh
    $ sudo ./firmware_update.sh
    $ sudo reboot
    $ cd /home/pi/GrovePi/Firmware/Source/v1.2/grove_v1_2_7
    $ nano manualupdate.sh
    
    다음 내용을 입력하고 저장합니다.
    manualupdate.sh
    #! /bin/bash
    echo "Updating the GrovePi firmware and software with the Experimntal software and firmware"
    
    read -n1 -p "Do you want to update the firmware? [y,n]" input
    if [[ $input == "Y" || $input == "y" ]]; then
            printf "\nMake sure that GrovePi is connected to Raspberry Pi"
    else
            printf "\nExiting..."
        exit 0
    fi
    
    printf "\nPress any key to start firmware update\n. . .";
    read -n1
    sudo avrdude -c linuxgpio -p m328p -U flash:w:grove_pi_v1_2_7.cpp.hex
    
    다음 작업을 수행합니다.
    $ sudo chmod 777 ./manualupdate.sh
    $ sudo ./manualupdate.sh
    $ sudo reboot
    
    이제 GovePi+ 펌웨어가 최신 버전(ver1.2.7)으로 업데이트되었습니다.
    다음 아날로그 센서의 동작을 확인한 결과 펌웨어 업데이트 전에는 동작하지 않았지만 펌웨어 업데이트 후에는 정상적인 동작으로 값을 얻을 수 있습니다.
    이로써 I2C에서는 실현할 수 없지만 시뮬레이션에서는'여러 개의 같은 유형의 센서를 동시에 이용한다'는 것을 실현할 수 있다.
  • GROVe-광 센서 v1.2https://www.switch-science.com/catalog/3284/

  • 좋은 웹페이지 즐겨찾기