기존에 안드로이드에서 MQTT를 이용하여 메세지를 주고 받는걸 확인 했다. 이를 응용해서 전등을 컨트롤하는 예제를 만들어보자. 1. MQTT 로 보낼 TOPIC, JSON 구조 정하기 MQTT 중계 프로그램 제작 - 1부 안드로이드와 스위치 간 MQTT를 이용한 통신을 서버에서 중계를 하고자 한다. 그러면 어떻게 해야 중계를 할 수 있을까? 내용이 너무 길어 나눠서 포스팅 하도록 하겠습니다. 살펴볼 코드는 총 5 sonjuhy.tistory.com 이 글과 2부에서 작성한 서버와 통신할 안드로이드 어플을 만들고자 합니다. 그러므로 TOPIC은 이 글을 따라가겠습니다. 해당 글에서 안드로이드로부터 오는 메세지를 받는 토픽은 아래와 같습니다. MyHome/Light/Pub/Server 그리고 전등의 변경된 ..
Spring Boot에서 MQTT를 이용하여 각종 IoT가 접목된 기기들을 컨트롤하고자 한다. 그러면 어떻게 Spring Boot에서 이를 사용할 수 있을까? 환경 버전 java : 11 spring boot : 2.7.6 1. MQTT 라이브러리 설치하기 우선 MQTT 라이브러리를 설치해야 이 기능을 사용할 수 있으므로 설치를 합니다. implementation 'org.springframework.integration:spring-integration-mqtt:5.5.14' 위 코드를 "build gradle" 파일 내에 있는 "dependencies" 에 추가합니다. 저는 5.5 보다 더 윗단계 라이브러리 사용시 호환성 문제로 작동하지 않는 부분이 있어 해당 버전을 사용했습니다. 2. 코드 작성 여..
버튼입력을 통한 컨트롤 및 MQTT를 이용한 통신을 서버에 전송 하고자 한다. 그리고 유지 보수를 위해 펌웨어를 OTA로 업데이트 할 수 있도록 하고자 한다. 1. 펌웨어의 목적 정의 스위치를 통해 하고자 하는 목적을 먼저 정의를 해야합니다. 제가 원하는 목적들을 정의를 하자면 아래와 같습니다. 1. 버튼으로 스위치 컨트롤 1-1. 어떠한 경우에도 최우선적으로 작동 1-2. 버튼 작동했을때 상태를 서버로 전송 2. MQTT 구독, 발행 3. 웹 컨트롤 기능 3-1. OTA 기능 3-2. 테스트 컨트롤 및 상태값 확인 2. 목적 별 필요 기능 1번. 핀&릴레이 컨트롤 및 인터럽트 버튼 입력을 통해 컨트롤 하고자 하면 핀 & 릴레이 컨트롤이 필요합니다. 핀 : 버튼을 눌렀을때 해당 신호를 esp칩셋에 전송할..
그동안 진행한 글들을 보시면서 이런 궁금증이 생기실수도 있습니다. 그럼 DB는 어떻게 되어있길래 저렇게 DB에 데이터를 넣고 가져와서 쓸 수 있는거지? 그래서 이번에는 DB에 있는 테이블 구조들을 보도록 하겠습니다. ※ 코드에 있는 테이블, 컬럼 명이랑 대소문자 등이 다를 수 도 있습니다. 여러분들 보기 편하기 위해서 수정했습니다. (그리고 저도 곧 이렇게 수정할 예정입니다.) 1. 테이블 리스트 한번 표로 정리해봤습니다. Table 이름 역할 사용되는 기능 비고 LIGHT_RESERVE 전등 예약 설정 정보 저장 전등 예약 LIGHT_RECORD 전등을 컨트롤 한 기록 저장 전등 컨트롤 기록 누가,언제,어디를,무엇을 NOTICE 공지사항 정보 저장 공지사항 ROOM_LIGHT 전등 리스트 정보 저장 전..
안드로이드와 스위치 간 MQTT를 이용한 통신을 서버에서 중계를 하고자 한다. 그러면 어떻게 해야 중계를 할 수 있을까? 이번에는 MQTT_JSON.py, Network.py와 Reserve_Main.py까지 보도록 하겠습니다. 바로 코드 보시죠. (저번 글에 이어 바로 3번부터 시작하겠습니다.) 3. 코드 살펴보기 3번. MQTT_JSON.py import json def JSON_Parser(object): #print(object) jsonObject = json.loads(object) dic = {'sender': jsonObject['sender'], 'message': jsonObject['message'], 'room': jsonObject['room']} return dic def JSO..
갈수록 어마어마한 발전을 이루는 AI. 그 중에서 이미지 인식 기능도 매우 핫한 기능입니다. 이걸 맛보기로 한번 해보려고 합니다. 이미지 인식이란? 이미지 인식를 간략하게 표현하자면, 어떠한 이미지가 입력되면 해당 이미지 내의 객체가 무엇인지 알려주는 것이라고 생각하면 됩니다. 아래 예시 사진으로 한번 확인해 보시죠 보시면 평범한 사진이라도 객체의 특징을 잡아내서 무엇인지 알려주고 %까지 안내해줍니다. 굉장히 신기하면서 어려울 것 같은 이미지 인식을 우린 Yolo v5를 사용해서 간단하게 해봅시다. Yolo v5란? You Only Look Once 는 한번 보고 바로 인식을 하는데 목표를 둔 모델입니다. 이름 뜻 그대로 신속한 이미지 인식 성능을 보이는 모델입니다. 그럼 이를 사용해 detction(인..