Meshtastic(매시타스틱)은 LoRa 기기들을 메시망으로 연결하여 통신하며, PC·스마트폰으로 제어할 수 있도록 해주는 프로그램입니다.
그 중 T-Beam 모델은 GNSS, 18650 배터리 슬롯, AXP 전력 관리 모듈을 포함하고 있으므로 외부에서 장시간 사용이 가능합니다.
알리익스프레스
- 구입가: $25.27
- 청구가: ₩36,246
- 배송: 무료. 7일 만에 도착.
상품 페이지
https://s.click.aliexpress.com/e/_olqytBR
OLED 모듈이 포함되어 있으며, Meshtastic은 펌웨어 업로드 되어 있습니다. 즉시 사용 가능.
- MCU: ESP32-D0WDQ6-V3
- GNSS: NEO-6M (GPS)
대한민국 영토에서 사용할 때에는 923MHz 모델을 구입하세요. 433MHz는 유럽, 중국, 자동차 관련 IoT에 사용됩니다.
https://s.click.aliexpress.com/e/_omQONk9
- MCU: ESP32-D0WDQ6-V3
- GNSS: NEO-M8N (GPS, GLONASS, Beidou)
위 두 상품은 lilygo 공식 스토어가 아닌 P-IOT Store에서 판매하지만 A/S는 매우 좋습니다.
호환 OLED
https://s.click.aliexpress.com/e/_oDtKYeV
VCC-GND-SCL-SDA 순서의 OLED입니다. lilygo 스토어에서는 상당히 비싸게 판매중이라 다른 곳에서 주문하면 됩니다.
28dB GPS 안테나
https://s.click.aliexpress.com/e/_okpZmFH
GPS 수신 감도가 향상됩니다.
I2C 셀렉터
https://s.click.aliexpress.com/e/_oEXpkMP
중복되는 I2C 주소를 가진 모듈을 동시에 연결할 때 필요한 모듈입니다. 3비트 신호로 8개의 I2C 채널을 선택할 수 있습니다. SPI용 고속 모듈도 있습니다.
개봉
T-Beam 본체와 OLED가 분리 포장되어 도착했습니다. 스폰지를 모두 꺼내면 헤더핀이 보입니다.
LoRa 주파수는 433MHz입니다. 맛보기용이라 주파수는 중요하지 않았어요.
전원 관리 칩은 최신 모델인 AXP2101입니다. T-Beam은 18650 배터리가 들어가며, 1셀 배터리와 주변 기기 전력을 관리해줍니다.
AXP 칩은 출력 전압과 절전 전압을 설정할 수 있으며, ESP32, LoRa, GNSS, LED 등에 공급되는 전력을 관리합니다. 코드를 사용자 정의할 때에는 극도로 주의해야 합니다.
ESP32-D0WDQ6-V3 모델은 FLASH가 4MB이며, 8MB의 PSRAM이 내장되어 있습니다.
LoRa 안테나 커넥터와 GPS 안테나가 보입니다. 주로 고정 위치에 사용되니 GPS 안테나 크기는 매우 작아요.
OLED 헤더핀 납땜
별도의 OLED를 구입할 때에는 핀 배열을 확인해야 합니다. VCC-GND-SCL-SDA 순서여야 헤더핀으로 연결할 수 있습니다. OLED 모듈은 T-Beam 모듈로부터 4mm 띄워서 납땜해야 좋습니다.
이전에 구입한 LiitoKala 18650 배터리를 삽입했습니다. 판스프링이 매우 단단하기 때문에 펜치로 철판을 납작하게 만들고 배터리를 삽입하면 좋습니다. (배터리 빼다가 녹아버린적이 있어서🔥)
전원이 공급되면 자동으로 부팅됩니다. 화면 안내에 따라 Meshtastic 앱을 스마트폰에 설치 후 연결합니다.
3D 케이스
ꥢᅵᆼ기버스에는 여러 종류의 케이스가 등록되어 있습니다.
TTGO-T-Beam-4cockpit by bsiege - Thingiverse
위 모델은 볼트로 덮개를 고정합니다. OLED 구멍 위치가 너무 위로 올라가서 맞지 않습니다. 버튼을 누르기 어렵습니다.
TTGO T-Beam V1.1 NEO-6M (Meshtastic) Case REMIX by Rat_Patrol - Thingiverse
위 모델은 구멍이 일치합니다. 버튼을 누르기 쉽습니다.
케이스 구멍과 OLED 위치가 맞지 않는 이유는 OLED 모듈의 종류가 다양하고, OLED-PCB 접착 방식 때문입니다.
Meshtastic 사용하기
매시타스틱을 연결해봅니다. 스마트폰 앱에서 블루투스 연결을 시도하면 T-Beam의 OLED 화면이 아래처럼 바뀝니다.
블루투스는 PIN 번호를 요구하는데, 화면에 나타난 번호를 입력하면 연결됩니다. OLED가 없으면 기본값인 123456을 입력하면 됩니다. 이 번호는 설정에서 변경할 수 있습니다.
연결이 완료되면 위와 같이 장치 이름과 지역 설정, ☁️(구름) 아이콘에 ✔️표시가 나타납니다.
설정이 완료되면 자동으로 Rebooting 됩니다.
한국으로 설정하면 920MHz 주파수를 사용하기 때문에 433MHz인 LoRa는 동작하지 않습니다. 이때에는 유럽 433MHz를 선택하면 됩니다.
※ 주파수가 잘못 설정되면 보드가 오동작을 할 수 있습니다. 특히 I2C 통신 오류가 발생할 수 있습니다.
Visual Studio Code 펌웨어 업로드
기본으로 업로드된 Meshtastic 펌웨어입니다.
https://github.com/meshtastic/firmware.git
Clone(복제) 후 PlatformIO Terminal에서 아래 명령어를 입력하여 라이브러리를 업데이트 합니다.
git submodule update --init
platformio.ini 파일을 열고 default_envs = tbeam 줄을 주석해제 합니다.
빌드 또는 업로드를 실행하면 아래처럼 작업이 완료 됩니다.
브라우저 펌웨어 업로드
Visual Studio Code가 뭐고 PlatformIO가 뭔지 모르겠다면 웹에서 펌웨어를 업로드 할 수 있습니다.
먼저 기기를 PC에 연결하고
Meshtastic Flasher 사이트에 접속 후
펌웨어 업로드를 하면 됩니다. 여기서는 WebUI 항목도 업로드할 수 있습니다. 속도는 921600을 선택해야 빠릅니다.
업로드가 완료되면 터미널 모니터링 페이지에서 확인할 수 있습니다.
Web UI를 업로드했다면 T-Beam 웹서버에 접속할 수 있습니다. OLED에 안내된 IP 주소로 접속하면 아래와 같은 설정 페이지가 나타납니다.
핀맵
사용자 매뉴얼
단점
이 모듈의 치명적인 단점 중 하나는 SPI 연결 구멍이 없다는 것입니다. SPI는 IIC보다 매우 빠른 전이중 통신이 가능하기 때문에 고속 통신 모듈에 사용됩니다. 외부 기기와의 통신, 대형/컬러 e-Paper를 사용하려면 SPI가 필요합니다. LoRa 모듈용으로 패턴 연결이 되어 있습니다.
GPS 안테나가 매우 작습니다. 안그래도 NEO-6M GNSS 모듈은 GPS 전용이라 수신 감도가 낮은데 안테나까지 작으니 데이터를 수신하기까지 십여분이 소요됩니다. 28dB 대형 안테나를 권장합니다.
LoRa APRS Tracker
https://github.com/lora-aprs/LoRa_APRS_Tracker
간단한 위치 정보 표시 코드입니다. 위 정보를 APRS 서버를 통해 공유하려면 아래 코드를 사용합니다.
https://github.com/richonguzman/LoRa_APRS_iGate
APRS.fi 사이트를 보면 서울에서는 겨우 몇명만 지도에 나타날 정도로 사용자가 희박합니다.
데이터시트
AXP2101(linear)_PMU_Power_Product_X-Powers