반응형

2025/04 76

Android 디바이스 포팅

Android 디바이스 포팅Android를 새로운 디바이스에 포팅하는 과정은 상당히 복잡한 작업이며, 하드웨어 및 소프트웨어 스택에 대한 깊은 이해가 필요합니다. 본 글에서는 Android 디바이스 포팅 과정에서 중요한 단계인 BoardConfig 설정, Device Tree 구성, 커널 설정 등에 대해 설명하겠습니다. AOSP(Android Open Source Project) 코드와 함께 구체적인 설정 방법을 다루겠습니다.1. Android 디바이스 포팅 개요Android 디바이스 포팅은 일반적으로 다음과 같은 단계로 이루어집니다.AOSP 소스 코드 다운로드 및 빌드 환경 설정하드웨어 지원을 위한 BoardConfig 설정Device Tree 및 커널 구성부트로더 및 부팅 이미지 설정HAL 및 드라이..

Android/Framework 2025.04.20

Buildroot 패키지 빌드 및 디버깅

Buildroot 패키지 빌드 및 디버깅1. 개요Buildroot는 임베디드 시스템을 위한 루트 파일 시스템을 생성하는 강력한 도구이며, 다양한 패키지를 추가하고 커스터마이징할 수 있습니다. 그러나 패키지를 추가하는 과정에서 빌드 오류나 런타임 오류가 발생할 수 있으며, 이러한 문제를 효과적으로 해결하기 위해서는 적절한 빌드 및 디버깅 기법이 필요합니다.본 포스팅에서는 Buildroot에서 패키지를 빌드하는 과정과 빌드 오류 및 실행 오류를 디버깅하는 방법을 다룹니다.2. Buildroot에서 패키지 빌드 과정Buildroot에서 패키지가 빌드되는 과정은 다음과 같습니다.패치 적용: 패키지의 소스 코드에 필요한 패치가 적용됩니다.설정(Configuration) 적용: 해당 패키지의 설정이 .config ..

Linux/buildroot 2025.04.20

AOSP 소스 코드 수정 및 커스텀 기능 추가

AOSP 소스 코드 수정 및 커스텀 기능 추가Android Open Source Project(AOSP)는 오픈소스 기반으로 제공되며, 이를 통해 제조사나 개발자는 Android 시스템을 원하는 대로 수정하고 확장할 수 있습니다. 본 포스팅에서는 AOSP 소스를 수정하여 커스텀 기능을 추가하는 방법, SystemUI를 변경하는 방법, 그리고 Framework 코드를 수정 및 확장하는 방법에 대해 설명합니다.AOSP 소스 코드 다운로드 및 빌드 환경 설정AOSP 소스를 수정하기 전에 먼저 소스 코드를 다운로드하고 빌드 환경을 설정해야 합니다. 아래는 기본적인 AOSP 소스 다운로드 및 빌드 환경 설정 과정입니다.1. AOSP 소스 코드 다운로드mkdir aospcd aosprepo init -u https..

Android/Framework 2025.04.19

새로운 패키지 작성법 (.mk 파일 작성)

새로운 패키지 작성법 (.mk 파일 작성)Buildroot는 경량화된 임베디드 리눅스 시스템을 손쉽게 빌드할 수 있도록 도와주는 도구입니다. Buildroot의 강점 중 하나는 다양한 패키지를 손쉽게 추가하고 관리할 수 있다는 점입니다. 이번 글에서는 Buildroot에서 새로운 패키지를 작성하는 방법을 설명하고, 핵심 파일인 .mk 파일을 작성하는 과정을 예제와 함께 소개하겠습니다.1. Buildroot 패키지 구조 개요Buildroot에서 패키지는 package/ 디렉터리 아래에 위치합니다. 새로운 패키지를 추가하기 위해서는 해당 디렉터리에 새로운 패키지 폴더를 생성하고, 필요한 파일을 작성해야 합니다.새로운 패키지는 일반적으로 다음과 같은 파일들로 구성됩니다:Config.in : Kconfig 시스..

Linux/buildroot 2025.04.19

이상 온도 감지 시 AWS SNS를 통해 알림 전송

이상 온도 감지 시 AWS SNS를 통해 알림 전송이번 포스팅에서는 ESP32 기반의 온도 모니터링 시스템을 구축하고, 이상 온도 감지 시 AWS SNS(Simple Notification Service)를 통해 알림을 전송하는 방법에 대해 다루겠습니다. 이 시스템은 온도 센서를 통해 실시간으로 온도를 측정하고, 설정된 임계값을 초과하는 경우, AWS SNS를 통해 알림을 전송하는 방식으로 구현됩니다. 이번 실습에서는 AWS IoT Core와 SNS를 연동하여 이상 온도를 감지하면 알림을 받을 수 있도록 설정할 것입니다.1. 시스템 구성1.1. ESP32 디바이스ESP32는 온도 센서를 연결하여 온도를 측정하고, 해당 데이터를 AWS IoT Core로 전송하는 역할을 합니다. 이 예제에서는 DHT11 온..

AWS IoT 2025.04.17

