본문 바로가기

네트워크/MQTT

(5)
라즈베리 파이 OS 설치 라즈베리 파이란? 2012년 2월에 영국의 라즈베리 파이 재단에서 교육적인 목적으로 만든 SBC(싱글 보드 컴퓨터)이다. 라즈페리 파이에는 기본적으로 마이크로프로세서, 메모리,각종 I/O 장치(오디오, 비디오, 카메라, HDMI)등이 자체 내장 되어 있으며, 라즈베리 파이3 이상부터는 와이파이, 블루투스가 기본 내장되어 있다. 라즈베리 파이4는 micro HDMI를 2개 가지고 있다. 따라서 듀얼 모니터가 가능하고 USB 3.0 포트를 2개 지원한다. 뿐만 아니라 블루투스 5.0을 지원하고 전원부는 USB-C 타입을 지원한다. 램은 4GB까지 지원한다. GPIO : 디지털 값의 입력과 출력에 사용 USB 포트 : 마우스, 키보드, 무선 랜카드 등 USB 장치를 연결할 수 있는 USB 2.0 포트와 USB..
MQTT 개념 (2) MQTT 서비스 품질 MQTT 패킷 구조 MQTT 통신 형식 MQTT를 활용한 통신 연결 : 클라이언트가 CONNECT 메세지를 중개자에게 보냄으로써 시작 클라이언트만이 세션 시작 가능 클라이언트와 다른 클라이언트는 직접적으로 통신 불가능 브로커는 CONNECT 메세지에 항상 CONNACK 회신과 상태 코드로 응답 연결이 이뤄지면 개방된 채로 유지 MQTT 메세지 형식 CONNECT 형식 (클라이언트 - 서버) : 일반적인 CONNECT 메세지는 아래 내용이 포함됨 필드 요구 사항 설명 clientID 있음 클라이언트에 대한 서버 식별 클라이언트는 고유한 클라이언트 ID를 가짐 1~23 사이에서 UTF-8 byte 길이를 가짐 cleanSession 선택 사항 0 : 서버가 클라이언트를 통해 커뮤니케이션..
MQTT 개념 (1) MQTT는 MOM 구축 프로토콜 MOM(Message Orientated Middleware) 이란? 두 장치 사이의 통신이 배포된 메세지 대기열을 사용해 이뤄진다는 것 MQTT IP 기반 프로토콜의 목표 간단한 구축 서비스 품질 형식 제공 초경량 & 대역폭을 효율적으로 활용 데이터에 종속 X 지속적으로 세션 인지 보안 문제 처리 MQTT는 이와 같은 목표를 만족 표준 기구(mqtt.org)에서 정의하는 mqtt 프로토콜 "MQTT는 MQ 텔레메트리 전송(Telemetry Transport)을 의미한다. 매우 간편하면서도 가벼운 메세징 프로토콜인 발행/구독은 제약하의 장치와 대역폭이 좁고 레이턴시가 길거나 불안정한 네트워크를 위해 만들어졌다. 전송의 안정성과 어느 정도의 보장을 확보하려고 시도하는 동시에..
[MQTT] socket.gaierror: [Errno 11001] getaddrinfo failed 오류 1. 현재 환경github.com/gianluca2414/MQTT_SlowITe/tree/mainmqtt - slowite공격 실습 중에 slowite 공격을 cmd에서 실행시키려 할 때 에러 발생 2. Traceback (most recent call last): 에러프로그램 실행 중에 발생하는 에러 3. socket.gaierror: [Errno 11001] getaddrinfo failed 에러일반적으로 네트워크 연결을 시도할 때 발생하는 에러socket 라이브러리를 사용하려 할 때, 연결하고자 하는 ip 및 링크가 파이썬의 ip 및 링크와 매칭이 안될 때 생기는 에러 4. 해결pip list 확인 후 가장 최신  버전으로 update를 해주니 오류 해결
MQTT(1) - mqtt에 대해 & publisher와 subscriber간의 메세지 주고 받기 (mqtt의 오픈소스인 mosquitto를 윈도우 환경에서 cmd를 사용하여 mqtt 실습 진행) MQTT : message queue telemetry transport - queue : 자료구조의 큐, 대기줄 같은거 - telemetry : 원격 조종 발행(publish) - 구독(subscribe) 기반의 메세지를 송수신하는 프로토콜이다. 작은 코드 공간이 필요하거나 네트워크 대역폭이 제한되는 원격 통신을 위해 IoT와 같이 제한된 혹은 대규모 트래픽 전송을 위해 만들어진 프로토콜이다. 발행자(publisher)가 메세지를 보낼 때 구독자(subscriber)가 바로 받지 않고 broker를 통해 메세지를 전달받는다는 특징이 있다. 그리고 이때 보내는 메세지를 구분짓는데 이를 Topic이라고 부른다..