임베디드 관련 카테고리/Embedded System17 JAX에 대해 알아보자 GPU 가속 + 자동 미분의 끝판왕, 그리고 NumPy와의 완벽한 호환성 🧠 JAX란?JAX는 NumPy와 같은 API를 제공하면서 GPU 가속과 자동 미분 기능까지 지원하는 차세대 수학 라이브러리입니다.요약하자면,NumPy + Autograd + XLA = JAX🧩 JAX의 주요 기능기능설명jnp (JAX NumPy)NumPy와 거의 동일한 문법으로 GPU 연산 가능grad()함수의 도함수를 자동으로 구함 (Autograd)jit()연산을 Just-In-Time 컴파일하여 속도 향상vmap()벡터화 자동 처리 (for문 없이도 여러 입력 처리)GPU/TPU 가속코드 수정 없이 자동으로 GPU에서 연산 실행⚙️ 설치 방법기본 설치 (CPU만):pip install jax jaxlibGPU 사용 환경 .. 임베디드 관련 카테고리/Embedded System 2025. 4. 8. PyCUDA란 무엇인가? Python으로 GPU를 직접 다루는 법, 쉽고 강력하게! 🧠 PyCUDA란?PyCUDA는 CUDA(C++) 코드를 Python에서 작성하고 실행할 수 있게 해주는 라이브러리입니다.즉,Python + GPU + 병렬 처리 = PyCUDAPyCUDA는 다음과 같은 강점을 가지고 있어요:장점설명CUDA 커널 직접 작성 가능고성능 커스터마이징 가능NumPy와 자연스럽게 연동데이터를 GPU로 넘기기 쉬움빠른 컴파일과 실행런타임에 CUDA 코드를 컴파일GPU 메모리 직접 제어최적화에 용이함⚙️ 설치 방법pip install pycuda💡 설치 전에 CUDA Toolkit이 설치되어 있어야 합니다.nvcc --version으로 확인해보세요!🧪 PyCUDA 기본 예제: 벡터 덧셈이제 간단한 GPU 연산 예제를 .. 임베디드 관련 카테고리/Embedded System 2025. 4. 7. NumPy란 무엇인가? GPU 연산 전에 꼭 알아야 할 파이썬 수학 연산의 기본기👋 시작하며“GPU 연산? CUDA? PyCUDA? JAX?”이런 단어들이 눈에 띄기 시작했다면,그 전에 먼저 NumPy를 제대로 이해하는 것이 아주 중요합니다.오늘은 수치 연산의 기본기이자,GPU 연산의 출발점이라고 할 수 있는 NumPy를예제 중심으로 쉽고, 빠르게 이해해보겠습니다.🧩 NumPy란?**NumPy(Numerical Python)**는 과학 계산에 특화된 파이썬 라이브러리입니다.특히 배열 연산, 선형대수, 통계 처리 등에서 많이 쓰여요.간단히 말해서:"파이썬을 수학 계산용 언어로 만들어주는 도구"💡 NumPy를 쓰면 뭐가 좋을까?기능설명고성능 다차원 배열ndarray라는 타입을 사용브로드캐스팅 지원크기가 다른 배열 간 연산 자.. 임베디드 관련 카테고리/Embedded System 2025. 4. 7. UART 포트와 케이블 종류 및 차이점 정리 UART(Universal Asynchronous Receiver-Transmitter)는 임베디드 시스템, MCU(마이크로컨트롤러), SBC(싱글보드 컴퓨터), 산업 장비 등에서 직렬 통신을 위한 핵심적인 인터페이스다.이번 글에서는 UART 포트와 케이블의 종류 및 차이점을 정리하고, 실전에서 어떻게 활용할 수 있는지 알아보겠다.🔹 1. UART 포트의 종류와 명칭UART 포트는 직렬 통신을 위한 하드웨어 인터페이스로, 전압 레벨과 사용 환경에 따라 여러 종류가 있다.✅ 주요 UART 포트 종류 및 비교명칭설명사용 예시UART 포트기본적인 UART 기반의 직렬 통신 포트TX/RX 핀, UART Header, UART Serial PortTTL 시리얼 포트로직 레벨이 3.3V 또는 5V인 UART 포트.. 임베디드 관련 카테고리/Embedded System 2025. 3. 1. [DTED] GNSS와 GPS의 차이점, 활용 사례, 그리고 정확도 보정 기술 📌 GNSS와 GPS란?GPS라는 단어는 익숙하지만, 사실 GPS는 GNSS(Global Navigation Satellite System, 전 세계 위성 항법 시스템)의 한 종류일 뿐이다.즉, GPS는 미국이 운영하는 위성 항법 시스템이고, GNSS는 여러 국가의 위성 시스템을 포함하는 더 넓은 개념이다.1️⃣ GNSS와 GPS의 차이점구분GNSS (Global Navigation Satellite System)GPS (Global Positioning System)정의전 세계 위성 항법 시스템의 총칭미국이 운영하는 GNSS의 한 종류운영국미국, 러시아, 유럽, 중국, 일본, 인도 등미국대표 시스템GPS, GLONASS, Galileo, BeiDou 등 포함GPS만 해당특징다양한 위성을 활용하여 정확.. 임베디드 관련 카테고리/Embedded System 2025. 2. 6. QGroundControl 소스코드와 시스템 아키텍처: 동작 원리와 아키텍처 차이에 따른 문제 해결 드론 제어 프로그램 **QGroundControl(QGC)**은 다양한 드론 및 UAV(Unmanned Aerial Vehicle)와 통신하는 Ground Control Station(GCS) 소프트웨어입니다. 이 글에서는 QGC의 소스 코드가 시스템 아키텍처에서 어떻게 작동하는지, 그리고 왜 특정 아키텍처에서 실행되지 않는지에 대해 시스템 아키텍처 관점에서 상세히 알아보겠습니다.QGroundControl의 기본 구조QGroundControl은 입출력 장치, 프로토콜, 운영 체제와 긴밀하게 통합되어 동작합니다. 주요 구성 요소는 다음과 같습니다.1. 입출력 장치와 프로토콜QGC는 드론과 통신하기 위해 다양한 입출력 장치와 프로토콜을 사용합니다:입출력 장치(I/O):시리얼 포트 (예: /dev/ttyUSB.. 임베디드 관련 카테고리/Embedded System 2025. 1. 22. 프레임워크, 라이브러리, 패키지의 차이점 소프트웨어 개발을 시작하다 보면, 프레임워크, 라이브러리, 그리고 패키지라는 용어를 자주 접하게 됩니다. 이 글에서는 이 세 가지의 차이점을 쉽게 이해할 수 있도록 설명하겠습니다.1. 프레임워크 (Framework)정의프레임워크는 소프트웨어 개발을 위한 구조와 규칙을 제공하는 틀입니다. 개발자는 이 틀 안에서 코드를 작성하며, 프레임워크가 애플리케이션의 전체적인 흐름을 제어합니다.특징흐름 제어: 프레임워크는 애플리케이션 실행의 주도권을 가집니다. 개발자는 특정 규칙을 따라 필요한 부분만 구현합니다.규칙 기반: 프레임워크는 개발 과정에서 따라야 할 규칙과 관례(Convention)를 정의합니다.재사용성: 일반적으로 자주 사용되는 기능들이 포함되어 있어, 빠르고 효율적인 개발이 가능합니다.예시Django (.. 임베디드 관련 카테고리/Embedded System 2025. 1. 13. GStreamer를 사용한 TX2에서 Windows PC로 RTSP-TCP 통신 영상 송출 가이드 이번 글에서는 NVIDIA TX2에서 Windows 10 PC로 GStreamer를 활용하여 RTSP-TCP 방식으로 영상을 송출하고, PC에서 수신하는 방법을 다룹니다. 초보 개발자도 이해하기 쉽도록 하나씩 차근차근 설명하겠습니다.1. 개요GStreamer란?GStreamer는 다양한 멀티미디어 애플리케이션을 구축할 수 있는 프레임워크로, 영상 처리와 스트리밍을 효율적으로 처리할 수 있는 도구입니다.이번 설정에서는:**TX2 (Ubuntu)**에서 USB 카메라 영상을 인코딩하여 RTSP-TCP 방식으로 송출.Windows 10에서 GStreamer를 이용해 영상을 수신하여 재생.2. 준비물NVIDIA TX2 개발 보드 (Ubuntu OS).Windows 10 PC.GStreamer 설치 (각 운영체제.. 임베디드 관련 카테고리/Embedded System 2024. 12. 3. 스트리밍 프로토콜 비교: HLS, DASH, RTP, RTMP, WebRTC 영상 스트리밍 서비스를 구축할 때, 어떤 스트리밍 프로토콜을 선택해야 할지 고민이 많으셨죠? 이 글에서는 가장 널리 사용되는 HLS, DASH, RTP, RTMP, WebRTC의 특징, 장단점, 그리고 어떤 상황에 적합한지를 비교해보겠습니다. 마지막에는 한눈에 볼 수 있는 표로 정리했으니 참고해보세요!1. HLS (HTTP Live Streaming)HLS는 애플(Apple)이 개발한 HTTP 기반 스트리밍 프로토콜로, **VOD(주문형 비디오)**와 라이브 스트리밍에서 널리 사용됩니다. 동영상을 짧은 세그먼트로 나누어 HTTP를 통해 전송하기 때문에, 네트워크 상태에 따라 품질을 동적으로 조정(적응형 비트레이트, ABR)할 수 있습니다.특징:HTTP 기반으로 네트워크 제약이 적고, 방화벽을 우회하기 쉽.. 임베디드 관련 카테고리/Embedded System 2024. 11. 27. gRPC와 Protobuf, JSON을 이용한 효율적인 데이터 통신 방법 1. gRPC란 무엇인가?gRPC는 구글에서 개발한 원격 프로시저 호출(Remote Procedure Call, RPC) 프레임워크입니다. 서로 다른 시스템이 네트워크를 통해 통신할 때 마치 함수 호출하듯이 데이터를 주고받을 수 있도록 도와줍니다.📌 gRPC의 주요 특징빠르고 효율적: HTTP/2 기반으로 멀티플렉싱과 스트리밍이 가능합니다.다양한 언어 지원: Python, C++, Java, Go 등 여러 언어에서 사용 가능합니다.양방향 통신 지원: 클라이언트와 서버 간에 스트리밍으로 데이터 송수신이 가능합니다.Protocol Buffers 사용: 데이터를 효율적으로 직렬화하여 전송합니다.2. Protocol Buffers(Protobuf)란?Protobuf는 구글이 만든 직렬화(Serializatio.. 임베디드 관련 카테고리/Embedded System 2024. 10. 27. ESP32, Zigbee, BLE: 다양한 무선 통신 기술과 활용 방법 IoT 프로젝트를 위한 무선 통신 기술 선택하기무선 통신 기술은 IoT(사물인터넷) 디바이스와 임베디드 시스템의 중요한 요소입니다. 여러 상황에 따라 각기 다른 통신 방식이 필요합니다. 이번 포스팅에서는 ESP32, Zigbee, **BLE(Bluetooth Low Energy)**의 특징과 적합한 활용 방법을 소개합니다. 각 기술의 장단점과 사용 사례를 비교해, 여러분의 프로젝트에 가장 적합한 솔루션을 선택하는 데 도움을 드리겠습니다.ESP32: Wi-Fi와 BLE를 지원하는 강력한 마이크로컨트롤러ESP32는 Espressif Systems에서 개발한 고성능 마이크로컨트롤러로, Wi-Fi와 **Bluetooth(BLE 포함)**를 모두 지원합니다.주로 스마트 홈이나 IoT 센서 네트워크에서 사용되며, .. 임베디드 관련 카테고리/Embedded System 2024. 10. 16. 아두이노와 Mission Planner를 이용한 윈치 제어 방법 1. 아두이노에 윈치를 연결하고 코드 업로드하기**아두이노(Arduino)**는 직렬 통신을 통해 외부 장치를 제어할 수 있는 매우 유용한 마이크로컨트롤러입니다. 여기서는 **서보 모터(윈치)**를 아두이노에 연결하고, 직렬 통신을 통해 PC에서 명령을 전송하여 윈치를 제어하는 방법을 설명하겠습니다.1-1. 아두이노와 서보 모터(윈치) 연결아두이노 핀: 서보 모터의 제어 신호 핀을 아두이노의 디지털 핀(예: 9번 핀)에 연결합니다.서보 모터 전원: 서보 모터의 VCC(전원)와 GND(접지) 핀을 아두이노에 연결합니다.1-2. 아두이노 코드 작성 및 업로드서보 모터를 제어하는 간단한 코드를 아두이노에 업로드합니다. 이 코드는 직렬 통신으로 명령을 받아 서보 모터의 위치를 조정합니다.#include Serv.. 임베디드 관련 카테고리/Embedded System 2024. 10. 7. 이전 1 2 다음 728x90 반응형