GrovePi+ 펌웨어 업데이트 프로세스
6342 단어 RaspberryPiavrdudegrovepi
◆ 우선
Raspberry Pi3(Raspbian Stretch)와 GrovePi+의 조합을 통해 각종 센서의 값을 얻고 싶습니다.
제품 콘셉트로 라즈베리피에 GrovePi+를 설치하면 바로 사용할 수 있고 연결기가 통일되어 센서와 기초가 전자작업을 하지 않아도 바로 사용할 수 있다는 것이 장점이다.
그러나 I2C 등 디지털 센서의 사용은 문제가 없지만 아날로그 센서는 원시 상태에서 사용할 수 없다.
유감스럽지만, 여기서 총결한 절차는 현재 성공하지 못했다.
a-r-i 씨의 보도
Grove Pi에서 광량을 가져오는 중 오류가 발생했습니다.펌웨어 업데이트를 통해 해결
원래 농장의 갱신은 정상적으로 통과되지 않는다.
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에서는 실현할 수 없지만 시뮬레이션에서는'여러 개의 같은 유형의 센서를 동시에 이용한다'는 것을 실현할 수 있다.
$ 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
#!/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
#! /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
Reference
이 문제에 관하여(GrovePi+ 펌웨어 업데이트 프로세스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/PINTO/items/15361ccad06af68413c8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)