
mqtt 프로토콜을 읽다보면 Qos Level이 나오는데, 아래의 그림이 가장 잘 설명하고 있다. 정리해보면, 레벨 0은 메시지를 잃을 수 있다. 레벨 2는 메시지를 정확하게 1회만 받는데, 너무 통신을 많이 해야해서..현실적으로 사용하기 어려워보이고, AWS에서도 지원을 안한다. 결국 선택은 레벨 1 밖에는 없다. 레벨 1의 단점은 같은 메시지를 2회 받을 수 있다는 점이다. -> 메시지를 설계할 때, 명령을 받는게 아니라 상태를 받게 하고 같은 메시지가 2회 오면 업데이트를 하지 않도록 해야겠다. ex) volum up (x) , volume 17(ok)
1. 상호 인증을 위해서는 우선 인증서 세트가 필요하다. RootCA인증서 (CA.crt) / 서버용 키(Server.key) /서버용 인증서 (Server.crt) / 클라이언트 키 (Client.key) / 클라이언트 인증서(Client.crt) 매우 중요한 사항 : 서버용 인증서의 CN(Common Name) 은 도메인주소(IP)를 적어야 한다. windows에서 테스트로 돌린다면 localhost 로 적자. 2. mosquitto.conf 서버 설정 파일 수정 listener 8884 cafile D:\OpenSSL\bin\ca.crt certfile D:\OpenSSL\bin\server.crt keyfile D:\OpenSSL\bin\server.key require_certificate tr..
0. windows 10 으로 테스트한다면 아래의 디렉터리에 가면 Openssl이 깔려 있다. 아니면 사이트를 뒤져서 깔아보자..... C:\Program Files\Git\usr\bin 1. CA 인증서 생성 openssl genrsa -des3 -out ca.key 2048 openssl req -new -x509 -days 1826 -key ca.key -out ca.crt root CA 인증서를 생성하고 셀프 사인을 했다 ca.crt 파일이 public key와 정보라고 보면 된다. 이제 이 public key로 다른 서버의 인증서를 암호화하자 2. server 인증서 생성 openssl genrsa -out server.key 2048 openssl req -new -out server.csr ..
-> 공개키 방식은 받는 쪽에서 공개키를 가지고 암호화해서 내가 풀어내는 것이고, -> 전자서명은 내가 Data와 공개키를 제공 해서 받는 쪽에서 해당 공개키로 풀어냄으로써 공개키에 대한 개인키를 갖고 있는 사람임을 인증하는 것이다. 공개키 방식 비공개키는 자신만이 가지고 있고, 공개키를 타인에게 제공한다. 공개키를 제공받은 타인은 공개키를 이용해서 정보를 암호화한다. 암호화한 정보를 비 공개키를 가지고 있는 사람에게 전송한다. 비공개 키의 소유자는 이 키를 이용해서 암호화된 정보를 복호화한다. 이 과정에서 공개키가 유출된다고 해도 비 공개키를 모르면 정보를 복호화할 수 없기 때문에 안전하다. 공개키로는 암호화는 할 수 있지만 복호화는 할 수 없기 때문이다. 전자 서명 비공개키의 소유자는 비 공개키를 이..
ios 프로젝트도 Generate 하게 하는 게 재미있는 오픈 소스인 거 같다. 가장 큰 이득은 프로젝트 파일 conflict 방지 라는데... 가지고 있는 프로젝트에 적용하려면 마이그레이션 과정을 거쳐야 하는데 그거는 doc 페이지를 보면 될 거 같다. 설치 curl -Ls https://install.tuist.io | bash 실행 tuist init --platform ios tuist generate # Generates Xcode project & workspace tuist build # Builds your project 링크 https://github.com/tuist/tuist GitHub - tuist/tuist: 🚀 Create, maintain, and interact with X..
우리가 익히 알고 있는 Server Client 구조에서 Server는 Client인 APP에게 Request를 할 수 없다. Response 만 하는 구조라서, 결국 APP에서 Server로 요청을 할 수 있지만, Device로는 요청을 할 수 없다. 물론 MQTT에서 Broker에 해당하는 서버는 중계만 해 주지만 Client인 App에서 다른 Client인 Device로 message를 전달할 수 있다. Server단에 client를 하나 더 두어 메시지를 저장 하거나 관찰자 역할을 맡기기도 한다. Server단에 client를 두면 퍼포먼스가 좀 떨어지진 않을 지 의문스럽긴 하다.
오늘은 IOT 통신의 기반이 되는 MQTT 통신을 해 본다. 우선 프로그램을 다운로드하여야 한다. 사용할 프로그램은 mosquitto mqtt 이다. 1. 설치 https://mosquitto.org/download/ Download Mosquitto Enhancements These projects can be used to add extra features to Mosquitto. Management Center: A web UI for managing Mosquitto instances. In particular, this offers a convenient UI for managing clients, groups and roles as in the new Dynamic Secu mosquitto...
- Total
- Today
- Yesterday
- ios
- ChatGPT
- 같이쓰기
- 프로그래머스
- RxSwift
- IF (KAKAO) DEV 2022
- geohash
- XCTestExpectation
- AppThinning
- 빌드자동화
- 무료는 아니지만
- Default Rules
- 모듏화
- ATS failed system trust
- MQTT
- swiftLint
- GPT4
- GCD
- CI/CD
- swift
- xcode whitespace trim option
- 코테
- chatgpt 4o
- jenkins
- Fastlane
- Moya
- AWS IoT
- firebase
- bitrise
- async
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |