ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ESP32, LTE CATM1 모뎀으로 nano iot gateway 제작
    Lwip PPP 모뎀 2024. 3. 17. 02:13

    ESP Modem DCE architecture

    ESP-Protocols 오픈소스 프로젝트 중 ESP_Modem 프로젝트가 있습니다. 

    ESP32 시리즈 (ESP32, ESP32-C3, ESP32-S2, ESP32-S3, etc)의 MCU와 다양한 셀룰러 통신모듈을 연결해서 데이터 통신 모뎀으로 동작시킬 수 있도록 구성한 프로젝트입니다. 자세한 내용은 아래 오픈소스에 포함된 문서를 참고하시기 바랍니다.

    https://github.com/codezoo-ltd/esp-protocols/tree/master/components/esp_modem

     

    이번 작업은 esp_modem을 LTE CATM1 내장형 모뎀에서 동작시킬수 있도록 인터페이스를 포팅하고, examples/ap_to_pppos 예제를 활용하여 주변의 WiFi 디바이스들이 ESP_Modem을 이용해서 WiFi 공유기 없이 네트워크 통신을 할 수 있는 nano iot gateway 프로토타입을 만드는 것을 목표로 했습니다.

     

    본격적인 작업을 진행하기 앞서 동작하는 영상을 함께 보겠습니다.

    온습도 센서가 연결된 ESP32-S3보드가 ESP32-Modem이 동작되는 ESP32+LTE CATM1 내장형모뎀을 이용해서 서버에 데이터를 송신하고 수신하는 것을 확인할 수 있습니다. 

    데모1에 사용한 ESP32-S3 보드 4대와 ESP-Modem

     

    일반적인 TCP소켓 연결 뿐 아니라 Security가 적용된 Azure IoT FreeRTOS 클라이언트 펌웨어가 올라간 ESP32-S3보드도 ESP32-Modem을 이용해서 무선공유기 없이 Azure IoT Hub에 데이터를 올릴 수 있습니다. 

    두 번째 영상입니다.

     

    ESP-Modem이 동작되는 ESP32 IoT Board

     

    리눅스로 동작되는 다른 무선공유기에 비해 연결할 수 있는 장치가 4대 이하이고 기능도 많지 않지만, RTOS기반 시스템이라 부팅속도가 상당히 빠릅니다. 콜드부팅해서 LTE망 접속 후 무선장치 공유를 위한 준비시간이 약 14초 정도 소요 되었습니다.

    통신환경이 제공되지 않는 제한된 공간에서 4개 이하의 무선센서를 연결해서 작업하실 경우, 기존 WiFi IoT 디바이스를 셀룰러 기능이 탑재된 제품으로 개발하기 전 효율성, 효용성을 체크하실 경우 유용하실 거라 생각됩니다.

     

    esp-modem은 ESP-IDF개발환경을 이용해서 빌드해서 사용하실 수 있습니다. 

    ESP-IDF개발환경을 어떻게 구성해서 빌드 및 펌웨어 업로드해야 하는지 설명드리겠습니다. 

     

    1. VS Code 설치 

    https://code.visualstudio.com/

    사용하는 운영체제에 맞는 설치화면이 나옵니다. (윈도우, 리눅스, 맥)

    2. ESP IDF 설치

    1) 좌측의 Extension 아이콘을 클릭합니다.  

    2) ESP IDF로 검색해서 개발환경을 install 합니다. 

     3) esp-idf extension 설치

    View → Command Palette → configure esp-idf extension 입력

     

    EXPRESS 선택

     

    v5.0.3 선택 후 Install 선택

     

    설치 완료

     

    참고로 개발환경 설치가 완료되면

    View → Command Palette → ESP-IDF: Show Examples Projects를 실행해서 ESP-IDF SDK의 다양한 example을 직접 설치하고 테스트할 수 있습니다. 

     

    이제 esp-modem을 빌드할 수 있는 준비가 완료되었습니다. 

    코드를 다운로드해서 빌드 후 설치해 보겠습니다.  

     

    git을 설치 후 git bash를 실행합니다. 원하는 위치에 디렉토리를 만들고 

    만든 디렉토리에 소스코드를 클론 합니다. (https://github.com/codezoo-ltd/esp-protocols)

    $ mkdir git_upload && cd git_upload

    $ git clone https://github.com/codezoo-ltd/esp-protocols.git

     

    탐색기를 열어서 소스코드 위치로 이동합니다.

    esp-protocols    componets → esp_modem → examples로 이동합니다. 

    vs code를 실행 후 ap_to_pppos 디렉토리를 가운데 워크스페이스로 드래그 앤 드롭합니다.    

    드래그 앤 드롭 후 화면

     

    화면에 가운데 아래와 같은 문구가 나오면 Trust 왼쪽에 체크하고 아래  Yes버튼을 누릅니다. 

     

    좌측 EXPLORER 화면이 보이지 않으면 상단 메뉴의 View  Explorer를 클릭하면 나타납니다.

    ESP32 보드를 USB케이블로 연결 후 아래 메뉴를 클릭해서 나머지 설정을 진행합니다. 

    코드 아이콘 : Debug Port

    회로 아이콘 : Board Type

    디렉토리 아이콘 : Working Directory

    톱니 아이콘 : SDK Menuconfig

    쓰레기통 아이콘 : Full-Clean

    원통 아이콘 : Build

    별 아이콘 : Flash Upload Method

    번개 아이콘 : Flash

    모니터 아이콘 : Monitor

    불꽃 아이콘 : Build+Flash+Moinitor

     

    1)Debug Port 설정하면 가운데 상단에 나오는 포트 번호를 선택하고, 

    2)Board Type은 ESP32 (USB Bridge)를 선택합니다. 보드 타입설정 후 우측 하단에 보드 설정 중이라고 나오는데 해당 아이콘이 없어질 때까지 기다립니다. 

    3)Working Directory는 나오는 대로 설정해 주시면 됩니다.

     

    4)이제 중요한 SDK Menuconfig입니다. 톱니 아이콘을 누르고 기다리면 아래와 같은 설정화면이 나옵니다.

     

    설정 항목 중 아래 내용을 원하시는 값으로 수정 후 저장 합니다. 

     

    빌드 후 별아이콘을 눌러서 UART를 선택하고 번개 아이콘을 누르면 ESP32 보드에 펌웨어를 올릴 수 있습니다.

    모니터 아이콘을 통해 동작을 확인할 수 있습니다. 

     

    Murata Type1SC 모듈 구매, 자료 관련 문의
    (주)아성코리아
    전지만 이사 010-5418-8812 mlcc@asung.com
    박상인 수석 010-6556-5405 sipark@asung.com

    LTE-CATM1 내장형 모뎀 구매 상담, 외주 개발, 협업 문의
    (주)코드주
    장병남 대표 010-8965-1323 rooney.jang@codezoo.co.kr
     
    https://www.devicemart.co.kr/goods/view?no=14077527

     

    LTE-CatM1 내장형 모뎀 / 사물인터넷 통신모듈

    사물인터넷 개발을 위한 LTE 모듈입니다. / CodeZoo / 사물인터넷 통신모듈 / 유심은 상품상세의 링크에서 별도 구매가 필요합니다.

    www.devicemart.co.kr

    https://smartstore.naver.com/codezoo/products/8514695472

     

    LTE CATM1 ESP32 IoT 보드 : codezoo

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

    smartstore.naver.com

    https://smartstore.naver.com/codezoo/products/7153689192

     

    Vodafone Global IoT SIM Card : codezoo

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

    smartstore.naver.com

     
     
     
     
     
     

     

     

     

     

Designed by Tistory.