전체 글296 NCP 서버와 TX2를 활용한 REST API 데이터 전송 및 저장 이번 글에서는 NCP 서버와 TX2를 이용하여 REST API를 통해 데이터를 MySQL 데이터베이스에 저장하는 방법을 소개합니다. Flask를 이용해 API를 구현하고, TX2에서 데이터를 전송하며, Docker Compose를 통해 모든 서비스를 컨테이너화하여 효율적으로 관리할 수 있도록 구성해보겠습니다.구현 개요NCP 서버Flask 기반의 REST API를 만듭니다.API는 데이터를 받아서 MySQL 테이블에 하나씩 저장합니다.TX2데이터를 하나씩 REST API로 보내는 스크립트를 작성합니다.프로젝트 디렉토리 구조project-directory/│├── docker-compose.yml # Docker Compose 설정 파일 (루트 디렉토리)├── flask-api/ .. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 12. 16. NCP 서버에서 Docker로 MySQL 설정 및 테스트하기 이번 포스팅에서는 **Naver Cloud Platform(NCP)**의 우분투 서버에 Docker와 MySQL을 설치하고, 외부에서 MySQL Workbench로 접속하여 데이터베이스를 테스트하는 방법을 단계별로 안내해 드리겠습니다.1단계: NCP 서버 설정 및 Docker 설치1.1 NCP 서버에 SSH 접속하기먼저, NCP에서 제공하는 공인 IP 주소를 사용해 SSH로 접속합니다.ssh ncloud@[서버 IP 주소]Putty나 MobaXterm 같은 프로그램을 사용해서 원격 접속해도 됩니다.1.2 Docker 및 Docker Compose 설치Docker 설치sudo apt updatesudo apt install -y docker.ioDocker Compose 설치sudo apt install .. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 12. 16. MQTT Explorer를 사용하여 NCP 서버의 신호 확인하기 MQTT Explorer는 MQTT 통신을 시각적으로 확인하고, 주제를 구독하거나 메시지를 발행할 수 있는 강력한 도구입니다. 아래는 MQTT Explorer를 사용하여 NCP 서버에서 브로커 역할을 테스트하는 방법입니다.1. MQTT Explorer 설치Windows 또는 macOSMQTT Explorer 공식 웹사이트에서 최신 버전을 다운로드합니다.설치 프로그램을 실행하고 지시에 따라 설치를 완료합니다.LinuxLinux에서는 Snap을 통해 설치할 수 있습니다:sudo snap install mqtt-explorer2. MQTT Explorer 연결 설정MQTT Explorer를 실행합니다.Connections 창에서 New Connection 버튼을 클릭합니다.아래 정보를 입력합니다:Name: N.. 임베디드 관련 카테고리/프로토콜 2024. 12. 15. Docker를 활용한 Mosquitto 브로커 설정 및 TLS 보안 적용 MQTT 브로커를 Docker로 실행하고 TLS 보안을 설정하는 과정을 소개합니다. 이 글에서는 Mosquitto 브로커를 Docker 컨테이너로 실행하며, TLS 보안을 적용하여 안전한 MQTT 통신을 구성하는 방법을 다룹니다. 이전 문서 'MQTT TLS/SSL 인증 및 설정 가이드'를 참고해주세요.1. Docker로 Mosquitto 브로커 실행NCP 서버에서 Mosquitto 브로커를 Docker로 실행하여 TLS 보안을 설정합니다.1-1. Docker 설치 확인먼저 NCP 서버에 Docker가 설치되어 있는지 확인하세요:docker --version설치되어 있지 않다면, 아래 명령어를 사용해 Docker를 설치하세요:sudo apt updatesudo apt install docker.io -y.. 임베디드 관련 카테고리/프로토콜 2024. 12. 15. RabbitMQ와 MQTT의 역할과 용도 [개요]안녕하세요. 오늘은 메시지 브로커(Message Broker) 기술인 RabbitMQ와 MQTT에 대해 쉽게 설명해보겠습니다. 이 두 기술은 보통 서버와 서버, 혹은 디바이스와 디바이스 사이에서 “메시지”를 주고받는 데 사용됩니다. 메시지를 빠르고 효율적으로 주고받게 함으로써, 서로 다른 시스템을 느슨하게 연결하고, 확장성을 높일 수 있죠.대표적인 예시로, 우리가 친구와 채팅을 나눌 때 메시지가 엄청나게 빠른 속도로 주고받아지거나, 수많은 IoT 센서들이 실시간으로 데이터를 전송할 때, 이 메시지 브로커들이 뒤에서 열일하고 있습니다.[RabbitMQ란?]RabbitMQ는 **AMQP(Advanced Message Queuing Protocol)**라는 표준 프로토콜 기반 메시지 브로커입니다. 쉽게.. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 12. 14. DNS, Zone, URL Path, 그리고 포트별 서비스 구분에 대한 완벽 가이드 1. DNS와 Zone의 개념DNS란 무엇인가?DNS(Domain Name System)는 도메인 이름(예: example.com)을 IP 주소(예: 192.168.1.1)로 변환하는 시스템입니다. 사람은 기억하기 쉬운 도메인 이름을 사용하고, 컴퓨터는 네트워크 통신을 위해 IP 주소를 사용하기 때문에 DNS는 인터넷의 필수 구성 요소입니다.Zone이란?Zone은 DNS에서 도메인 이름과 관련된 설정들을 관리하는 논리적인 단위입니다. 하나의 Zone은 특정 도메인과 관련된 **모든 DNS 레코드(A, CNAME 등)**를 포함합니다. 예를 들어:example.com이라는 Zone이 있다면, 이 Zone에는 다음과 같은 설정이 포함될 수 있습니다:A 레코드: 도메인을 IP 주소로 매핑.CNAME 레코드: .. 임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP) 2024. 12. 13. 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. 이전 1 2 3 4 5 ··· 25 다음 728x90 반응형