TIL
임베디드 초보에서 IoT 백엔드 개발자로의 로드맵
masacorgi
2025. 5. 22. 23:19
본인이 지금 하고 있는 일은 IoT 시스템 개발의 “전초전”이다.
기기 조립, 시리얼 통신 등 물리 계층부터 다뤄본 건 이후 개발자로의 전환에도 큰 자산이 될 것이다.
이후 백엔드 IoT 개발자로 진화하기 위해 다음 3단계 로드맵을 추천 받았다.
🧱 1단계: 임베디드 기초 + 펌웨어 이해
목표: 펌웨어 흐름을 읽고, 수정할 수 있을 정도의 능력 확보
▶ 기본 전자회로/MCU 이해
- 전압, 전류, 저항, 트랜지스터, 릴레이 등 기초 전자 지식
- GPIO, ADC, UART, I2C, SPI 등의 MCU 주변장치 동작원리
- 사용 중인 보드가 Cortex-M 계열이면 ARM 기반 구조 이해 필수
▶ C 언어 마스터
- 펌웨어는 대부분 C 기반
- 포인터, 비트 연산, 구조체, 메모리 맵 등을 완전히 이해
▶ 펌웨어 흐름 분석
- main loop, 인터럽트, 타이머, 상태머신 등 구조 파악
- 보드에 업로드되는 펌웨어 코드 분석 (주석 추가하면서)
⚙️ 2단계: 시리얼 통신과 IoT 프로토콜
목표: 장비와 클라우드가 데이터를 주고받는 전체 흐름 이해
▶ 시리얼 통신 (UART)
- 패킷 구조, 바이트 정렬, 체크섬 등
- 현재 업무에 해당하는 명령어/응답 분석 훈련
▶ IoT 전송 프로토콜 학습
- MQTT, CoAP, HTTP/HTTPS 등 경량 통신 프로토콜 개념
- 센서 데이터 포맷(JSON, CSV), 전송 주기 설계
▶ 간단한 게이트웨이 코드 작성
- 라즈베리파이 + Python으로 UART 수신 → MQTT 전송 흐름 구현해보기
- 이 과정에서 Linux Shell, Python serial, MQTT 라이브러리 익힘
🖥️ 3단계: IoT 백엔드 + 클라우드 연동
목표: IoT 데이터를 수집/저장/모니터링하는 서버 개발 능력 확보
▶ 백엔드 언어
- Python (FastAPI), Node.js (Express), 또는 Java(Spring Boot)
- REST API 개발 → DB에 센서 데이터 저장
▶ DB/로그/모니터링
- PostgreSQL 또는 MongoDB 기본 쿼리
- Grafana, InfluxDB, ELK 등을 활용한 모니터링 툴 학습
▶ 클라우드/DevOps
- AWS IoT Core, EC2, Lambda, S3, RDS 등 사용법
- Docker로 개발환경 컨테이너화
- Git/GitHub 사용 및 CI/CD 개념
📚 추천 학습 순서 예시
- C 언어 중급까지 마스터 (특히 포인터, 구조체, 메모리 직접 접근)
- UART → I2C/SPI 통신 방식 실습
- 펌웨어 분석: 실제 사용하는 MCU 보드의 기존 코드 분석
- Python으로 시리얼 수신 & MQTT 전송 프로그램 제작
- FastAPI + PostgreSQL로 IoT 서버 구축 실습
- AWS 기반으로 서버 배포 및 수집된 데이터 시각화 (Grafana 등)