안드로이드, 서버, 스위치간에 서로 데이터를 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 ..
MQTT란? MQTT는 Message Queue Telemetry Transport의 약자로 낮은 전력, 낮은 대역폭 환경에서도 사용할 수 있게 설계된 포로토콜이다. 주로 IoT, M2M 등에 주로 사용된다. Mosquitto란? Mosquitto는 MQTT중 오픈소스 메세지브로커로 저전력 파워센서, 모바일 디바이스 등에 가벼운 메시징 처리를 하기 적합한 프로그램니다. 왜 설치를 해야하는가? 전등을 원격으로 컨트롤 하기 위해서 여러 방법이 있지만, 그중 간편하고 좋은 방법에 속하는 MQTT방식을 통해 사물인터넷을 구현 하고자 한다. 이러한 MQTT 서비스 중에서 비교적 간편하고 무료인 Mosquitto 으로 낙점 1. 설치 우선 중간에서 발신자,수신자를 연결해 줄 브로커를 설치해보자. cmd 창에 아래의..
목표 : 회원 누구나 등록 가능하고, 누구나 다 알림 받는 공지사항 기능 기본 작동 방법 1. 안드로이드(스마트폰 등) 환경에서 서비스 실행 2. 공지사항 등록 시, 회원 모두 알림 전송 및 공지 등록 3. 내용 수정은 불가하며, 본인이 작성한 공지만 삭제 가능 4. 공지는 제목, 내용, 작성자, 시간이 포함 반드시 들어가야할 기능(환경) 1. 공지 등록시, 회원 모두가 즉시 알림을 받아야 함 2. 공지 내용 변경 불가 및 삭제도 작성자에게만 권한이 있어야 함 예상 시나리오 1. 공지사항 등록(ex : 밥먹으러 나온나) 2. 모든 회원에게 새 공지 등록 알림 전송 3. 등록된 공지 시간 및 내용 파악 4. 이미 등록된 공지 내용 수정을 막음으로 혼란 방지 5. 삭제 기능은 작성자만 가능하도록 설정 필요한..