이제 Iot 단말에서 생성한 데이터를 전달 받기 위해 간단한 데이터 송수신 관리 서버가 필요하다.
mqtt를 통해 단말에서 생성한 데이터를 송수신 할 수 있다.
mqtt는 구독 기반 메시징 프로토콜로 TCP/IP 위에서 동작한다.
프로토콜에 설명은 인터넷에서 많이 소개되고 있으니 그곳에서 추가 정보를 학습하면 될 것 같다.
mqtt 서버 설정 및 설치
서버는 무중단 동작이 되어야 하기 때문에
개인적으로 무중단 동작이 가능한 장비를 찾다가 라즈베리 파이로 서버를 셋팅하기로 했다.
라즈베리 파이는 운영체제가 리눅스 기반이기 때문에 일반 리눅스를 사용하듯 편리하게 접근할 수 있다.
라즈베리 파이의 단점이 존재하긴 하지만, 여기서는 언급을 하지 않겠다.
라즈베리 파이 4B로 구매를 한뒤 인터넷에서 안내하는 방법으로 운영체제를 셋팅했다.
큰 어려움이 없으니 초보자도 잘 따라 할 수 있을 것이다.
설치 과정은 생략하기로 한다.
라즈베리 파이에서 ssh를 설정한 뒤 원격접속을 한다.
라즈베리 파이가 설치가 완료되면, mqtt 오픈 소스를 사용하여 설치하면 된다.
mqtt 오픈 소스는 많이 공개되어 있어 쉽게 구할수 있을 것이다.
모스키토(mosquitto)를 설치하기로 결정한 다음 인터넷 검색을 통해 설치를 완료하였다.
라즈베리 파이에 접속하여 모스키토가 정상동작하는 지 확인한다.
1883 포트는 기본 포트이기 때문에 listen 상태로 대기하고 있는 것을 볼 수 있다.
이제까지 IoT 단말과 데이터 송수신을 위한 기초작업을 완료하였다.
모스키토에서 테스트를 할 수도 있기 때문에
다음 명령어를 사용하여 테스트를 하면 된다.
mosquitto_sub -h [주소] -p [포트] -t [주제, 방제목]
mosquitto_pub -h [주소] -p [포트] -t [주제, 방제목] -m [메세지]
이해가 안간다면 인터넷 검색을 통해 모스키토 사용법을 숙지하기 바란다.
이 글에서 라즈베리 파이 및 모스키토 설치 내용을 언급하지 않은 이유는
지금도 인터넷에는 좋은 정보가 많이 있기때문에 충분히 다른 곳에서 찾을 수 있기 때문이다.
다음은 ESP32에 모스키토 클라이언트를 설치하고 데이터 송신 부분에 대해 소개하고자 한다.
'iot' 카테고리의 다른 글
[IoT] 1. 공기질 측정기 업그레이드 (Nextion, esp32, SenseAir S8, PM 2008m) (0) | 2023.04.20 |
---|---|
[IoT] ESP32 + SHT30 + PM 2008M + SenseAir S8 + OELD 0.96 나만의 공기질 측정기 (0) | 2023.04.19 |