분류 전체보기302 MQTT TLS/SSL 인증 및 설정 가이드 MQTT 브로커를 사용하면서 TLS/SSL 인증을 설정하고, TX2에서 보안 연결을 성공시키는 과정을 정리하였습니다. OpenSSL을 활용해 키와 인증서를 생성하고, Mosquitto 브로커 설정을 완료한 뒤 TLS/SSL 통신을 성공적으로 테스트하는 방법과 주요 설정 사항을 다룹니다.TX2는 Nvidia board입니다. 라즈베리파이나 개인 PC에서 테스트해도 똑같은 결과가 나옵니다.브로커 서버는 NCP 서버나 AWS EC2서버로 테스트해주세요.1. 인증서 생성1.1 CA 인증서 생성CA 인증서를 생성하여 서버와 클라이언트 키를 발급합니다.openssl genrsa -out ca.key 2048openssl req -new -x509 -days 365 -keyout ca.key -out ca.crt -.. 임베디드 관련 카테고리/프로토콜 2024. 12. 12. Docker Engine, Docker Client, Docker Daemon 이해하기 도커는 컨테이너 기반 가상화 기술로, 애플리케이션의 배포 및 실행 환경을 간소화하는 데 널리 사용됩니다.도커의 핵심은 Docker Engine이며, 이를 구성하는 주요 요소로 Docker Client, Docker Daemon이 있습니다.이 글에서는 도커 엔진과 관련된 개념들을 쉽게 이해할 수 있도록 설명합니다.Docker Engine이란?Docker Engine은 도커의 핵심 소프트웨어로, 컨테이너를 빌드하고 실행하며 배포하는 기능을 제공합니다.마치 자동차의 엔진처럼 도커 엔진은 여러 구성 요소로 이루어진 모듈식 시스템입니다.Docker Engine은 다음과 같은 세 가지 주요 구성 요소로 나뉩니다:Docker Daemon도커의 백그라운드 작업자입니다.컨테이너를 빌드하고, 실행하며, 관리하는 핵심 프로.. 임베디드 관련 카테고리/Docker 2024. 12. 11. MQTT와 RabbitMQ 비교 및 이해 MQTT의 계층 위치MQTT(Message Queuing Telemetry Transport)는 OSI 7계층 모델에서 응용 계층(Application Layer)에 속하는 프로토콜입니다. HTTP 기반이 아니라, TCP 위에서 독자적인 프로토콜로 동작합니다. 즉, MQTT는 HTTP를 기반으로 한 것이 아니라, 별도의 응용 계층 프로토콜이라고 이해하시면 됩니다.MQTT 프로토콜 특징경량화된 프로토콜: MQTT는 TCP/IP 위에서 동작하는 퍼블리시/서브스크라이브(Publish/Subscribe) 메시징 프로토콜입니다. MQTT는 독립적인 프로토콜로, 이를 위해 MQTT 브로커(서버 역할)와 MQTT 클라이언트가 필요합니다.IoT에서 MQTT가 많이 사용되는 이유경량성메시지 헤더가 매우 단순하고 크기가 .. 임베디드 관련 카테고리/프로토콜 2024. 12. 11. VPC(가상 사설 클라우드), VPN(Virtual Private Network)의 관계 [개요]오늘은 VPC(Virtual Private Cloud)와 VPN(Virtual Private Network)에 대해 아주 쉽게 설명해보겠습니다.기존에 VPN을 해외 웹사이트 우회 접속용(브라우저 확장 프로그램) 정도로만 알고 계셨다면, 이 글을 통해 “회사 네트워크 환경에서의 VPN”과 “클라우드 상의 가상 사설망 VPC” 개념을 이해할 수 있을 것입니다.[VPN (가상 사설망)란?]직관적 비유회사 내부 네트워크는 “우리집”과 같습니다. 밖에서는 함부로 들어올 수 없는 사적 공간이죠.외부 인터넷은 “집 밖의 도로”입니다. 누구나 돌아다닐 수 있는 공개된 공간입니다.VPN은 “집 밖에서 우리집 내부로 들어가는 비밀 통로(가상의 전용선)”를 만들어줍니다.원래 회사 내부망에 접속하려면 사무실 건물 안에.. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 12. 10. GStreamer를 사용한 TX2 스트리밍 테스트 및 성능 최적화 가이드 NVIDIA TX2를 사용하여 GStreamer로 영상 스트리밍을 송출하고, 내부 네트워크에서 영상을 수신 및 실행하는 방법을 테스트했습니다. 특히, CPU와 GPU 기반 스트리밍 비교, 지연 시간 확인 방법, SPS/PPS 문제 해결 등을 포함한 성능 최적화 방법을 단계별로 정리했습니다. Gstreamer란, 멀티미디어 데이터를 처리하고 변환하는 데 사용되며, 동영상/오디오 추출, 화질 변경, 비트레이트 설정, 네트워크 전송 등을 모두 지원합니다. FFmpeg와 VLC와 비슷한 역할을 합니다.TX2란 Nvidia회사에서 만든 Jetson 운영체제(Ubuntu 기반) 임베디드 시스템 개발에서 널리 사용되는 보드입니다. 라즈베리 파이와 비슷한 용도이지만 가격 차이가 많이 나며 고성능입니다.1. TX2에서 .. 임베디드 관련 카테고리/Streaming 2024. 12. 9. Python으로 WebSocket 클라이언트-서버 통신 설정 및 SSL 인증 완벽 구현하기 1. 프로젝트 개요이번 포스팅에서는 Python으로 WebSocket 클라이언트와 서버를 구현하고, SSL 인증을 사용하여 보안을 강화하는 과정을 다룹니다. 특히 양방향 SSL 인증(서버와 클라이언트 모두 인증서를 사용하는 방식)을 설정하고 디버깅을 통해 문제를 해결하는 과정을 공유합니다.이 예제에서는 네이버 클라우드의 원격 서버를 활용하여 WebSocket 서버를 설정합니다. 인증서는 /home1/ncloud/certificates/ 경로에 저장되어 있습니다.2. 준비물Python 3.8 이상WebSocket 서버와 클라이언트를 구현합니다.Websockets 라이브러리WebSocket 통신에 사용됩니다. pip install websockets 명령어로 설치 가능합니다.OpenSSLSSL 인증서를 생성.. 임베디드 관련 카테고리/보안 2024. 12. 6. Ubuntu에서 Python 가상환경(venv) 설정 및 externally-managed-environment 에러 해결 1. 가상환경(venv)이란?Python 가상환경은 프로젝트마다 독립적인 패키지 설치 공간을 제공합니다. 이를 통해 서로 다른 프로젝트가 동일한 Python 패키지의 다른 버전을 사용하는 경우에도 충돌을 방지할 수 있습니다. 특히, 시스템 전체에 영향을 주지 않으므로 안전한 테스트 및 개발 환경을 구성할 수 있습니다.2. externally-managed-environment 에러란?Ubuntu와 같은 최신 리눅스 배포판에서는 Python 패키지 관리 정책이 강화되었습니다. 시스템 전역 패키지 충돌을 방지하기 위해 pip 명령으로 패키지를 설치하려고 하면 다음과 같은 에러가 발생할 수 있습니다:error: externally-managed-environment× This environment is ext.. 임베디드 관련 카테고리/Ubuntu 2024. 12. 5. CA 키와 인증서 생성하기: 신뢰 기반 인증서 발급의 첫걸음 1. CA 키와 인증서 생성하기CA 키와 인증서는 신뢰 기반 인증의 핵심입니다. OpenSSL을 사용하면 간단히 생성할 수 있습니다.CA 키 생성openssl genrsa -out ca.key 2048ca.key: CA의 개인 키 파일.2048: 키의 길이를 지정합니다. 일반적으로 2048 비트를 사용하며, 더 강한 보안을 원하면 4096 비트를 사용할 수도 있습니다.CA 인증서 생성openssl req -new -x509 -key ca.key -sha256 -days 3650 -out ca.crt-new: 새 인증 요청을 생성.-x509: 자체 서명(Self-signed) 인증서를 생성.-key ca.key: 위에서 생성한 CA 개인 키를 사용.-sha256: SHA256 해시 알고리즘 사용.-days.. 임베디드 관련 카테고리/보안 2024. 12. 5. 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. 네이버 클라우드 VPC 서버 구축 및 Init Script 테스트 이번 글에서는 **네이버 클라우드 플랫폼(Naver Cloud Platform, NCP)**을 활용해 VPC 서버를 생성하고, Init Script를 사용해 서버 공인 IP에 접속 시 특정 문구가 출력되는 과정을 다룹니다.이 글의 주요 목표는 다음과 같습니다:VPC 서버 생성 및 네트워크 설정 방법 이해Init Script를 설정하고 결과를 확인하기1. 네이버 클라우드 플랫폼 VPC 설정 시작하기1.1 네이버 클라우드 플랫폼 접속네이버 클라우드 플랫폼에 접속합니다.네이버 아이디로 로그인 후, 왼쪽 메뉴에서 "Service"를 선택합니다.Networking > VPC로 이동합니다.2. VPC와 서브넷 생성2.1 VPC 생성VPC 메뉴에서 "VPC 생성" 클릭VPC 이름: 생성할 VPC의 이름을 입력합니다... 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 11. 28. [네이버 클라우드 VPC: Network ACL 이해 및 설정 가이드] 이번 글에서는 네이버 클라우드 플랫폼(Naver Cloud Platform)에서 **Network ACL (Access Control List)**이 무엇인지, 그리고 어떻게 설정하고 활용할 수 있는지에 대해 알아보겠습니다. Network ACL은 네트워크 수준에서 트래픽을 제어하는 중요한 도구로, VPC 보안을 강화하는 데 필수적입니다.1. Network ACL이란?**Network ACL (Access Control List)**는 VPC 내 서브넷(Subnet) 단위로 트래픽을 제어하는 보안 규칙입니다. **인바운드(들어오는 트래픽)**와 아웃바운드(나가는 트래픽) 규칙을 설정해, 특정 IP 범위나 포트를 허용하거나 거부할 수 있습니다.2. Network ACL의 특징2.1 주요 특징서브넷 단위로 .. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 11. 28. 원격 서버 보안 규칙 설정(인바운드 규칙, 아웃바운드 규칙) 1. 인바운드 규칙(Inbound Rules)인바운드 규칙은 외부에서 서버로 들어오는 트래픽을 허용하거나 차단하는 규칙입니다.사용 목적외부 클라이언트(예: 로컬 PC, 다른 서버)가 서버로 접속할 수 있도록 설정.특정 서비스나 애플리케이션(예: SSH, HTTP/HTTPS)을 실행하기 위해 필요.예시프로토콜포트 번호소스 IP설명TCP220.0.0.0/0모든 IP에서 SSH 접속 허용TCP554192.168.1.0/24특정 IP 범위에서 RTSP 스트리밍 허용TCP800.0.0.0/0HTTP 웹 트래픽 허용 2. 아웃바운드 규칙(Outbound Rules)아웃바운드 규칙은 서버에서 외부로 나가는 트래픽을 허용하거나 차단하는 규칙입니다.사용 목적서버가 외부 서비스(예: 인터넷, 데이터베이스)에 접근할 수 있.. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 11. 27. 이전 1 2 3 4 5 6 ··· 26 다음 728x90 반응형