목록RaspberryPi (92)
행복한 하루
안녕하세요. 이번에 e4ds에서 라즈베리파이 피코 W(Raspberry Pi Pico W)를 가지고 만들어 보는 콘테스트가 있어서 참가해보았습니다. 국내에서 Raspberry Pi Pico W는 품절인지 잘 구할 수가 없는데, 사이트에서 Quest1을 진행하면 1개 무료 제공해준다고 합니다. 이렇게 모듈 사용법도 배우고, Cloud 사용방법도 배울 겸 참여해보았습니다. Quest1은 우선 피코 W로 어떤 것을 만들어 볼 것인지 계획서를 작성하는 것입니다. 1. 아이디어 소개 및 개요 - 기존 Pico 제품에 Wireless 기능이 추가되었다고 해서 생활에 유용한 정보 전달과 안전에 조금 중점을 두어 아이디어를 생각해보았습니다. - 최근 들어 실외기, 김치냉장고, 콘센트 등 가정에서 화재 많이 발생하고 있..
안녕하세요. 4단계로 해서 최종 마무리를 하였습니다. 성능은 예상한 것보다 좋지 못했고, 생각을 깊게 하지 못했고, 끝나고 알게 된 내용이 지만, 급수를 화분에 바로 하는 것이 아니라 화분을 얕은 통에 넣고 습도 센서는 화분에 꽂아서 사용하는 방법을 사용해야 조금 더 정확할 수 있다는 것을 알 수 있었습니다. 감사하게도 퀘스트 인기상과, 열정상을 받게 되었습니다. 그리고 마지막 퀘스트는 정리하는 내용으로 마무리하게 됩니다. 1. 개발과정 1) H/W 기존 개발 내용과 변경된 부분 - 라즈베리파이 제로를 사용하려고 했으나 장착하는 모듈때문에 라즈베리파이 4 정식버전 사용 - 라즈베리파이에 ADC, DAC 관련된 모듈이 장착되어 있지 않아서 다른 칩은 검토 - PCF8591 칩을 사용하여 아날로그 데이터 확..
안녕하세요. Raspberry Pi Pico에 Python을 이용해서 많이들 프로그램을 하는데, C/C++로 프로그램해보고 싶다는 생각이 들어서 간단하게 MicroPython.uf2 올려서 하면 되겠지 생각했는데, gcc 등 설치할 것들이 많고, 이것 저것 설정해야 할 것들이 있었습니다. 그래서 간단히 방법을 찾아서 해보았습니다. 단지, 이렇게 동작되겠구나 정도로 보시고 하나씩 설정 보면서 설치하는 방법을 보려면 하단 참고 사이트들을 참고하시면 됩니다. 1. 프로그램들 설치 - gcc 컴파일러와 개발 툴 등 이것저것 설치해야 합니다. 그런데 감사하게도 다운로드해서 설치해주는 자동화 프로그램이 있어서 사용했습니다. https://github.com/ndabas/pico-setup-windows/releas..
안녕하세요. 이전 내용에서 디바이스 드라이버 소스의 간단한 형태를 잡아 보았다면 이번에는 디바이스에 장치 번호를 할당해서 접근하는 방법을 알아보도록 하겠습니다. 커널 레벨, 유저 레벨 등의 이론적인 내용은 아주 간략하게 설명했고, 실습 위주로 정리해보았습니다. 1. 사전 준비 이전 파일을 좀 더 디바이스 같은 느낌(?)으로 파일 이름을 변경합니다. (작업하는 디렉터리 이름은 day2로 변경했습니다. pi@raspberrypi:~/DriverStudy/day2 $ mv day1_module.c dev_nr.c 그러면 Makefile도 같이 내용을 수정해줍니다. obj-m += dev_nr.o 2. 디바이스 드라이버 소스 수정 pi@raspberrypi:~/DriverStudy/day2 $ vim dev_n..
안녕하세요. 3번째 Quest는 소프트웨어 구성에 관한 내용으로 개발하는 데 사용한 소프트웨어 툴, 소프트웨어 구성도, 사용한 오픈 소스 활용 정보, 소스코드를 올리는 것입니다. 사실 Quest 3때는 업무 때문에 진행을 잘하지 못해서 부품 제어 간단한 테스트만 했고, 메인 소스는 간단하게 틀만 생각해서 실제적으로 코드는 마지막 Quest에 완료를 했습니다. 1. 개발 툴 목록 - Visual Studio Code - WiringPi Library - gcc version 10.2.1 2. 소프트웨어 구성도 1. 프로그램이 시작하면 DHT11 센서에서 실내외 온도를 측정합니다. 2. 측정한 온도와 미리 설정해 둔 온도와 비교하여 설정한 온도보다 높아지거나 같으면 팬을 작동시킵니다. 3...
안녕하세요. Quest1을 진행하고 Quest 2 내용을 작성해보았습니다. Quest 2에서는 하드웨어 및 부품 준비하기라는 내용을 작성을 하시면 됩니다. 2주간 동안 필요한 부분을 찾고 준비해서 스펙 적고 대략 이렇게 연결될 것이라고 작업한 것을 올리면 됩니다. OrCad를 가지고 계시면 회로도까지 올리시면 좋을 것으로 생각됩니다. 그리고 전체적인 일정도 확인해줍니다. 1. 사용 부품 목록 - 18650 보호 배터리 - 리튬배터리 3.7V 셀용 충전 겸 가변 부스트 - 토양 습도 센서 - DHT11 온습도 센서 - IRF MOSFET 드라이버 모듈 - 라즈베리파이 제로 W - 수중펌프모터 - RGB Flexible 코팅 LED 2. 부품의 사양과 특징 기술 1) 18650 보호 배터리 - 설명 : PC..
안녕하세요. Windows 상에서 Tesseract, OpenCV, Qt를 조합해서 하려고 하니 이런저런 라이브러리를 설치하기가 어려워서 리눅스 기반인 라즈베리 파이 상에서 테스트해보았습니다. 라즈베리 파이에서 현재 시점에서 최신 버전인 Tesseract 5.1.0을 설치 시도하였으나 아래와 같이 발생하였습니다. 에러로 검색해 보면 FreeBSD 빌드 상에 문제가 있다고 리포팅된 것으로 보였습니다. 향후에 수정된 버전에서 5.x도 사용 가능할 것으로 보입니다. 그래서 현재 4.1.3 버전을 사용하였습니다. [package - 130releng-armv6-quarterly][graphics/tesseract] Failed for tesseract-5.1.0 in build https://www.mail-a..
안녕하세요. 이번에는 ImageEditor를 Raspberry Pi 4에서 실행하는 것을 알아보도록 하겠습니다. Qt 가 Cross Compile을 지원해주도록 설계가 되어 있다 보니, 프로젝트(.pro) 파일에서 라이브러리 등 경로를 잘 설정해주면 여러 OS에 컴파일할 수가 있습니다. 1. 사전 준비사항 - 이전 글( “Raspberry pi CM4에 OpenCV 4.6.0과 Contrib 모듈 설치해보기” )에서 Raspberry Pi 4에 OpenCV 4.6.0와 Qt를 설치했다는 가정하에 아래 내용을 진행할 수 있습니다. Raspberry pi CM4에 OpenCV 4.6.0과 Contrib 모듈 설치해보기 안녕하세요. 에지 컴퓨팅이라고 해서 단말 장치에서 가까운 위치에서 컴퓨팅을 하는 것을 말합..
안녕하세요. 이전 글을 따라 OpenCV 4.6.0을 설치한 다음, Bullseyes 32bit에서 libcamerasrc를 사용할 생각으로 gstreamer 최신 버전(1.9.2 혹은 1.20.x)을 다운로드하여서 컴파일할 경우 아래와 같은 컴파일 에러가 발생했습니다. 현재 상황에서는 gstreamer최신 버전을 사용하고자 한다면, Buster OS 버전 혹은 64bit Bullseye 버전에서 gstreamer 소스 컴파일하라고 조언합니다. Buster 버전은 문제가 없을 것으로 생각되는데, 64bit Bullseye 테스트해보지 않아서 현재로서 된다 안된다고 말씀드릴 수는 없습니다. 그러나 패키지로 설치된 버전(1.18.4)을 사용할 경우 문제없이 작동했습니다. 1. gstreamer 최신 버전을 ..
안녕하세요. 에지 컴퓨팅이라고 해서 단말 장치에서 가까운 위치에서 컴퓨팅을 하는 것을 말합니다. 그래서 라즈베리 파이가 단말장치가 되고 여기서 컴퓨팅, 분석까지 하는 것으로 생각해서 OpenCV를 설치해서 분석을 해보려고 합니다. OpenCV 설치는 하단 을 따라 진행하였으며, OpenCV 4.5.4에서 에러가 났다고 글이 쓰여 있어서 그 상위 버전으로 테스트해 보았습니다. 그리고 Raspberry Pi OS는 Bullseye 32bit에서 초기화한 상태에서 내용 조금 수정하여 진행하였습니다. 만약 기존 버전이 설치되어 있다면 하단 을 참고해서 삭제 후 진행하시길 추천드립니다. 1. OpenCV 컴파일 전 필요한 패키지 설치 pi@raspberrypi:~ $ sudo apt update pi@raspbe..
안녕하세요. 라즈베리 파이를 사용하면서 여러 장치들 제어하기 위해서 메인 소스상에서 추가해서 사용했는데, 그것이 아니라 필요에 따라서 등록하고 해제해서 사용할 수 있도록 디바이스 드라이버 모듈로 만들어 보면 좋겠다 생각하였습니다. 그리고 외국분이 작업한 내용이 있어서 참조하면서, 확인해보도록 하겠습니다. 샘플 예제는 Raspberry Pi 3이지만 현재 작업하는 환경은 Raspberry Pi 4 bullseye 32bit에서 테스트 진행하였습니다. 참고로, 라즈베리 파이 전용 디바이스 드라이버라고 하기는 그렇고, 하드웨어 핀과 같은 특정 부분을 제외하면 리눅스 디바이스 드라이버라고 생각해도 될 것 같습니다. 1. 개발에 필요한 프로그램 설치 - 디바이스 드라이버 개발에 필요한 커널 헤더와 드라이버 소스를..
안녕하세요. 이번에 e4ds make 사이트에서 임베디드를 가지고 프로젝트하는 것이 있어서 참여해보았습니다. 사실 가지고 있는 부품으로 무엇을 만들어볼까 하면서 미루고 있다가 참여하면 뭐라도 하겠지라는 생각에 참여하였습니다. 그리고 무료로 받은 Arm 보드도 있는데 이것은 별도로 제어하는 내용을 올려보도로 하겠습니다. 콘테스트 정보를 간략하게 보면 아래와 같습니다. 규모는 크지 않고, 작게 행사를 진행하며 자신이 하고자 하는 프로젝트의 한 부분을 테스트한다고 생각해서 참여해보아도 좋지 않을까 합니다. 내용은 사이트에 가져온 내용을 올려보았습니다. 1. 콘테스트 정보 콘테스트 형식 : 퀘스트 형 콘테스트 명 : Show me the 띵’s : 헬스케어 (Healthcare) 참가자 모집 기간 : 2022년..
안녕하세요. 라즈베리 파이 4 Micro SD Card 버전보다는 CM4 eMMC 모듈 버전이 좀 더 안정적이고 빠르다고 생각되어 CM4 I/O 보드로 카메라 동작 테스트를 하였습니다. 그런데, 현재 라즈베리 파이 OS와 보드에 따라서 차이가 있었습니다. 1. 테스트한 H/W 제품 - CM4 eMMC 16GB 모듈, 210406CM4_TinyHDMI I/O 보드, CM4-IO-BASE-B(waveshare) 보드, 파이캠(OV5647) 2. 테스트한 OS - 2022-04-04-raspios-buster 32bit , 2022-04-04-raspios-bullseys 32bit - OS가 Debian 10(buster)에서 Debian 11(bullseye)로 업그레이드되면서 커널, 패키지, 암호 보안,..
안녕하세요. 라즈베리 파이 프로그램에서 쓰레드를 2개 이상 사용할 경우 쓰레드 간에 데이터를 주고받아야 하는 경우가 있습니다. 혹은 인터럽트 처리를 중 값을 전달해야 할 경우도 있습니다. 단순한 장난감 자동차를 예를 들어 개발한 한다고 했을 경우, 핸들 조작을 감지하는 쓰레드와, 앞뒤를 감지하는 센서 인터럽트 쓰레드가 필요하고, 이 조작에 따라 모터가 동작하는 쓰레드가 필요하다고 가정합니다. 이럴 경우 쓰레드 간에 메시지를 주고받아야 하는 경우에 메시지 큐를 통해 주고받을 수 있습니다. 대략적은 그림으로 표현하자면 다음과 같습니다. 1. 소스 확인 - Queue, Thread 호출에 필요한 라이브러리를 import 합니다. - Queue 크기를 설정해서 메모리에 초기화합니다. - Queue에 데이터를 넣..
안녕하세요. hdt11 온도, 습도 센서를 아두이노에서 다루어 보았는데, Raspberry Pi Pico에서도 테스트를 해보자 생각이 들었습니다. Python으로 된 온도와 습도를 가져오는 부분의 소스 설명은 많이 있지만, 실제적으로 hdt11에 1 wire 통신 쪽을 설명해주는 자료는 많이 없어서 간단하게 Datasheet 보면서 python으로 된 소스를 확인해보았습니다. 1. hdt11 연결 - 핀 설명 : SIG 핀, VCC(3~5.5V), GND 핀으로 구성되어 있으며 hdt11 모듈 자체로 구매하면 SIG 핀 Pull-Up 저항을 부착할 것을 권하고 있습니다. 작은 모듈 타입으로 된 것을 구매하면 저항 붙여서 3핀으로 되어있습니다. - Raspberry Pi Pico - hdt11 3V3 - ..
안녕하세요 Raspberry Pi Zero 2 W는 onboard antenna로 사용하고 있습니다. 그래서 박스 안에 넣거나 하면 수신감도가 확 떨어지는 것을 알 수 있습니다. 그래서 생각한 것이 외부로 안테나로 돌출시키면 수신도 되고 성능도 개선될 것이라고 생각하고 작업해보았습니다. 유튜브나 참고사이트를 보면 배선 패턴을 잘라내고 작은 저항과 U.FL 커넥터를 붙이도록 되어 있는데 일반인이 하기는 쉽지도 않을뿐더러 돋보기, 플럭스(Flux) 등 구비하고 있어야 작업이 가능해 보였습니다. 그래서 포기할까 하다가 똑같이 하지는 않고 간단한 방법으로 조금 다르게 시도해보았습니다. 1. 작업에 필요한 부품 - 0.4mm 납(얇을수록 좋음), U.FL Connector(U.FL-R-SMT-1(40)), PCB..
안녕하세요. 라즈베리 파이 제로 W를 사용해본 결과 UI 프로그래밍 하기는 힘들다는 생각이 들었습니다. 그리고 OpenCV 컴파일 시간 등 작업하는 시간이 오래 걸려서 간단한 CCTV 모니터링 정도로 사용할 수 있을 것으로 보였습니다. 즉, 화면 출력하려면 해상도를 낮추어서 작업을 하는 것에 적합하다고 생각됩니다. 최근에 향상된 Zero 2 W 버전이 나왔다고 해서 확인해보았습니다. 라즈베리파이 사이트에서는 15달러라고 컴퓨터라고 말하고 있지만, 지금 반도체 대란으로 국내에서 구하기 힘들고 지금 시점에 구매하려면 외국에서 원래 가격에 몇 배를 주고 구매해야 합니다. 1. Raspberry Pi Zero 2 W Specification 2. 제품 구성 - 보드만 구매하면 발열로 인해 성능 저하가 생길 것 ..
안녕하세요. 현재 많이 사용하고 있는 라즈베리 파이는 eMMC가 없는 Micro SD card 형태를 가지고 있습니다. 그래서 나온 버전 중에 하나가 CM4(Compute Module)이라는 것이 있습니다. 모듈 자체에 WiFi와 eMMC가 장착된 버전입니다. 필요에 따라 Lite 버전이라고 해서 WiFi, eMMC도 제거된 버전도 있습니다. 현시점에서는 CM 버전도 국내에서는 판매하지 않았습니다. 그래서 해외사이트에서 구매해야 했고, 반도체 문제로 인해서 eMMC 용량에 따라 재고도 확실치 않았습니다. 그래서 구매하려면 재고 문의하시고 구매를 진행하셔야 합니다. 1. CM4 Part Number 구별 - 방열판(Heatsink) 부착 전에 간단한 지식 하나 보고 넘어가겠습니다. CM4 모듈 구매 시 확..
안녕하세요. 전자책(ebook)을 가지고 있어서 e-paper 대해서는 알고 있지만, 라즈베리 파이에 연동해서 제어해본 적은 없고, 전원을 끄고도 텍스트를 입력한 글자가 남아 있을까 그리고 터치까지 된다고 하니 궁금해서 테스트해보았습니다. 1. 테스트 환경 - 이번에는 32bit 라즈베리 파이 OS 말고 64bit로 테스트해보았습니다. 앞으로 64bit 운영체제로 바꿔야 할 것 같아서 미리 테스트 삼아해 보았습니다. https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit - 외국 기사(하단 참조 사이트 링크)를 보면 64bit OS로 사용할 경우 성능 향상이 되었다고 나와있어서 한번 경험해보고 싶었습니다. 그리고 기존의..
안녕하세요. 라즈베리파이에 카메라를 장착해서 다른 사람들에게 스트리밍 하려면 몇 가지 방법이 있는데, 그중 한 가지가 RTSP라는 프로토콜로 스트리밍 하는 것입니다. 이전에 MJPEG로 웹상 스트리밍 하는 것도 해보았지만, 품질과 제어 관점에서는 좋지 못했습니다. 그래서 향후 영상을 스트리밍 하기 위해서 테스트로 설치해보았습니다. 1. RTSP 프로토콜이란? 실시간 스트리밍 프로토콜(Real Time Streaming Protocol, RTSP)은 스트리밍 미디어 서버를 제어할 목적으로 엔터테인먼트, 통신 시스템에 사용하도록 설계된 네트워크 제어 프로토콜이다. 이 프로토콜은 종단점(end point)들 간에 미디어 세션을 확립하고 제어하기 위해 사용된다. 미디어 서버의 클라이언트들은 play, recor..