Categories
블로그

라즈베리파이 MQTT 태블릿과 통신하기

논문에서 사용할 주 에이전트 라즈베리파이에 대해 사용하여 태블릿 및 통신를 사용해 보겠습니다.

그 전에 무엇인지에 대한 배경 지식이 있어야 합니다.

약자로 발행-구독 기반 메시징 프로토콜입니다.

발행-구독 모델은 발신자의 메시지를 받을 수신자를 지정하지 않습니다.

발신자가 메시지를 게시할 때 수신자가 누구인지 또는 상대방에 대한 사전 지식 없이 통신가 가능합니다.

수신자가 중개자에게 원하는 주제를 신청하겠다는 신호만 보내면 게시자의 메시지가 수신자에게 전달됩니다.

이해를 돕기 위해 발신자/수신자라고 했지만 실제로는 게시자-구독자라고 하는 것이 더 정확할 것입니다.

저전력 통신를 가능하게 하며, 이는 배터리로 구동되는 센서가 많을 때 더 효율적입니다.

따라서 소형 를 필요로 하는 플랫폼에서 많이 사용되는 프로토콜이다.

게시 및 구독 아키텍처 게시 구독 아키텍처는 브로커를 통해 메시지를 보내고 받습니다.

브로커는 데이터를 저장하고 이 데이터를 요청하는 클라이언트에게 데이터를 제공하는 서버와 비슷한 개념으로 보이지만, 브로커는 이 데이터에 대한 중개자 역할만 하므로 서버가 아닌 브로커라고 부른다.

예를 들어, 브로커를 통해 1의 1에 대한 구독을 선언하면 브로커는 받은 1의 1 정보에 대한 중개자 역할만 한다.

우리 모두가 알고 있는 메신저도 사용하는 것으로 알려져 있습니다

여기서 주제는 매우 중요한 역할을 합니다.

주제는 슬래시를 사용하여 계층적으로 구성할 수 있으며 이는 직관적이고 많은 센서를 관리하는 데 유용합니다.

집 침실 온도 램프 창 욕실 온도 램프 문 침실의 온도계 센서를 참조한다고 가정하면 집 침실 온도를 통해 액세스할 수 있습니다.

침실과 욕실에 있는 모든 방의 온도계에 액세스하려면 집 램프로 주제를 설정한 다음 집 온도 수준 와일드카드로 모든 방의 조명을 켜야 하는 경우 명령을 사용하면 됩니다.

사용하여 태블릿와 라즈베리파이를 연결하기 전에 로컬에서 잘 작동하는지 확인했습니다.

이 문장은 주제를 구독한다는 의미입니다.

첫 번째 터미널에서 이것을 작성한 후 게시하기 위해 다른 터미널을 엽니다.

즉각적인 확인을 위해 메시지로 입력했습니다.

두 번째 터미널에 메시지를 게시하면 구독한 첫 번째 터미널 창에서 메시지가 잘 전달되는 것을 확인할 수 있습니다.

보통 모스키토가 설치되면 자동으로 시작되지만 현재 활성화되어 있는지 확인하는 것도 좋은 방법입니다.

터미널에 상태를 입력한 후 잘 실행되고 있는 것이다.

설치가 성공했으니 이제 태블릿와 연결할 차례입니다

어플리케이션은 안드로이드 폰이나 태블릿에 설치되어 있으며, 기본적인 동작 테스트를 위해 다양한 타입이 생성됩니다.

오른쪽 상단의 유형 선택에서 텍스트 전환 버튼 범위 진행과 같이 원하는 기본 유형을 선택하기만 하면 됩니다.

온도 습도를 생성한 후 라즈베리파이에 원하는 값을 게시하려고 했습니다.

속도가 빨라서 조금 놀랐습니다.

이렇게 설정한 온도를 다시 설정하지 않으면 이 상태로 1~2시간 유지됩니다.

습 80이라는 값으로 임의로 입력했다.

색을 보정하고 조금 더 예쁘게 꾸며주면 일반 유저 앱에서 보던 이미지처럼 출력될 수도 있다.

반응속 너무 좋고 너무 마음에 들어요.

다음으로 메시지를 보내려고 합니다.

첫 번째 보낸 너무 길어서 한 화면에 다 나와요.

담을 수 없어 하이민지로 변경하고 이번에는 태블릿에서 라즈베리파이로 메시지를 보내 보았습니다.

이거 굉장히 낯설지만 기능도 확인해봤는데 이걸 적용하면 무한 콘텐츠를 만들 수 있을 것 같아요

온도 및 습도 데이터를 수신하고 그래프를 보는 대시보드 앱을 찾거나 조도 센서를 라즈베리파이에 연결하여 특정 조명 범위에 응답하는 코드를 컴파일하는 것도 흥미로울 것입니다.

작성된 결합하는 방법도 찾아야 합니다.