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 개념

📚 추천 학습 순서 예시

  1. C 언어 중급까지 마스터 (특히 포인터, 구조체, 메모리 직접 접근)
  2. UART → I2C/SPI 통신 방식 실습
  3. 펌웨어 분석: 실제 사용하는 MCU 보드의 기존 코드 분석
  4. Python으로 시리얼 수신 & MQTT 전송 프로그램 제작
  5. FastAPI + PostgreSQL로 IoT 서버 구축 실습
  6. AWS 기반으로 서버 배포 및 수집된 데이터 시각화 (Grafana 등)