안드로이드와 스위치 간 MQTT를 이용한 통신을 서버에서 중계를 하고자 한다. 그러면 어떻게 해야 중계를 할 수 있을까? 내용이 너무 길어 나눠서 포스팅 하도록 하겠습니다. 살펴볼 코드는 총 5개 Main.py, MQTT_Main.py, MQTT_JSON.py, Network.py, Reserve_Main.py 이렇게 입니다. 이번에는 Main.py와 MQTT_Main.py까지 보도록 하겠습니다. 1. 중계 프로그램의 목적 정의 우선 중계 프로그램을 통해 어떤걸 하고자 하는지 정의를 먼저 정할 필요가 있습니다. 제가 원하는 목적들을 정의를 하자면 아래와 같습니다. 1. MQTT 구독 1-1. 스위치로 부터 발행된 메세지 구독 1-2. 안드로이드로 부터 발행된 메세지 구독 2. MQTT 발행 3. 스위치 ..
분류 전체보기
안드로이드, 서버, 스위치간에 서로 데이터를 JSON으로 주고 받는다. 그러면 그 데이터들의 JSON 타입을 정할 필요가 있다. 한번 정해보고 표준타입으로 설정해서 서로 원활하게 통신이 되도록 해보자 1. JSON은 무엇인가? 가장 먼저 알아야 할 것은 JSON은 무엇인가? 입니다. JSON의 정의는 아래와 같습니다. JavaScript Object Notation(JSON) 용도는 데이터를 저장하거나 전송할 때 사용되는 경량 DATA 교환 형식이며, 데이터 포맷일 뿐 어떠한 통신 방식도, 문법도 아닌 단순히 데이터 표시하는 방법 중 하나입니다. 그럼 구성은 어떤지 살펴보겠습니다. 문법 먼저 살펴보겠습니다. 형태는 name-value 타입이며 {} 같은 중괄호로 묶여있습니다. 아래는 예시입니다. {"na..
스위치 칩셋인 ESP8266칩셋에서 MQTT를 이용하여 컨트롤하고자 한다. 그러면 어떻게 ESP8266에서 이를 사용할 수 있을까? 아두이노 IDE가 설치되어있다 라는 가정하에 진행하겠습니다. 만약 설치가 안되어있다면 아래 링크에서 받으시면 됩니다 https://docs.arduino.cc/software/ide-v1/tutorials/Windows 1. MQTT 라이브러리 설치하기 우선 MQTT 라이브러리를 설치해야 이 기능을 사용할 수 있으므로 설치를 합니다. 아래 순서대로 진입합니다. 스케치 -> 라이브러리 포함하기 -> 라이브러리 이후 PubSubClient 검색하여 PubSubClient by Nick O'Leary 를 설치하시면 됩니다. 2. 코드 작성(ESP8255) void mqtt_pub..
리눅스(Ubuntu)에서 파이썬을 이용해 MQTT를 이용하여 각종 IoT가 접목된 기기들을 컨트롤하고자 한다. 그러면 어떻게 파이썬으로 이를 사용할 수 있을까? 해당 글은 파이썬 3.10 기준으로 작성했습니다. 1. MQTT 라이브러리(paho mqtt) 설치하기 우선 MQTT 라이브러리를 설치해야 이 기능을 사용할 수 있으므로 설치를 합니다. pip install paho-mqtt 저는 1.6.1 버전으로 설치했습니다. 2. 코드 작성(Publish) import paho.mqtt.client as mqtt def pub(topic_str, message_str): mqtt_client = mqtt.Client() mqtt_client.connect("서버 아이피 혹은 주소", 1883) # 1번 mq..
안드로이드에서 MQTT를 이용하여 각종 IoT가 접목된 기기들을 컨트롤하고자 한다. 그러면 어떻게 안드로이드에서 이를 사용할 수 있을까? 1. MQTT 라이브러리(paho mqtt) 설치하기 우선 MQTT 라이브러리를 설치해야 이 기능을 사용할 수 있으므로 설치를 합니다. implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.1' 위 코드를 "build gradle" 파일 내에 있는 "dependencies" 에 추가합니다. 2. 코드 작성(Kotlin) class MainActivity : AppCompatActivity() { val ServerIP:String = "tcp://192.168.0.254:1883" //1번 서버 IP ..
IoT가 점점 떠오르면서 같이 따라오는 MQTT. 그럼 MQTT는 무엇이며 어떻게 활용하는 것 일까? MQTT란? MQTT(메시지 큐잉 텔레메트리 트랜스포트, Message Queuing Telemetry Transport)는 ISO 표준(ISO/IEC PRF 20922) 발행-구독 기반의 메시징 프로토콜이다. TCP/IP 프로토콜 위에서 동작한다. "작은 코드 공간"(small code footprint)이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결을 위해 설계되어 있다. 발행-구독 메시징 패턴은 메시지 브로커가 필요하다. (출처 : 위키백과) 위의 설명을 간략하게 표현하자면, 작은 데이터를 네트워크 품질이 좋지 못한 곳에서 통신을 주고받기 위해 사용되는 프로토콜이라고 보시면 됩니다. 이..