반응형

2025/04 76

타겟 보드별 크로스 컴파일 환경 구축

타겟 보드별 크로스 컴파일 환경 구축Buildroot는 다양한 임베디드 시스템을 위한 경량화된 루트 파일 시스템과 크로스 컴파일 환경을 제공하는 강력한 도구입니다. 이번 포스팅에서는 특정 타겟 보드에 맞는 크로스 컴파일 환경을 구축하는 방법에 대해 설명하겠습니다.1. 크로스 컴파일 개요크로스 컴파일(Cross Compilation)은 개발 환경(Host)과 실행 환경(Target)이 서로 다른 아키텍처를 가지는 경우, 개발 환경에서 타겟 환경에 맞는 실행 파일을 생성하는 과정입니다. 예를 들어, x86_64 기반의 PC에서 ARM Cortex-A 계열 프로세서를 사용하는 보드를 위한 바이너리를 빌드하려면 크로스 컴파일이 필요합니다.Buildroot는 내부 툴체인과 외부 툴체인을 모두 지원하며, 다양한 아..

Linux/buildroot 2025.04.16

ESP32 IDF 기반 AWS IoT 디바이스 구현

ESP32 IDF 기반 AWS IoT 디바이스 구현1. 개요ESP32는 저전력 Wi-Fi 및 Bluetooth 기능을 제공하는 강력한 MCU로, 다양한 IoT 애플리케이션에 적합합니다. AWS IoT Core와 연동하여 온도 센싱 데이터를 송수신하는 IoT 디바이스를 구현하는 것이 이번 포스팅의 목표입니다. 이를 위해 ESP-IDF와 AWS IoT Device SDK for Embedded C를 활용합니다.2. 프로젝트 개요본 프로젝트에서는 ESP32 디바이스가 온도를 측정하고, 이를 AWS IoT Core로 전송하는 시스템을 구현합니다. AWS IoT Core는 MQTT 프로토콜을 통해 데이터를 수집하며, IoT Device Shadow를 활용하여 원격에서 센싱 주기 및 디바이스 상태를 관리합니다.3...

AWS IoT 2025.04.15

Android의 주요 IPC 기법

Android의 주요 IPC 기법안드로이드는 다양한 프로세스 간 통신(IPC, Inter-Process Communication) 방식을 제공합니다. IPC는 서로 다른 프로세스에서 실행되는 구성 요소 간 데이터를 주고받거나 서비스를 호출할 수 있도록 해줍니다. 안드로이드의 주요 IPC 기법으로는 Broadcast, Service, Content Provider, AIDL 등이 있습니다. 이 글에서는 각각의 개념을 설명하고 AIDL을 활용한 IPC 방법을 AOSP 코드와 함께 살펴보겠습니다.1. 안드로이드의 주요 IPC 기법안드로이드에서 사용되는 주요 IPC 기법은 다음과 같습니다.1.1 BroadcastBroadcast는 하나의 애플리케이션이 여러 애플리케이션 또는 시스템에 이벤트를 전달할 때 사용됩니..

Android/Framework 2025.04.15

Buildroot에서 External Toolchain 설정 방법

Buildroot에서 External Toolchain 설정 방법Buildroot는 임베디드 리눅스 시스템을 위한 크로스 컴파일 환경을 자동화하는 강력한 도구입니다. 일반적으로 Buildroot는 내부 툴체인을 생성하여 사용하지만, 때로는 성능 향상이나 특정한 요구 사항을 충족하기 위해 외부 툴체인을 활용하는 것이 필요할 수 있습니다. 본 포스팅에서는 Buildroot에서 External Toolchain을 설정하는 방법을 자세히 설명하겠습니다.1. External Toolchain이란?외부 툴체인(External Toolchain)은 Buildroot가 직접 툴체인을 빌드하는 대신, 이미 존재하는 크로스 컴파일 툴체인을 사용하는 방식입니다. 이를 통해 빌드 시간을 줄이고, 검증된 툴체인을 활용할 수 있..

Linux/buildroot 2025.04.15

AI/ML을 활용한 이상 온도 감지 및 자동 대응

AI/ML을 활용한 이상 온도 감지 및 자동 대응1. 개요AWS IoT를 활용하면 IoT 디바이스에서 수집된 데이터를 클라우드에서 분석하고, 이상 감지가 발생했을 때 자동으로 대응할 수 있습니다. 특히 AI/ML을 적용하면 정상적인 패턴을 학습하고, 온도 센싱 데이터에서 이상 징후를 감지하는 자동화된 시스템을 구축할 수 있습니다.본 포스팅에서는 AWS IoT Device(ESP32 IDF 기반)에서 온도 데이터를 수집하고, AWS IoT 서버(Python 기반)에서 이를 분석하여 이상 온도를 감지한 후, 자동으로 대응하는 시스템을 구축하는 방법을 설명합니다.2. 시스템 아키텍처2.1 구성 요소AWS IoT Device (ESP32 IDF + AWS IoT Device SDK for Embedded C)온..

AWS IoT 2025.04.14

Application과 Framework의 관계

Application과 Framework의 관계Android 프레임워크는 애플리케이션이 운영 체제와 상호작용할 수 있도록 제공되는 중요한 계층입니다. Android 애플리케이션(Application)은 직접 커널이나 하드웨어를 다루지 않고, Android 프레임워크를 통해 시스템 리소스에 접근하게 됩니다. 즉, Android 프레임워크는 애플리케이션과 시스템의 중간 계층 역할을 수행하며, 애플리케이션이 운영 체제의 내부 구조를 몰라도 다양한 기능을 활용할 수 있도록 추상화된 API를 제공합니다.Android 시스템의 계층 구조Android 시스템은 여러 계층으로 구성되어 있으며, 일반적으로 다음과 같은 구조를 가집니다.애플리케이션(Application Layer): 사용자가 직접 실행하는 애플리케이션으로..

Android/Framework 2025.04.14

Buildroot의 내부 툴체인과 외부 툴체인 차이점

Buildroot의 내부 툴체인과 외부 툴체인 차이점1. 개요Buildroot는 임베디드 시스템을 위한 루트 파일 시스템을 손쉽게 생성할 수 있도록 지원하는 빌드 시스템입니다. 이를 통해 개발자는 크로스 컴파일 환경을 구축하고, 다양한 임베디드 보드에서 실행할 수 있는 커스텀 리눅스 시스템을 만들 수 있습니다. 이 과정에서 중요한 개념 중 하나가 툴체인(Toolchain)입니다. 툴체인은 컴파일러, 링커, 라이브러리 등으로 구성되며, 대상 아키텍처에서 실행할 바이너리를 생성하는 역할을 합니다. Buildroot에서는 내부 툴체인과 외부 툴체인을 지원하며, 이 두 가지 방식의 차이점을 이해하는 것이 중요합니다.본 포스팅에서는 Buildroot의 내부 툴체인과 외부 툴체인의 차이를 비교하고, 각 방식의 장단..

Linux/buildroot 2025.04.14

AWS QuickSight, Grafana를 활용한 실시간 데이터 시각화

AWS QuickSight, Grafana를 활용한 실시간 데이터 시각화1. 개요AWS IoT에서는 다양한 센서 데이터를 수집하고 처리할 수 있으며, 이러한 데이터를 실시간으로 분석하고 시각화하는 것은 매우 중요합니다. AWS QuickSight와 Grafana를 활용하면 AWS IoT Core에서 수집된 데이터를 효과적으로 시각화하고, 이상 감지 및 데이터 패턴을 쉽게 분석할 수 있습니다. 이번 포스팅에서는 AWS QuickSight와 Grafana를 활용하여 AWS IoT 데이터를 실시간으로 시각화하는 방법을 다루겠습니다.2. AWS IoT 데이터 시각화 개요2.1 AWS QuickSight 개요AWS QuickSight는 AWS에서 제공하는 비즈니스 인텔리전스(BI) 서비스로, 클라우드 기반 데이터..

AWS IoT 2025.04.13

Android Framework에서 새로운 시스템 서비스 추가 및 활용

Android Framework에서 새로운 시스템 서비스 추가 및 활용Android는 다양한 기능을 시스템 서비스(System Service) 형태로 제공하며, 개발자는 필요에 따라 새로운 시스템 서비스를 추가할 수 있습니다. 본 포스팅에서는 AOSP(Android Open Source Project) 환경에서 새로운 시스템 서비스를 추가하고 활용하는 방법에 대해 설명합니다.1. 시스템 서비스 개요Android의 시스템 서비스는 SystemServer에서 실행되며, 다양한 기능을 앱 및 다른 시스템 서비스에 제공합니다. 대표적인 시스템 서비스에는 ActivityManagerService, WindowManagerService, PackageManagerService 등이 있습니다. 새로운 기능을 추가하기..

Android/Framework 2025.04.13

Buildroot Init 스크립트 및 서비스 설정

Buildroot Init 스크립트 및 서비스 설정Buildroot를 활용하여 Root File System을 구성할 때, 시스템의 초기화 과정(init)과 서비스 관리 방법을 설정하는 것은 매우 중요합니다. Init 시스템은 부팅 과정에서 시스템을 초기화하고, 다양한 서비스 및 데몬을 실행하는 역할을 합니다. 이번 포스팅에서는 Buildroot 환경에서 Init 스크립트를 설정하고, 서비스 관리 방안을 적용하는 방법을 다루겠습니다.1. Init 시스템 개요Linux 기반 시스템에서는 대표적으로 다음과 같은 Init 시스템이 사용됩니다.SysVinit: 전통적인 Init 시스템으로, /etc/inittab을 이용하여 초기화 단계를 정의합니다.BusyBox init: 임베디드 시스템에서 많이 사용되는 경량..

Linux/buildroot 2025.04.13
반응형