산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 MKR WiFi 1010으로 텔레그램 봇 만들기 – IoT 입문 가이드

필요한 부품 및 소모품

부품 수량
아두이노 MKR WiFi 1010 1

프로젝트 소개

이 프로젝트는 아두이노를 텔레그램 봇 API와 연동하는 방법을 보여줍니다. U-BLOX의 ESP32 모듈을 탑재한 새로운 MKR WiFi 1010 보드를 사용합니다.

현재는 개념 증명(PoC) 단계로, 가능한 것을 보여주는 데 의의가 있어 보드만 있으면 됩니다.

텔레그램 봇이란?

봇은 사람이 아닌 소프트웨어가 운영하는 텔레그램 계정으로, AI 기능을 갖기도 합니다. 교육, 놀이, 검색, 방송, 알림, 연동, IoT 기기 제어 등 무엇이든 할 수 있습니다. (출처: 텔레그램 공식 블로그)

이 프로젝트에서는 아두이노에 명령을 내려 간단한 IoT 기기를 만듭니다. 간단한 명령에 응답하고 내장 LED를 켜고 끄는 정도지만, 상상력을 발휘하면 릴레이를 연결해 히터나 에어컨을 스마트폰으로 제어하는 등 확장할 수 있습니다.

1단계: 준비물

2단계: IDE 설치 및 보드 설정

  1. 아두이노 IDE 1.8.5 다운로드/설치 (zip 또는 exe). 구버전은 MKR WiFi 1010을 지원하지 않을 수 있습니다.
  2. IDE 실행 → Tools > Board > Boards Manager → 'Arduino SAMD Boards' 검색 → 최신 버전 설치 (드라이버 포함).
  3. Sketch > Include Library > Manage Libraries → 'WiFiNINA' 검색 → 설치.
  4. 보드 연결 후 윈도우 드라이버 설치 대기.
  5. Tools > Board에서 'Arduino MKR WiFi 1010' 선택.
  6. 이 프로젝트용 특수 라이브러리인 ESP8266TelegramBot (Giancarlo Bacchio 작, 본 보드용으로 약간 수정됨)이 스케치 폴더에 포함되어 있습니다.
  7. 올바른 COM 포트 선택 후 Get Board Info로 테스트.

3단계: 텔레그램 봇 생성

  1. 텔레그램 앱에서 검색창에 @BotFather 입력 후 채팅 시작.
  2. /start → 도움말 확인.
  3. /newbot 입력.
  4. 봇 이름 입력 (연락처 등에 표시됨).
  5. 유저네임 입력 (5~32자, 영문/숫자/언더바, 대소문자 구분 없음, 반드시 'bot'으로 끝나야 함, 예: mybot 또는 MyBot).
  6. 성공하면 긴 문자열 TOKEN 발급. 이 키로 텔레그램 서버와 통신. 안전한 곳에 복사해 두세요. 잃어버리면 /token으로 재발급 가능.

고급 설정 (선택 사항)

자세한 가이드: 텔레그램 봇 API 문서

4단계: 스케치 수정·업로드·테스트

  1. 첨부된 스케치(MKR1010Bot_V1_02.zip) 다운로드·압축 해제 (폴더/파일명 변경 금지).
  2. 스케치 열기 → arduino_secrets.h 탭에서 수정:
    • WiFi SSID와 비밀번호 입력
    • 봇 이름, 유저네임, 토큰 입력
  3. 보드/포트 확인 후 컴파일·업로드.
  4. [중요!] 시리얼 모니터를 열어야 합니다. MKR WiFi 1010은 네이티브 USB 포트(레오나르도类似)라 시리얼 모니터가 열릴 때까지 대기합니다. 시리얼 모니터 열면 WiFi 연결 → 텔레그램 서버 폴링 시작 로그가 뜹니다.
  5. 텔레그램에서 봇 이름으로 검색해 채팅 시작.
  6. /start → 환영 메시지 수신.
  7. help (슬래시 없이) → 지원 명령어 목록 확인 후 테스트.

인증서 문제 해결

텔레그램 서버 연결 오류(Bot not connected) 시:

  1. Tools > WiFi101/WiFiNINA Firmware Updater 열기.
  2. 보드 연결 확인 (포트 목록에 나타나는지).
  3. Open updater sketch → 업로드.
  4. 최신 펌웨어 선택 후 Update firmware.
  5. SSL Certificates 섹션에서 Add domain → telegram.org:443 입력 → OK.
  6. Upload certificates to wifi module.
  7. 본 스케치 다시 업로드.

5단계: 개선 아이디어

새 명령어 추가

코드를 보면 각 명령어별 서브루틴을 추가해 쉽게 확장 가능합니다. 명령 수행 후 상태 정보를 사용자에게 반환하게 구성하세요.

사용자 제한 (보안)

데모라 아무나 접속 가능합니다. 시리얼 모니터에 뜨는 유저 ID를 확인해, 허용된 유저 ID만 명령 실행하도록 필터링 로직을 추가하세요.

하드웨어 확장

아두이노 I/O 핀에 다양한 센서와 릴레이 연결 가능. 주의: MKR WiFi 1010은 3.3V 로직입니다! 5V 센서/릴레이 사용 시 레벨 시프터 필수. 자세한 사항: 공식 가이드

코드

첨부 파일 MKR1010Bot_V1_02.zip (C/C++) 참조. 스케치 전체는 다운로드만 가능합니다.

제조공정

  1. 고피고(GoPiGo) v2 윈도우 10 IoT 코어 라즈베리파이 3 확장 프로젝트
  2. 스마트 저금통 만들기: 아두이노 나노로 동전 인식기 제어하기
  3. 아두이노 오디오 주파수 감지기 - 고감도 사운드 모듈로 최대 음량 피크 주파수 측정
  4. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  5. 아두이노 틱택토 게임 - MAX7219 LED 매트릭스와 골판지 케이스
  6. 아두이노와 노키아 5110 LCD로 만드는 DIY 전압계 - 단계별 가이드
  7. 스파크펀 7-세그먼트 디스플레이로 신뢰할 수 있는 아두이노 카운트다운 타이머 만들기
  8. 구글 어시스턴트와 블루투스로 음성 제어하는 홈 IoT: 아두이노 우노와 4채널 릴레이
  9. Nextion 디스플레이로 Fridgeye 앱 만들기: 단계별 가이드
  10. 아두이노로 직접 만드는 RC 포르쉐 자동차: 단계별 가이드