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

[IoT] Arduino MKR WiFi 1010이 탑재된 텔레그램 봇

구성품 및 소모품

Arduino MKR WIFI 1010
× 1

이 프로젝트 정보

이 프로젝트는 Arduino를 Telegram Bot API와 인터페이스하는 방법을 보여줍니다. 이 프로젝트는 U-BLOX의 ESP32 모듈이 장착된 새로운 MKR WiFi 1010 보드를 중심으로 구축되었습니다.

이 단계에서 프로젝트는 개념 증명에 불과하며 무엇을 할 수 있는지 보여주기 위한 것이므로 Arduino 보드만 있으면 됩니다.

하지만 텔레그램 봇이란 무엇입니까?

봇은 사람이 아니라 소프트웨어로 운영하는 텔레그램 계정일 뿐이며 AI 기능이 있는 경우가 많습니다. 그들은 무엇이든 할 수 있습니다. 가르치고, 재생하고, 검색하고, 방송하고, 상기시키고, 연결하고, 다른 서비스와 통합하거나, 사물 인터넷에 명령을 전달할 수도 있습니다. (텔레그램 제공:https://telegram.org/blog/bot-revolution)

우리의 경우 간단한 IoT 장치를 구축하는 Arduino에 명령을 전달합니다. 간단한 명령에 응답하고 내장 LED를 켜거나 끕니다. 당신의 상상력이 더 많은 일을 하도록 할게요... (예를 들어, 하나 이상의 릴레이를 I/O 핀에 연결하고 스마트폰으로 히터나 에어컨 시스템을 켜고 끄는 것을 상상해 보세요).

1단계:필요한 것

이 프로젝트에는 다음이 필요합니다.

<울>
  • Arduino 스토어의 Arduino MKR WiFi 1010:https://store.arduino.cc/arduino-mkr-wifi-1010
  • <울>
  • Arduino IDE 1.8.5 이상:https://www.arduino.cc/en/Main/Software
  • <울>
  • Arduino를 PC에 연결하기 위한 마이크로 USB 케이블
  • <울>
  • 인터넷 연결을 위해서는 SSID와 비밀번호가 필요합니다. 자신의 홈 라우터를 사용하여 차단되지 않았는지 확인하는 것이 좋습니다.
  • <울>
  • 브랜드 상관없이 스마트폰에 텔레그램 앱이 설치되어 있습니다.PC 버전과 웹 버전도 여기에서 확인하세요!
  • 2단계:IDE 설치

    예, 저도 알아요... 여러분 대부분은 이미 PC에 Arduino IDE가 설치되어 있지만 이 튜토리얼은 초보자를 위한 것입니다.

    따라서 우선 선택한 Arduino IDE 1.8.5('비관리자'용 zip 파일 또는 exe 파일)를 다운로드하십시오.

    1.8.5 버전을 권장하며, 이전 버전은 테스트하지 않았고 프로젝트에 사용된 새 보드는 전혀 지원되지 않습니다.

    이제 드라이버와 함께 새 보드를 설치해야 합니다.

    <울>
  • IDE 시작
  • <울>
  • 도구에서 메뉴 선택 보드 그런 다음 프로세서 목록 상단에서 보드 관리자를 선택합니다. .
  • <울>
  • 새로운 MKR WiFi 1010이 포함된 Arduino SAMD 보드를 찾을 때까지 새 창(이미지 참조)을 스크롤합니다.
  • <울>
  • 해당 탭을 클릭하거나 탭 안의 추가 정보를 클릭하고 최신 버전을 선택하고 설치하세요.
  • <울>
  • 설치가 완료될 때까지 기다립니다. 드라이버 설치도 처리합니다.
  • <울>
  • 이 보드에 대한 새 WiFi 라이브러리도 필요합니다. 스케치, 라이브러리 포함 을 선택합니다. 및 라이브러리 관리 위의 프로세서와 마찬가지로 Wifinina를 검색하고 설치합니다.
  • 이제 새 Arduino 보드를 연결하고 Windows가 드라이버 설치를 완료할 때까지 기다립니다.

    도구->게시판에서 메뉴에서 새 보드를 찾으려면 MKR WiFi 1010을 선택하십시오.

    이 프로젝트에는 또 다른 특별한 라이브러리가 필요합니다. Giancarlo Bacchio의 ESP8266TelegramBot 라이브러리입니다. 이 라이브러리는 이 보드와 함께 작동하도록 약간 수정되어 스케치 폴더에 포함됩니다.

    올바른 COM 포트를 선택하고 보드 정보 가져오기로 보드를 테스트합니다. 명령.

    축하합니다. IDE가 완료되었습니다!

    3단계:텔레그램 봇 만들기

    새로운 텔레그램 봇을 만드는 것은 매우 간단합니다.

    Telegram 앱을 열고 검색 창에 @BotFather를 입력하고 그와 채팅을 시작하세요(image1).BotFather는... 봇 공장입니다. 새 봇을 만들고 설정을 변경하는 데 도움이 됩니다.

    /start 후 명령을 실행하면 도움말 목록(image2)이 표시됩니다.

    <울>
  • /newbot 입력 (image3)이제 봇의 이름을 입력합니다. 이름은 연락처 세부정보 및 기타 위치에 표시됩니다.
  • <울>
  • BotFather가 사용자 이름을 묻습니다. 사용자 이름은 멘션 및 telegram.me 링크에 사용되는 짧은 이름입니다. 사용자 이름은 길이가 5-32자이고 대소문자를 구분하지 않지만 라틴 문자, 숫자 및 밑줄만 포함할 수 있습니다. 봇의 사용자 이름은 'bot'으로 끝나야 합니다. 예:'tetris_bot' 또는 'TetrisBot' .
  • <울>
  • 이름과 사용자 이름이 모두 유효한 경우 TOKEN이라는 긴 문자열을 받게 됩니다. 이것은 텔레그램 서버와 통신하는 데 사용되는 개인 '키'입니다. 지금은 PC의 텍스트 파일에 복사하여 붙여넣습니다. 나중에 Arduino 코드에 사용하겠습니다. 잃어버리더라도 걱정하지 마세요. 채팅을 다시 열고 /token을 입력하세요. 새 항목을 생성합니다.
  • 모든 단계는 https://core.telegram.org/bots#6-botfather

    에 설명되어 있습니다.

    고급 (선택 사항)

    채팅을 다시 열고 /help를 입력합니다.

    /setuserpic 을 클릭(또는 입력)하십시오. 봇의 사진을 업로드하려면 /setabouttext를 클릭하거나 입력하세요. 봇에 대한 정보 섹션 설정:사람들은 봇의 프로필 페이지에서 이 텍스트를 보게 되며 다른 사람과 공유할 때 봇에 대한 링크와 함께 전송됩니다.

    /setdescription 클릭(또는 입력) 봇에 대한 설명 섹션을 설정합니다. 사람들이 봇과 채팅을 열 때 '이 봇은 무엇을 할 수 있나요?'라는 제목의 블록에서 이 설명을 보게 됩니다.

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

    이제 Arduino MKR WiFi 1010 보드에 소프트웨어를 업로드할 시간입니다.

    첨부된 스케치를 다운로드하여 압축을 풉니다. 무엇을 하고 있는지 모르는 경우 이름과 폴더를 변경하지 마십시오.

    수정

    스케치를 열고 정보를 입력해야 합니다(image1),

    arduino_secrets.h 탭으로 이동:

    <울>
  • WiFi 네트워크 정보를 찾아 네트워크 이름(SSID)과 비밀번호를 입력합니다.
  • <울>
  • 텔레그램 봇 정보를 찾아 @BotFather에서 제공한 이름, 사용자 이름 및 토큰을 입력합니다.
  • 업로드

    보드가 IDE에서 올바르고(image2) 연결되어 있는지 확인한 다음 코드를 컴파일해 보십시오. 편집이 잘 되면 게시판에 업로드하면 몇 초 밖에 걸리지 않습니다.

    문제가 있는 경우 오타를 확인하고 다시 시도하십시오.

    테스트

    [중요!] 스케치는 로그를 IDE로 보냅니다. 프로세서에는 Leonardo 보드와 같은 기본 USB 포트가 있습니다. 전원이 켜지면 코드는 직렬 모니터가 실행될 때까지 기다립니다. 따라서 PC에 연결하고 직렬 모니터를 엽니 다. Arduino는 먼저 인터넷에 연결한 다음 Telegram 서버에서 새 메시지를 폴링하기 시작합니다(image3).

    이제 선호하는 장치에서 Telegram을 열고 검색 상자에 봇 이름을 입력하십시오('bot'로 끝나는 사용자 이름이 아님). 채팅을 시작하세요.

    봇과 채팅을 시작하는 첫 번째 명령은 /start입니다. , Arduino가 환영 메시지로 응답할 것입니다. 이제 help를 입력하십시오. (슬래시 제외), 지원되는 명령 목록으로 응답합니다. 모두 시도할 수 있습니다(image4).

    테스트가 완료된 것입니다. 작동하지 않는 경우 스케치에 입력된 정보(이름, 사용자 이름, 토큰...)를 확인하십시오.

    인증서 텔레그램 서버 연결에 오류가 있는 경우(로그:봇이 연결되지 않음):

    <울>
  • 도구 열기->Wifi101/wifinina 업데이터
  • <울>
  • 보드가 연결되어 있는지 확인하고 업데이트 도구 왼쪽에 있는 포트를 확인합니다. 보드가 있어야 합니다.
  • <울>
  • 업데이터 스케치 열기를 클릭하고 게시판에 업로드
  • <울>
  • 업로드 후 업데이터에서 보드의 최신 펌웨어를 선택하고 펌웨어 업데이트를 클릭합니다.
  • <울>
  • 업데이트 후 업데이트 프로그램의 SSL 인증서 섹션에서 도메인 추가를 클릭하고 대화 상자에서 telegram.org:443을 작성한 다음 확인을 누릅니다.
  • <울>
  • WiFi 모듈에 인증서 업로드를 클릭합니다.
  • <울>
  • 이 스케치를 보드에 업로드
  • 5단계:개선 사항

    코드를 보면 새로운 명령을 구현하고 사용자에게 응답하는 것은 매우 간단합니다.

    새 명령

    각각의 새 명령에 대해 서브를 작성할 수 있습니다. 모든 서브는 명령 완료를 처리하고 (결국) 사용자에게 상태 정보를 반환합니다.

    사용자 제한

    물론 이 프로젝트는 데모일 뿐입니다. 모든 텔레그램 사용자는 집에 연결하여 원치 않는 명령을 보낼 수 있습니다. 당신은 이것을 원하지 않습니다!.

    글쎄, 이미지 1을 보면 2명의 사용자가 연결된 것을 보여줍니다. 보시다시피 각 사용자는 고유한 사용자 ID를 가지고 있습니다. 코드 쪽에서 약간의 작업을 통해 승인된 사용자만 필터링(또는 목록 작성)할 수 있습니다. 코드를 공부하고 사용자 ID 번호를 가로채십시오. 그런 다음 잘 알려진 사용자의 명령만 실행합니다.

    하드웨어

    하드웨어 측면에서는 많은 센서와 릴레이를 Arduino의 I/O 핀에 연결할 수 있습니다.

    주의:이 프로젝트에 사용된 보드는 3.3V 허용!!! 필요한 경우 전압 레벨 시프터를 사용하십시오! 이 보드에 대한 자세한 정보와 팁은 https://www.arduino.cc/en/Guide/MKRWiFi1010

    을 참조하십시오.

    그게 다야, 즐기세요!

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • MKR1010Bot_V1_02.zip
  • MKR1010Bot_V1_02.zipC/C++
    Telegram Bot 스케치
    미리보기 없음(다운로드만 가능).

    제조공정

    1. Windows IoT 기반 GoPiGo v2
    2. Arduino로 코인 억셉터 제어
    3. 오디오 주파수 감지기
    4. Bluetooth가 탑재된 Arduino로 LED 제어!
    5. Tech-TicTacToe
    6. Arduino 및 Nokia 5110 디스플레이가 있는 DIY 전압계
    7. Arduino 카운트다운 타이머
    8. OK Google이 포함된 Bluetooth 음성 제어 기기
    9. Nextion 디스플레이로 Fridgeye 앱 구축
    10. RC 포르쉐 자동차(Arduino 프로젝트)