본문 바로가기

Study/라즈베리파이 공부

라즈베리파이를 이용한 파워 릴레이 제어 방법(GPO 제어) 본 페이지에서는 라즈베리파이를 이용해서 파워 릴레이를 제어하는 방법에 대해서 기술하고자 합니다. 라즈베리파이와 릴레이만 있으면 손쉽게 파워를 제어할 수 있습니다. 개요 라즈베리파이는 작고 저렴하지만 활용도가 무궁무진합니다. 직장에서 라즈베리파이와 파워 릴레이를 활용하여 개발중인 제품의 자동화 테스트에 응용하기도 했습니다. GitHub에 소스코드가 Pull Request 되면 Jenkins를 연동하여 자동으로 Firmware를 빌드하고, 빌드된 FW는 다시 라즈베리파이에 전송되어 자동으로 제품에 다운로드 된 후에 기본적인 테스트가 수행되는 구조입니다. 본 페이지에서는 그 중에서도 라즈베리파이의 GPO를 이용하여 제품의 전원을 on/off하는 방법에 대해서 설명드리고자 합니다. 준비물 파워 제어를 위해서는 .. 더보기
[라즈베리파이] Ubuntu 21.10 업그레이드 이후 firefox 웹브라우저 윈도우 위치 이동시 락 걸리는 문제 해결 방법 OS를 업그레이드한 이후에는 여러 가지 문제점들이 발견되기 마련입니다. 최근에 라즈베리파이의 OS를 Ubuntu 20.04.3에서 21.10으로 업그레이드한 이후로 USB2Serial 장치가 제대로 잡히지 않는 문제가 발견되어 얼마 전에 해결한 이력이 있습니다. 관련된 내용은 아래 제가 작성한 글을 참조하시기 바랍니다. ▶ Ubuntu 21.10으로 업그레이드한 이후에 USB2Serial이 잡히지 않는 문제 해결 https://frankler.tistory.com/72 이번에는 firefox가 말썽을 부리더군요. 기존 20.04.3 버전에서는 아무 문제없이 잘 사용하던 firefox가 21.10 버전에서는 윈도우 위치 이동을 하려고 마우스를 드래그 하다 보면 마우스와 키보드가 먹통 되는 일이 다반사였습니.. 더보기
[라즈베리파이] Ubuntu 21.10에서 USB-to-Serial 안 잡히는 문제 해결 방법 (/dev/ttyUSB 파일이 생성되지 않음) Ubuntu 21.10으로 업그레이드한 이후에 USB-to-Serial 장치가 잡히지 않음 제가 기존에 사용하던 라즈베리파이 OS는 Ubuntu 20.04.3이었습니다. 그때까지만 해도 USB2Serial 장비가 아무 문제없이 사용 가능했었지요. 최근에 제 라즈베리파이를 Ubuntu 21.10 버전으로 업그레이드했습니다. 업그레이드 이전 버전인 Ubuntu 21.04.3에서는 USB2Serial 장비가 제대로 인식이 되었는데, 업그레이드 이후부터는 lsusb 명령으로는 USB-to-Serial 장비가 잡히는데 /dev/ttyUSB와 같은 파일이 생성되지 않는 게 아닙니까? 혹시 OS 업그레이드 과정에서 발생한 문제인가 싶어서 PI Imager를 이용하여 20.10 이미지를 새로 생성해보았습니다. 하지만 .. 더보기
[라즈베리파이] 현재 시간 정보를 자동으로 가져와서 유지하는 방법 라즈베리파이는 현재 시간 정보를 유지하지 못합니다. 작고 저렴하지만 파워풀한 라즈베리파이에 RTC(Real Time Clock) 블록은 포함되어 있지 않습니다. 다시 말하면 라즈베리파이에는 현재 시간 정보를 유지하는 기능이 없다는 이야기입니다. 그래서 오랫동안 껐다가 재부팅하면 현재 시간이 잘 맞지 않는 문제가 발생합니다. 라즈베리파이에 RTC block이 없는 이유? 제가 라즈베리파이를 설계한 사람은 아니지만 10년 이상 Embedded 환경에서 개발을 한 경험을 바탕으로 미루어 짐작하자면, 원가 절감과 크기 절감을 위한 게 아닌가 싶습니다. 라즈베리파이는 상업적인 목적이 아닌 교육적인 목적을 위해 만들어진 것이기 때문입니다. 필수적인 기능이 아니므로 RTC를 지원하지 않으면 더 저렴하고 저 작은 크기.. 더보기
[라즈베리파이] Jenkins 설치하는 방법 라즈베리파이에 Jenkins를 설치하여 테스트 자동화 환경 구성 라즈베리파이로 할 수 있는 것들은 무궁무진합니다. 저의 경우는 회사에서 Test Automation에 라즈베리파이를 응용하고 있는데요. 라즈베리파이에 Jenkins를 설치하여 Git에 Pull Request 또는 Merge가 이뤄지는 시점에 서버에서 빌드된 패키지를 라즈베리파이로 자동으로 전송합니다. 라즈베리파이는 수신한 번들을 Target Device에 자동으로 다운로드한 후 테스트를 자동으로 수행하고 결과를 리포팅하도록 구성하였습니다. 라즈베리파이는 미니 컴퓨터이면서도 GPIO, PWM, I2C, SPI, UART 등의 I/O 채널들이 있기 때문에 Target Device의 Power Control, UART Control 등을 수행할 .. 더보기
라즈베리파이에 FTP 서버 설정 (proftpd inactive 문제 해결 방법) 오늘은 라즈베리파이에 FTP 서버를 설정하는 방법에 대해서 기록해두고자 합니다. 저는 Ubuntu Desktop 운영체제를 설치하여 사용하고 있는데요. x86 계열의 PC에 설치된 Ubuntu와 뭔가 조금씩 상이한 게 느껴집니다. 특히 proftpd를 라즈베리파이에 설치해봤는데 단순 설치만 했음에도 불구하고 service가 inactive 되는 생경한 경험을 하게 되었네요. 본 페이지에서 2가지 내용을 다룹니다. 라즈베리파이에 ftp 서버 설정 (proftpd) proftpd inactive 문제 해결 방법 라즈베리파이에 FTP 서버 설정하는 방법 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install proftpd 라즈베리파이에 FTP .. 더보기
[라즈베리파이] Your Computer Clock Is Wrong 해결 방법 Your Computer Clock is Wrong 라즈베리파이 공부를 시작한지도 몇개월이 지났네요. 아주 작고도 저가의 컴퓨터로 인터넷도하고 파이선 공부도 할 수 있어서 참 마음에 듭니다. 어느날 Ubuntu Desktop OS를 설치하고 FireFox로 인터넷에 접속하려는 순간 위와 같은 메시지가 발생하는 것입니다. "Your Computer Clock is Wrong"이라는 메시지였는데, 실제로 살펴보니 날짜가 약 3개월 전으로 되어 있는 것입니다. 그렇습니다! 라즈베리파이에는 RTC 값을 유지시켜줄 배터리가 없었던 것입니다. RTC의 기능은 크게 2가지라고 생각하시면 되겠습니다. 하나는 시간값을 저장하는 기능이고, 나머지 하나를 시간을 증가시키는 기능입니다. 라즈베리파이의 RTC는 시간 저장 기능.. 더보기
[Raspberry Pi] Is it possible to run x86 or x86-64 binary on ARM machine like Raspberry Pi? The Raspberry Pi is an amazing machine. We can easily install Ubuntu Linux on Raspberry Pi. I sometimes confuse Raspberry Pi and desktop PC(x86-64). At that time, I come up with idea. How about setup software development environment on my Raspberry Pi instead of X86 PC. I installed some packages like Git, Docker for software engineers. I downloaded my source codes from Git. Then I tried to build.. 더보기