AWS DynamoDB 및 Grafana를 이용한 실시간 온도 데이터 시각화

AWS DynamoDB 및 Grafana를 이용한 실시간 온도 데이터 시각화안녕하세요, '소프트웨어 공장' 블로그를 방문해주셔서 감사합니다. 이번 포스팅에서는 AWS IoT를 활용한 실시간 온도 모니터링 시스템 구축 프로젝트에서, AWS DynamoDB와 Grafana를 이용하여 온도 데이터를 실시간으로 시각화하는 방법에 대해 설명하겠습니다.이 프로젝트에서는 ESP32를 IoT 디바이스로 활용하여 온도 데이터를 수집하고, 이를 AWS IoT Core에 전송합니다. 서버에서는 Python을 사용하여 DynamoDB에 데이터를 저장하고, 그 데이터를 Grafana를 통해 실시간으로 시각화합니다.실시간 온도 데이터 흐름이 시스템의 전반적인 흐름은 아래와 같습니다:ESP32 디바이스: 온도 센서를 통해 데이터를..

AWS IoT 2025.04.17

AOSP 빌드 및 환경 설정

AOSP 빌드 및 환경 설정1. 개요Android Open Source Project(AOSP)는 안드로이드 운영체제의 소스 코드로, 누구나 다운로드하여 빌드 및 커스터마이징할 수 있습니다. 본 글에서는 AOSP 소스코드를 다운로드하고 빌드하는 과정, 그리고 빌드 후 생성된 시스템 이미지를 기기에 플래싱하는 방법을 설명합니다.2. AOSP 빌드를 위한 환경 설정AOSP를 빌드하기 위해서는 적절한 빌드 환경을 갖추어야 합니다. 공식적으로 지원되는 OS는 Ubuntu 및 Debian 계열이며, 최신 버전의 빌드를 위해서는 Ubuntu 20.04 또는 22.04를 권장합니다.2.1 필수 패키지 설치AOSP 빌드를 위해서는 여러 개발 도구가 필요합니다. 다음 명령어를 실행하여 필수 패키지를 설치할 수 있습니다...

Android/Framework 2025.04.17

Buildroot에서 패키지 추가하는 방법 (package/ 디렉터리 활용)

Buildroot에서 패키지 추가하는 방법 (package/ 디렉터리 활용)Buildroot는 임베디드 리눅스 시스템을 위한 크로스 컴파일 환경을 제공하는 도구로, 필요한 소프트웨어 패키지를 쉽게 빌드할 수 있도록 구성되어 있습니다. Buildroot에서 특정 애플리케이션이나 라이브러리를 추가하려면 package/ 디렉터리를 활용하여 새로운 패키지를 정의해야 합니다. 이 글에서는 Buildroot에서 패키지를 추가하는 방법을 상세히 설명합니다.1. Buildroot 패키지 시스템 개요Buildroot에서 패키지는 package/ 디렉터리 아래에 위치하며, 각각의 패키지는 독립적인 디렉터리를 가집니다. 각 패키지는 다음과 같은 주요 파일을 포함해야 합니다:Config.in: Kconfig 형식으로 패키지 ..

Linux/buildroot 2025.04.17

AWS IoT Core 및 Lambda를 이용한 데이터 처리

AWS IoT Core 및 Lambda를 이용한 데이터 처리1. 개요IoT 시스템에서는 센서 데이터의 실시간 처리와 저장이 중요합니다. AWS IoT Core와 AWS Lambda를 활용하면 클라우드에서 데이터를 효율적으로 처리할 수 있습니다. 본 포스팅에서는 AWS IoT Core를 이용해 ESP32 IoT 디바이스에서 전송된 온도 데이터를 수집하고, AWS Lambda를 이용해 데이터를 가공 및 저장하는 방법을 설명합니다.2. 시스템 개요본 프로젝트는 다음과 같은 구성으로 이루어집니다.AWS IoT Device (ESP32): 온도 데이터를 측정하여 AWS IoT Core로 전송AWS IoT Core: MQTT를 통해 데이터를 수신AWS Lambda: AWS IoT Core에서 전달된 데이터를 처리하..

AWS IoT 2025.04.16

System API 접근 및 확장

System API 접근 및 확장Android Framework는 다양한 API를 제공하며, 이 중 일부는 공식적으로 공개되지 않은 System API로 분류됩니다. 이러한 System API는 기본적으로 일반 애플리케이션에서는 접근할 수 없도록 제한되지만, 특정 조건을 만족할 경우 활용할 수 있습니다. 이번 포스팅에서는 System API 접근 방법과 이를 활용한 기능 확장, 숨겨진 API 접근 방법, 그리고 커스텀 System API를 추가하는 방법에 대해 설명하겠습니다.1. 숨겨진 API 접근 방법 (Hidden API)Android에서는 일부 API가 공식적으로 숨겨져 있으며, 이러한 API를 Hidden API라고 부릅니다. 일반적으로 SDK에서 제공하는 API만 사용할 수 있지만, Hidden..

Android/Framework 2025.04.16
반응형