홈 IoT/기타

문제점이 발견되어 이를 해결함과 동시에 문제의 여러 원인 중 하나인 라이브러리 교체를 하고자 함문제점 및 해결 과정날씨가 습해질 때마다 정전기 때문에 자동으로  스위치가 작동하는 현상 발생스위치 모드를 짧게 누르기, 길게 누르기로 제공하여 사용자가 정전기에 의한 오작동을 방지하는 선택권을 주기로 함기존 인터럽트를 통한 릴레이 제어 방식에 한계가 있어서 변경하고자 함MQTT 라이브러리가 서버와 연결이 끊길 경우 재연결시도에 5초 이상을 소비함으로 오프라인 상태에서 일반적인 루프 방식으로 버튼 제어가 현실적으로 불가능기존 라이브러리(PunSubClient)는 오랬동안 개발 중단 및 문제가 있어 AsyncMQTT라는 라이브러리로 교체하고자 함라이브러리 깃허브다운로드 및 설치 아두이노 IDE 기준으로lib 검색..
버튼입력을 통한 컨트롤 및 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 전등 리스트 정보 저장 전..
안드로이드, 서버, 스위치간에 서로 데이터를 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..
Red-Hat
'홈 IoT/기타' 카테고리의 글 목록