ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HiveMQ TLS MQTT를 Type1SC AT커맨드로 연결하기
    MQTT 2025. 6. 10. 14:36

    예전에 가전제품 외부 제어를 위해 아래와 같은 글을 올렸습니다.

     

     

    HiveMQ TLS Free MQTT 클러스터와 LTE CATM1모뎀으로 어디서나 제어할 수 있는 스마트릴레이 만들기

    예전 회사에서 함께 IT일을 했던 동료가 몇 년 전 귀농을 했습니다.한번 놀러 오라는 이야기에 직접 내려가서 이것저것 이야기 하던 중 비닐하우스로 재배를 하는데 날씨가 더우면 하우스 창문

    codezoo.tistory.com

    외부에서 스마트폰으로 제어하는 것은 참 편하고 좋았는데, ESP-IDF 개발환경을 사용하지 않거나 다른 MCU를 사용하시는 개발자들을 위해 Type1SC 모뎀에서 제공하는 AT커맨드로 HiveMQ TLS Free MQTT 계정을 사용하는 방법을 알려 드립니다. 

     

    해야 할 일은

    1. HiveMQ TLS Free MQTT 계정을 만들어야 합니다.

    2. TLS인증서를 Type1SC 모뎀에 설치해야 합니다. 

    3. 1,2 준비 후 AT커맨드로 MQTT 계정에 접속해서 원하는 목적으로 사용합니다. 

     

    첫 번째 HiveMQ TLS Free MQTT 계정 만드는 방법은 서두에 올린 글에 잘 정리되어 있으니 참고해서 만드시면 됩니다.

    MQTT 접속주소, 아이디, 패스워드를 꼭 챙겨 두세요.

     

    두 번째 TLS인증서는 아래 경로에 있는 인증서를 사용했습니다. 

     

     

    esp-protocols/components/esp_modem/examples/ssl/main/mqtt_eclipseprojects_io.pem at master · codezoo-ltd/esp-protocols

    Collection of ESP-IDF components related to networking protocols - codezoo-ltd/esp-protocols

    github.com

     

    텍스트 에디터에 복사 + 붙여넣기 해서 사용하는데, 중요한 포인트가 있습니다. 

    줄끝 문자(EOL) 변환시 Unix(LF) 타입을 선택해야 합니다. 기본값인 윈도 타입을 선택한 경우 캐리지리턴의 영향으로

    한 줄씩 띄어쓰기가 되어 복사 + 붙여 넣기 할 때 문제가 생깁니다.  

     

    준비가 마무리 되었으면 아래와 같이 Type1SC에서 제공하는 AT커맨드로

    인증서 설치와 MQTT 서버 접속까지 진행 하겠습니다. 

     

    //1. 인증서 설치

    AT%CERTCMD="WRITE","server.crt",0,"-----BEGIN CERTIFICATE-----
    MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
    TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
    cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
    WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
    ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
    MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
    h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
    0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
    A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
    T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
    B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
    B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
    KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
    OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
    jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
    qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
    rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
    HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
    hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
    ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
    3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
    NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
    ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
    TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
    jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
    oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
    4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
    mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
    emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
    -----END CERTIFICATE-----"
    OK

     

    //2. 인증서 등록 (모뎀 1번 슬롯 등록)
    AT%CERTCFG="ADD",1,"server.crt",,
    OK

     

    //3. MQTT 모든 Event Enable
    AT%MQTTEV="ALL",1
    OK

     

    //4. HiveMQ TLS 주소, 계정 설정
    AT%MQTTCFG="NODES",1,"Node","********************************.s2.eu.hivemq.cloud","user_id","user_pw"
    OK

     

    //5. HiveMQ TLS 포트 설정
    AT%MQTTCFG="IP",1,,0,8883
    OK

     

    //6. TLS 방식, 인증서 설정
    AT%MQTTCFG="TLS",1,2,1
    OK

     

    //7. 서버 타임아웃 설정

    AT%MQTTCFG="PROTOCOL",1,0,15000,1
    OK

     

    //8. TLS MQTT 서버 접속
    AT%MQTTCMD="CONNECT",1
    OK

     

    //9. 접속 성공 콜백 수신
    %MQTTEVU:"CONCONF",1,0

     

    이제 Topic을 구독하고 발행하시면 됩니다. 

    아래 시퀀스 다이어그램을 참고하세요.

     

     

    LTE-CATM1 내장형 모뎀 대량 구매 상담, 외주 개발, 협업 문의, vodafone IoT유심 문의
    (주)코드주
    장병남 대표 010-8965-1323 rooney.jang@codezoo.co.kr

     

    iot유심 : codezoo

    [codezoo] IoT Global SIM, IoT Connectivity, IoT Device

    smartstore.naver.com

     

Designed by Tistory.