안녕하세요~ 오늘은 Linux에서 프로그래밍에 필요한 프로그램을 설치하는 방법을 알아볼게요. 먼저 리눅스를 설치했다고 가정하고 시작하겠습니다. 먼저 제 리눅스는 우분투로 설치를 하였고, 프로그램 설치에 대해 설명드릴게요~
MQTT란 메세징 프로토콜 중에 하나인데, TCP/IP 프로토콜 위에서 작동하는 프로그램인데요, 이는 저희가 알고 있는 채팅 프로그램이라고 생각하면 쉬워요 먼저 서버(MQTT)를 열고 그 서버에 맞는 IP를 열어주고 거기에 구독(Subscribe)을 해주면 그 아이피에 메시지를 담아서 보내줍니다. 저희가 알고 있는 채팅방의 이름이 있는데 그 이름을 찾아가서 메시지를 전달하는 형식이에요 근데 MQTT에서는 그 채팅방을 Darren/student 이런 식으로 값을 주게 되는데요 /를 이용하여 구분합니다.
mqtt는 서버라고도하지만 브로커라고 칭하는데요! MQTT의 브로커는 여러 가지가 있는데 무료인 mosquitto를 사용하도록 하겠습니다. 먼저 MQTT의 장점으로는 보통 메시지를 보내는 그런 소켓 같은 프로그램은 새로운 메시지를 받을 때까지 새로고침을 한다고 생각하시면 되겠습니다. 근데 이 MQTT는 계속 서버를 돌리고 있지 않고 그냥 새로운 메시지가 왔을 때 바로바로 반응(response)을 해주는 것이 가장 큰 장점이라고 생각합니다. 하지만 대형 프로젝트에서는 쓰기는 조금 버겁고 가볍게 소형 프로젝트에서는 사용하는데 큰 문제는 없을 거라고 생각해요
본론으로 들어가서 리눅스에서 설치하는 방법을 소개해드리겠습니다. 먼저 linux를 실행해주세요.
저 같은 경우는 리눅스를 실행하자마자 sudo su를 해주어 관리자에 접근해줍니다. 그냥 홈디렉토리에서 하게 되시면 제약이 아무래도 많기 때문에 습관적으로 sudo su를 해줍니다.
sudo apt install mosquitto
저는 이미 설치가 되어있어서 이렇게 뜨지만 처음 설치하시는 분은 (y/n) 입력하라고 뜨실거에요 그러면 y를 사용하여 설치해주시면 됩니다.
sudo systemctl status mosquitto.service
기본적으로 설치가 되시면 를 입력해주시면 running이라고 뜨실겁니다. 그러면 moquitto가 현재 실행되고 있는 겁니다.
netstat -antup
현재 사용중인 포트를 보고 싶으시면 위 명령어로 현재 포트를 확인하실 수 있습니다.
자 그러면 이제 모스키토를 실행해서 메시지를 잘 전달하는지 확인해보겠습니다.
subscribe는 메시지를 브로커로부터 받는 입장이고
publish는 Token을 이용해서 브로커한테 메시지를 보내는 사람이라고 생각하시면 됩니다.
이 브로커가 pub한테 메시지를 받으면 그 토큰에 맞는 sub에게 메시지를 전달해줍니다.
mosquitto_sub -h 127.0.0.1 -t darren
이 명령어를 입력하게 되면 그다음에 아무것도 안뜰 겁니다. 그럼 정상적으로 127.0.0.1(localhost)에 darren라는 토큰을 넣어준 겁니다. 메시지가 오면 밑에 커서에 메시지가 뜨게 되는데요 이때 만약에 현재 이 실행상태를 벗어나고 싶으시면
Ctrl + C를 해주시면 빠져나오게 됩니다.
그리고 리눅스 창을 하나 더 켜서 publish시켜줍니다.
mosquitto_pub -h 127.0.0.1 -t darren -m hello
정상적으로 값이 들어오는 것을 확인할 수 있습니다.
옵션 | -h | -t | -m |
설명 | host | topic | message |
hello가 정상적으로 출력되는 것을 확인 할 수 있습니다.
+ 추가로 저장되어있는 mosquitto의 위치는 /etc/mosquitto/ 에있습니다.
apt로 다운로드한 프로그램들은 /etc 아래에 있으니 참고하시기 바랍니다.
cd /etc/mosquitto/
ls -l
ls -l 은 현재 디렉터리 아래에 있는 파일들을 -l옵션 (long) 상세하게 보여주는 명령어입니다.
나중에 mosquitto.conf파일을 상황에 맞게 포트를 바꿔준다던지 특성들을 바꿔줄 수 있으니 파일 경로를 알고 계시면 좋겠습니다.