https://blaxsior-repository.tistory.com/283
이전 글에서 node-red-node-pi-gpio가 라즈베리파이 5에서 제대로 동작하지 않는다고 말했다. 그 이유는 해당 플로우가 내부적으로 RPi.GPIO라는 라이브러리에 의존하고 있으며, 현재 라즈베리파이 5에 대한 지원 기능이 없기 때문이다.
반대로 말하면 RPi.GPIO만 동작하면 위 라이브러리는 정상적으로 사용할 수 있다. 정보를 찾다 보니, 라즈베리파이 5에서 GPIO 작업에 주로 사용되는 lgpio 라이브러리를 이용해 RPi.GPIO의 인터페이스를 구현하는 라이브러리가 있다는 것을 알게 되었다. ( RPi.GPIO의 동작을 lgpio로 구현, 해당 라이브러리를 대체할 수 있다. )
https://pypi.org/project/rpi-lgpio/
rpi-lgpio를 설치하면 node-red-node-pi-lgpio가 동작한다.
라즈베리파이 5에서 node-red 및 GPIO 기능을 사용하는 방법을 다시 정리하자면 다음과 같다.
nodejs을 설치한다.
sudo apt-get update
apt-get install nodejs
npm으로 node-red을 설치한다.
sudo npm install -g --unsafe-perm node-red
node-red을 한번 실행했다가 끄자.
node-red
node-red을 실행하면 ~/.node-red 폴더가 생성된다. 해당 폴더는 node-red의 패키지 정보가 저장되는 장소로, 특정 노드를 추가하고 싶은 경우 해당 위치로 이동한 다음 npm install로 설치하면 된다. ~/.node-red로 이동한 후 node-red-node-pi-gpio을 설치하자.
추가적으로 RPi.GPIO 라이브러리를 대체하는 rpi-lgpio를 설치한 후 node-red를 다시 실행하면 끝난다.
cd ~/.node-red
npm install node-red-node-pi-gpio
pip install rpi-lgpio
'잡다' 카테고리의 다른 글
[라즈베리파이] 라즈베리파이5 node-red 연동 (0) | 2024.08.07 |
---|---|
[라즈베리파이] 브라우저 화면 깨지는 현상 수정 (0) | 2024.07.30 |
[vscode] .md 파일 깃허브 테마로 사용하기 (0) | 2023.08.14 |
[nginx] Location Priority (0) | 2023.04.21 |
[python] f-string(Literal String)과 string concatenation의 비교 (0) | 2023.03.13 |