LTE CATM1 미니라우터 제작(with RaspberryPi Zero W)
유선랜 통신환경만 제공되는 장비들이 어디서나 네트워크에 연결할 수 있도록 LTE CATM1 모뎀과 raspberrypi zero w를 이용해서 미니라우터를 제작했습니다.
준비물
1. LTE CATM1 내장형 모뎀 ( https://mechasolution.com/shop/goods/goods_view.php?goodsno=587303&category= )
2. 라즈베리파이 제로 W ( https://mechasolution.com/shop/goods/goods_view.php?goodsno=575321&category= )
3. USB Ethernet
4. W5100S-EVB-Pico ( https://wiznetshop.co.kr/product/detail.html?product_no=1049&cate_no=54&display_group=1 )
라즈베리파이 제로에는 이더넷 디바이스가 포함되어 있지 않습니다. 그래서 제작을 위해 아래 2종의 이더넷 디바이스를 사용했습니다.
라즈베리파이 제로에는 외부 USB장치를 연결할 수 있는 USB포트가 하나 밖에 없어서 '1. USB 이더넷 외장 액세서리'로 테스트할 때는 USB 허브를 별도로 연결해서 사용했습니다.
장치 설정에 입력할 정보와 스크립트의 양이 상당하여 관련내용을 정리해서 github.com에 업로드 했습니다.
https://github.com/codezoo-ltd/miniRouter
해당 내용 기준으로 라즈베리파이제로 장치를 설정해 보도록 하겠습니다.
사용한 운영체제는 Raspberry Pi OS Lite (32-bit)입니다.
Raspberry Pi Imager v1.7.4 --> Raspberry Pi OS Lite (32-bit)
제작한 micro SD카드를 라즈베리파이 제로에 설치하고 전원을 연결하여 시스템 설정을 진행하겠습니다.
1) 키보드 설정
2) 사용자 등록
3) 사용자 등록까지 마치면 시스템 로그인 화면이 출력됩니다. 등록한 아이디와 패스워드를 입력해서 로그인합니다.
4) 시스템 설정(WIFI, Serial) 합니다.
\> sudo raspi-config
<WIFI 설정>
사용하는 무선공유기의 SSID를 입력합니다. 단, 2.4 Ghz 주파수 대역 SSID를 입력하셔야 합니다.
<Serial 설정>
accessible over serial? ---> No를 선택합니다
hardware to be enabled? ---> Yes를 선택합니다
결과 확인 후 OK를 선택합니다.
Finish 선택 후 시스템을 재시작합니다.
5) 시스템 설치
- 패키지 업데이트 및 업그레이드
\> sudo apt-get update
\> sudo apt-get upgrade (시간이 좀 걸립니다.)
- 시스템 재부팅
\> sync
\> sudo reboot
- 패키지 인스톨
\> sudo apt-get install minicom vim ppp dnsmasq git
- 설정 리포지토리 다운로드 및 설치
\> git clone --recursive https://github.com/codezoo-ltd/miniRouter.git
\> cd miniRouter/rpirtscts
\> vi rpirtscts.c +160
// 외장 안테나를 사용하실 경우
gpio -g write 5 1
:wq
\> make clean && make
\> sudo cp -rf rpirtscts /usr/bin
\> cd ../WiringPi
\> ./build
\> cd ..
\> sudo cp -rf ./etc/* /etc/.
- LTE CATM1 모뎀 설정
이제 RPI Zero W와 연결된 LTE CATM1 내장형 모뎀을 설정해 보겠습니다. 이전에 라즈베리파이에서 설정한 적이 없는 경우를 기준으로 했습니다. 이전에 921600bps과 CTSRTS 기능을 켜 놓으셨던 경우 생략하셔도 됩니다.
\> rpirtscts on
\> sudo minicom -s
0. Serial port setup을 선택합니다.
1. a 키를 누르고 /dev/ttyS0로 변경 후 Enter Enter를 누른다.
2. e키를 누르고 e키를 누르고 “115200”로 설정 EnterEnter를 누른다.
3. f키를 눌러서 “No”로 설정
4. Enter를 누른다.
5. Exit 메뉴를 고르고 Enter로 선택
minicom Serial port 설정화면
이제 아래와 같이 RPI Zero와 LTE CATM1 모뎀이 접속된 화면이 보입니다.
터미널에 아래와 같이 AT명령어를 입력합니다.
(모뎀 CTS/RTS 하드웨어 흐름 제어 기능을 Enable 시키고, 모뎀 속도를 921600bps로 설정했습니다.)
6. AT 입력 + enter – OK
7. at%setacfg=modem_apps.Mode.AutoConnectMode,true + enter – OK
8. AT&K3 입력 + enter – OK
9. AT+IPR=921600 + enter – OK
이제 아래와 같이 커맨드를 입력해서 minicom에서 빠져나옵니다.
10. Ctrl+a 누르고 손가락을 떼고 z키를 바로 누름
11. x키를 누르고 Yes 선택 Enter로 빠져나옴
LTE CATM1 모뎀에 대한 설정이 완료되었습니다. 해당 설정은 모뎀 내부 저장공간에 기록되어 매번 다시 입력하지 않아도 됩니다.
- 시스템 재부팅해서 전체 동작을 테스트 해보겠습니다.
\> sync
\> sudo reboot
- 재부팅하게 되면 LTE모뎀 초기화와 DHCP서비스 설정이 자동으로 동작하도록 되어 있습니다.
라우팅테이블을 확인해 보겠습니다.
\> route -n
아직 무선랜이 연결된 것을 확인할 수 있습니다. 해당 기능은 사용하지 않기 때문에 설정을 초기화하도록 하겠습니다.
- wlan 설정 초기화
sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.org
sudo cp /dev/null /etc/wpa_supplicant/wpa_supplicant.conf
- 시스템 재부팅
sync
sudo reboot
- 이제 마무리되었습니다. 최종 라우팅테이블입니다.
이번 미니라우터 제작에는 S/W 뿐 아니라 기구를 포함한 H/W도 (주)테크트리스페이스와 함께 진행했습니다.
라즈베리파이 제로의 경우 전원과 USB를 커넥터뿐 아니라 뒷면 TP(Test Point)에서도 연결할 수 있습니다.
해당 TP를 활용해서 USB 이더넷 장치와 전원을 직접 연결했습니다.
먼저 사용하는 USB 이더넷 장치는 아래와 같은 PINOUT을 구성하고 있습니다.
구조를 확인 후 연결된 케이블을 제거했습니다.
아래와 같이 전원선(VCC, GND), USB(5V, DP, DM, GND)를 연결했습니다.
연결 후에는 안전을 위해 글루건으로 고정했습니다.
USB 이더넷 디바이스는 강력한 양면테이프를 이용해서 LTE CATM1 HAT 아래에 부착했습니다.
기구 제작 전 전체 시스템이 문제없는지 마지막 리허설을 진행했습니다. 미니라우터 기능은 부팅 후 자동실행 되기 때문에 전원과 디스플레이만 연결 후 이더넷장치를 연결해서 IP를 제대로 받아서 동작되는지 확인했습니다.
기구 모델링 및 3D프린팅 작업 후 완성된 모습입니다.
케이블 타이를 연결할 수 있어서 필요한 장소에 고정할 수 있습니다.
수경재배 시스템에 미니라우터 설치
기구 조립 영상
데모보드(W5100S-EVB-Pico) 연결 및 테스트
Wiznet W5100S-EVB-Pico
W5100S-EVB-Pico 보드는 RP2040 MCU와 Wiznet의 강력한 Ethernet Network Chip 중 하나인 W5100S가 하나의 보드에 구성되어 있습니다.
AWS, Azure에서 IoT디바이스로 공식 인증되어 있으며, 개발자들이 바로 사용할 수 있는 다양한 예제를 제공합니다.
https://www.wiznet.io/product-item/w5100s-evb-pico/
미니라우터와 연동 테스트를 위해 RP2040-HAT-AWS-C 예제를 사용했습니다.
W5100S Ethernet으로 AWS IoT SDK를 활용하여 AWS IoT 코어와 MQTT로 통신하는 정식 예제입니다.
https://github.com/Wiznet/RP2040-HAT-AWS-C
해당 예제를 동작시키면 W5100S-EVB-Pico 보드는 연결된 미니라우터를 통해 DHCP로 IP를 할당받고 자신의 보드에 내장된 인증서와 private Key를 이용해서 AWS IoT Core와 프로비저닝을 시도합니다. 성공하면 MQTT프로토콜로 데이터를 일정시간 주기로 $aws/things/my_rp2040_thing/shadow/update 에 업로드(Hello World!) 합니다.
데모 영상
긴 글 읽으시느라 고생하셨습니다. 감사합니다.
기구 디자인&모델링, 3D프린팅 출력
(주)테크트리스페이스
신건 대표 fairway911@techtreespace.com
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
https://smartstore.naver.com/codezoo/products/7153689192