ESP 8266 모듈을 사용중이다. UART로 NON OS AT COMMAND를 사용한다.
그러면 MQTT를 이용할 수가 없다.
그래서 MQTT 기능인 연결관리, 재연결, 재전송 등을 stm 프로세서가 하도록 수동으로 만들었다.
궁금해서 esp 32 를 샀다. 얼마나 잘난놈일까.
역시나. AT 커맨드 숫자부터 남다르다.
약간의 버그라고 느껴졌던 부분도 막힘없이 경쾌하게 다 한다. 멋지다.
1
아무튼 ip와 포트까지 특정해서 패킷을 날리면
서버에 와서 redis 로 아이디 구독 하고
아이디를 갖고있는 유저+아이디 더해서 발행한번 하고 간다.
2
한편 앱에서 유저+아이디로 웹소켓으로 붙는다. 로드밸런싱 중이기 때문에 서버가 각자 웹소켓 커넥션을 맵으로 관리하고
레디스에 갖고있는 커넥션을 구독한다.
1에서 발행을 하면 2에서 듣고있는 서버에게 가고, 해당 유저 커넥션을 찾아 전송한다.