Raspberry Pi13 Raspberry Pi #13 - Raspberry Pi 5에서 UART를 통해 Raspberry Pi Zero 2 WH에 접속하기 얼마 전에 Raspberry Zero 2 WH를 구입하였다. pico와 아두이노 micro도 같이 구입하였는데 그것들은 나중에 활용하기로 한다.문제는, Raspberry Zero 2 WH가 필자의 핫스팟 네트워크에 연결하지 못한다는 것이다.Raspberry OS부터 Ubuntu까지 다 설치하였으나 연결이 안 되어 방법을 찾던 중, 제로 시리즈가 UART를 통한 접속이 가능하다는 것을 알고 이를 실행하기로 했다. 하드웨어 연결파이 5의 UART 케이블을 제로 2에 연결한다.저번 아두이노 글에서와 같이, 적색 선은 RX 핀에, 황색 선은 TX 핀에 연결하면 된다. 검은 선은 접지 선이다.파이 5와 제로 2의 GPIO 핀 배열은 동일하므로, 잘 모르겠다면 위 이미지를 보고 연결하면 된다.적색 선은 GPIO 1.. 2025. 11. 1. Raspberry Pi #12 - waifu2x-ncnn-vulkan 계속 라즈베리 파이 관련 글만 계속 올리는 것 같다. 하지만 재밌는걸.waifu2x-ncnn-vulkan은 NCNN이라는 경량 신경망 추론 프레임워크를 기반으로 구현된 waifu2x이다.Vulkan API를 활용해 GPU 가속을 지원하기에, CUDA 없이도 GPU 가속이 가능하므로 라즈베리 파이와 같은 ARM 기반 디바이스에서 적합하다. 그러나, 라즈베리 파이 5의 하드웨어 자체가 그리 좋다고 할 수는 없기 때문에, waifu2x-ncnn-vulkan이라고 해도 GPU를 이용한 가속이 어려울 수 있다. 그래도 일단 사용은 가능하니, 이 글에 방법을 서술한다.사전 준비사전 준비물이다.아래의 명령을 입력한다.sudo apt updatesudo apt install git cmake g++ libvulkan-.. 2025. 10. 1. Raspberry Pi #11 - arduino-cli에서 Arduino R4 Minima 사용 라즈베리 파이뿐만 아니라, 대부분의 linux에서는 이러한 문제가 발생한다. 그 이유는 Arduino R4 Minima가 내부적으로 USB장치처럼 동작하기 때문이다.아래는 Windows에서의 컴파일 및 업로드 과정의 일부이다.스케치는 프로그램 저장 공간 38936 바이트(14%)를 사용. 최대 262144 바이트.전역 변수는 동적 메모리 3944바이트(12%)를 사용, 28824바이트의 지역변수가 남음. 최대는 32768 바이트."C:\Users\mukea\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.11.0-arduino5/dfu-util" --device 0x2341:0x0069,:0x0369 -D "C:\Users\mukea\AppData.. 2025. 9. 1. Raspberry Pi #10 - Arduino CLI를 이용한 Arduino 프로그래밍 Raspberry Pi에서 Arduino와 연결하고 작업하려면 보통 GUI 환경에서 Arduino IDE를 설치하여 사용한다.그러나 필자와 같이 라즈베리 파이에 SSH로 접속하여 CLI 작업을 한다면 IDE를 사용할 수 없다. 그렇기에 이러한 환경에서는 Arduino CLI를 사용하여야 한다.이 글에서는 Arduino CLI를 설치하고 사용하는 방법을 간단히 안내한다.설치하기Snap을 이용하기(Ubuntu만 가능)Ubuntu라면 snap을 이용하여 설치할 수 있다.아래의 명령을 입력한다.sudo snap install arduino-cli그러면 설치되는데, 이것을 사용하면 된다.그러나 어떠한 이유로 snap을 사용하기 꺼린다면 아래의 방법을 이용한다.설치하기(일반)아두이노 공식 문서에서는 curl을 이용.. 2025. 8. 1. Raspberry Pi #9 - Raspberry Pi에 저장된 네트워크 연결 정보 변경하기 필자는 라즈베리 파이에 핫스팟을 이용하여 SSH로 접속한다.최근 핫스팟 비밀번호의 보안을 강화하고자 핫스팟 비밀번호를 변경하기로 하였고, 이에 라즈베리 파이에 저장된 비밀번호 또한 변경해 주기 위해 설정 파일을 열었다.그런데, 설정 파일에 저장된 비밀번호가 사전 설정 단계에서 입력한 비밀번호와 다르다는 것을 확인하였다. 왜 이러한 현상이 일어나는지 알아보자.왜 이런 일이 일어나나요?핫스팟에서의 PSK(Pre-Shared Key) 생성 방식 때문이다.Ubuntu Server와 같은 보안 중심 운영체제는 비밀번호를 원문 그대로 저장하지 않을 가능성이 있다.이 때문에 핫스팟이 WPA2-PSK 방식인 경우, 입력된 비밀번호는 라우터나 핫스팟에서 PSK(Pre-Shared Key)로 변환되어 기기(라즈베리 파이.. 2025. 7. 1. Raspberry Pi #8 - Raspberry Pi 5에서 BitNet AI 모델을 로컬로 실행 BitNet은 Microsoft가 개발한 언어 모델로, 기존의 고성능 그래픽처리장치(GPU) 없이도 일반 중앙처리장치(CPU)에서 원활히 작동할 수 있도록 설계된 초경량 및 저전력 대규모 언어 모델(LLM)이다.기존의 16비트 또는 32비트 부동소수점 대신 -1, 0, +1 세 가지 값만을 사용하여 각 파라미터를 표현하는데, 이 덕분에 메모리 점유와 전력 소모를 크게 줄였다. 특히 BitNet b1.58은 초경량 대형 언어 모델(LLM)로, CPU 기반 장치에서도 효율적으로 실행할 수 있도록 설계된 모델이다. 이렇기 때문에, 거의 대부분의 컴퓨터, 특히 Raspberry Pi에서도 설정만 잘 해주면 무리 없이 구동할 수 있다. Raspberry Pi 5 모델 기준으로 설명한다. 별 의미는 없다.소스코드로.. 2025. 5. 1. Raspberry Pi #7 - 시간 동기화 설정 라즈베리 파이를 열심히 만지던 도중, 시간 동기화가 되어 있지 않은 것을 확인했다.필자는 핫스팟을 이용하여 라즈베리 파이와 컴퓨터를 연결하는데, 아마 이 때문인 것으로 추정된다.이를 해결하기 위해 엄청 많은 작업을 했는데, 어찌어찌 해결하는 데 성공하였다. 이에 방법을 설명하고자 한다.사전 작업일단 무엇이 문제인지 알아보기 위해 다음 명령을 입력한다.timedatectl 아래와 같은 화면이 뜨는데, 봐야 할 것은 'System clock synchronized'와 'NTP service'이다.sprout1345@sproutpi:~$ timedatectl Local time: Tue 2024-08-27 19:51:13 UTC Universal time: Tue 2.. 2025. 5. 1. Raspberry Pi #6 - wiringPi 라이브러리를 이용한 핀 제어(C/C++) 라즈베리파이에서, GPIO 제어는 파이썬을 이용하여 제어할 수 있다. 물론, 다른 언어로도 가능하다. 그 예로는, C/C++(wiringPi), Java(Pi4J), Node.js(rpi-gpio), Go(periph) 등이다. 이 글에서는 wiringPi를 이용해 C/C++로 GPIO를 제어할 것이다.wiringPi 라이브러리 설치라이브러리를 사용하기 위해서는 라이브러리를 사용해야 한다. 아래의 명령을 입력한다.sudo apt updatesudo apt install wiringpi경우에 따라, 설치가 완료되었음에도 라이브러리 파일을 찾을 수 없는 등의 오류가 발생할 수 있다(필자가 그랬다).이런 경우는 먼저 소스 코드를 이용해 빌드해 볼 수 있다. 일단 아래의 명령을 입력한다:mkdir wiringp.. 2025. 4. 1. Raspberry Pi #5 - gpiozero 라이브러리를 이용한 핀 제어 라즈베리파이는 개발 보드인 만큼 당연히 여러 포트와 핀이 있고, 이를 제어할 수 있는 라이브러리도 개발되어 있다.RPi.GPIO나 gpiozero와 같은 라이브러리들이 바로 그것이다. Raspberry Pi OS에는 이러한 라이브러리들이 기본으로 포함되어 있지만, 필자의 라즈베리 파이에 설치한 Ubuntu Server에는 이러한 라이브러리들이 기본으로 포함되어 있지 않으므로, 추가적인 설치가 요구된다.Raspberry Pi OS를 이용한다면 그냥 APT로 업그레이드나 시켜 주자.gpiozero 라이브러리 설치일단, 가장 쉽게 사용 가능한 라이브러리 중 하나인 gpiozero 라이브러리를 설치하자. 다음의 명령을 입력한다.sudo apt install python3-gpiozero설치는 간단하다.gpioz.. 2025. 3. 1. Raspberry Pi #4 - raspi-config raspi-config는 Raspberry Pi에서 제공되는 설정 도구로, 이 도구는 주로 라즈비안(Raspberry Pi OS) 및 이와 호환되는 몇몇 운영체제(Ubuntu Pi 등)에서 사용되며, 라즈베리파이의 초기 설정과 시스템 관리를 쉽게 할 수 있도록 설계되었다. 해당 도구의 각종 기능들은 아래와 같다. 시스템 설정기본 사용자 암호 변경호스트 이름 설정자동 로그인 활성화 또는 비활성화네트워크 설정Wi-Fi 네트워크 설정SSH, VNC와 같은 원격 접속 기능 활성화로케일, 키보드, 시간대 설정언어와 키보드 레이아웃 설정시간대(Time Zone) 조정인터페이스 활성화GPIO, I2C, SPI, Serial Port 등의 인터페이스를 활성화/비활성화카메라 모듈 활성화성능 옵션CPU/GPU 오버클러킹G.. 2025. 2. 15. Raspberry Pi #3 - Raspberry Pi 5에서 DeepSeek-R1 AI 모델을 로컬로 실행 원래는 다른 글을 작성하려고 했었는데, DeepSeek에 관한 소식을 듣고 바로 글을 수정하였다.DeepSeek-R1은 중국의 AI 스타트업인 DeepSeek에서 개발한 대규모 언어 모델로, 기존의 최강자였던 OpenAI o1 모델과 경쟁할 수 있는 수준의 성능을 갖춤에도, 기존보다 매우 적은 비용으로 이를 달성하였다고 주장한다. 여러 말말말이 있지만, 가장 놀라운 것은, DeepSeek 모델들이 오픈모델로 배포되고 있다는 것이다. 이 덕분에 배포된 모델을 로컬로 내려받아, 로컬에서 구동할 수 있다. 이는 매우 중요한데, 로컬에서 모델을 구동하면 공식 홈페이지에서의 검열이 없거나 줄어든다.DeepSeek가 중국의 기업이니만큼, 중국 당국의 검열 정책을 따라야 하는데, 이 때문에 공식 홈페이지에서 민감한 .. 2025. 2. 1. Raspberry Pi #2 - 스왑 설정 Oracle Cloud #5에서, 인스턴스를 처음 만들면 운영체제에서 디스크 스왑을 사용하도록 설정되어 있지 않다고 한 바 있다. Oracle Cloud #5 - 스왑 파일 만들기이전 글에서, 인스턴스를 처음 만들면 운영체제에서 디스크 스왑을 사용하도록 설정되어 있지 않다고 한 바 있다.이용자에 따라, 굳이 디스크 스왑을 사용하지 않아도 된다. 서버 운영체제이기sprout13.tistory.com이는 운영체제가 서버 운영체제이기 때문이다. 필자가 현재 설치한 운영체제 또한 서버 운영체제이므로, 당연히 디스크 스왑을 사용하도록 설정되어 있지 않다. 따라서 스왑 설정을 해 줄 것이다.이전 글에서 스왑 설정에 대해 자세히 설명한 바 있으니, 이 글에서는 간략히 설명하고 넘어갈 것이다. Linux Mint에서 .. 2025. 1. 15. 이전 1 2 다음 728x90 반응형