Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

[IoT] Telegram Bot с Arduino MKR WiFi 1010

Компоненты и расходные материалы

Arduino MKR WIFI 1010
× 1

Об этом проекте

Этот проект демонстрирует, как взаимодействовать Arduino с API-интерфейсами Telegram Bot. Проект построен на новой плате MKR WiFi 1010, оснащенной модулем ESP32 от U-BLOX.

На данном этапе проект является не более чем проверкой концепции, просто чтобы показать вам, что вы можете сделать с этим, поэтому для этого вам понадобится только плата Arduino.

Но что такое бот Telegram?

Что ж, боты - это просто учетные записи Telegram, которыми управляет программное обеспечение, а не люди, и они часто имеют функции искусственного интеллекта. Они могут делать что угодно - обучать, играть, искать, транслировать, напоминать, подключаться, интегрироваться с другими службами или даже передавать команды в Интернет вещей. (кредиты Telegram:https://telegram.org/blog/bot-revolution)

В нашем случае мы передадим команды Arduino, создающему простое устройство IoT. Он будет отвечать на простые команды, а также включать / выключать встроенный светодиод. Я позволю вашему воображению сделать с этим больше ... (представьте, что вы подключили одно или несколько реле к контактам ввода-вывода и, например, включили / выключили обогреватель или систему кондиционирования воздуха с помощью вашего смартфона).

Шаг 1. Что вам нужно

Для этого проекта вам потребуется:

  • Arduino MKR WiFi 1010 из магазина Arduino:https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5 или выше:https://www.arduino.cc/en/Main/Software
  • Кабель micro-USB для подключения Arduino к ПК.
  • Интернет-соединение, требуется SSID и пароль. Лучше использовать собственный домашний роутер, чтобы убедиться, что он не заблокирован.
  • Приложение Telegram установлено на вашем смартфоне, независимо от марки. Проверьте здесь версию для ПК и веб-версию!

Шаг 2. Установка IDE

Да, я знаю, я знаю ... у большинства из вас уже установлена ​​Arduino IDE на ПК, но это руководство также предназначено для начинающих.

Итак, прежде всего, загрузите Arduino IDE 1.8.5 по вашему выбору (zip-файл для «не администраторов» или exe-файл)

Рекомендуется версия 1.8.5, я не тестировал старые версии, а новая плата, используемая в проекте, вообще не могла поддерживаться.

Теперь вам нужно установить новые платы с их драйверами:

  • запустить IDE
  • Из инструментов в меню выберите Доски . затем в верхней части списка процессоров выберите Диспетчер плат . .
  • Прокрутите новое окно (см. изображение), пока не найдете платы Arduino SAMD, которые включают новый MKR WiFi 1010.
  • Нажмите на эту вкладку или нажмите "Подробнее" на вкладке, выберите последнюю версию и установите.
  • Дождитесь завершения установки. Также позаботится об установке драйверов.
  • Вам также понадобится новая библиотека Wi-Fi для этой платы:выберите Скетч, Включить библиотеку . и Управление библиотеками . Найдите Wifinina и установите, как вы это делали с процессором выше.

Теперь подключите новую плату Arduino и дождитесь, пока Windows завершит установку драйвера.

В Инструменты-> Доска . в меню вы найдете новые платы, выберите MKR WiFi 1010.

Для этого проекта необходима еще одна специальная библиотека, это ESP8266TelegramBot от Giancarlo Bacchio. Библиотека была немного изменена для работы с этой платой, поэтому она включена в папку скетча.

Выберите правильный COM-порт и проверьте плату с помощью Получить информацию о плате . команда.

Поздравляем, вы закончили с IDE!

Шаг 3. Создание бота Telegram

Создать нового бота Telegram довольно просто.

Откройте приложение Telegram и в строке поиска введите @BotFather и начните с ним чат (image1) .BotFather - это ... фабрика ботов. Это поможет вам создать нового бота и изменить его настройки.

После / start вы увидите список справки (изображение2).

  • Введите / newbot . (image3) Теперь введите имя своего бота. Имя отображается в контактных данных и в других местах.
  • BotFather запросит у вас имя пользователя. Имя пользователя - это короткое имя, которое будет использоваться в упоминаниях и ссылках на telegram.me. Имена пользователей состоят из 5–32 символов и нечувствительны к регистру, но могут включать только латинские символы, числа и символы подчеркивания. Имя пользователя вашего бота должно заканчиваться на "bot", например «Tetris_bot» или «TetrisBot» .
  • Если и имя, и имя пользователя действительны, вы получите длинную строку символов под названием TOKEN. Это ваш личный `` ключ '', используемый для связи с серверами Telegram. Скопируйте и вставьте его в текстовый файл на свой компьютер. Мы будем использовать его позже в коде Arduino. Если вы потеряете его, не волнуйтесь, просто откройте чат и введите / token . для создания нового.

Все шаги описаны здесь:https://core.telegram.org/bots#6-botfather

Дополнительно (необязательно)

Снова откройте чат и введите / help .

Нажмите (или введите) / setuserpic , чтобы загрузить изображение для своего бота. Нажмите (или введите) / setabouttext чтобы настроить раздел «О себе» для вашего бота:люди будут видеть этот текст на странице профиля бота, и он будет отправлен вместе со ссылкой на вашего бота, когда они поделятся им с кем-то.

Нажмите (или введите) / setdescription чтобы установить раздел описания для вашего бота. Люди увидят это описание, когда они откроют чат с вашим ботом, в блоке под названием «Что умеет этот бот?»

Шаг 4. Измените, загрузите и протестируйте эскиз

Пришло время загрузить программное обеспечение на плату Arduino MKR WiFi 1010.

Загрузите прикрепленный эскиз и разархивируйте его, пожалуйста, не меняйте имена и папки, если вы не знаете, что делаете.

Изменить

Откройте скетч, нам нужно заполнить некоторую информацию (image1),

Перейдите на вкладку arduino_secrets.h:

  • Найдите информацию о сети Wi-Fi и введите имя вашей сети (SSID) и пароль.
  • Найдите информацию о боте в Telegram и введите имя, имя пользователя и токен, предоставленные @BotFather.

Загрузить

Убедитесь, что плата правильная (image2) в ide и подключена, затем попробуйте скомпилировать код. Если компиляция прошла успешно, загрузите ее на доску, это займет всего несколько секунд.

В случае возникновения проблем проверьте наличие опечатки и повторите попытку.

Тест

[ВАЖНО!] Скетч отправляет логи в IDE. У процессора есть родной порт USB (как на платах Леонардо). После включения код будет ждать, пока не запустится серийный монитор. Итак, позвольте ему подключиться к ПК и откройте последовательный монитор. Arduino сначала подключится к Интернету, а затем начнет опрашивать сервер Telegram на предмет новых сообщений (изображение 3).

Теперь откройте Telegram на предпочитаемом вами устройстве и в поле поиска введите имя своего бота (а не имя пользователя, которое заканчивается на «бот»). Откройте чат с ним.

Первая команда для начала чата с ботом - / start . , наш Arduino ответит приветственным сообщением. Теперь введите help (без косой черты), он ответит списком поддерживаемых команд, вы можете попробовать их все (image4).

Вы закончили тест, если что-то не работает, проверьте информацию, введенную в эскиз (имя, имя пользователя, токен ...)

Сертификаты Если у вас возникли ошибки при подключении к серверу Telegram (лог:Бот не подключен):

  • Откройте Инструменты-> Средство обновления Wifi101 / wifinina.
  • Убедитесь, что ваша плата подключена, проверьте порты слева от средства обновления, плата должна быть там.
  • Нажмите "Открыть эскиз средства обновления" и загрузите его на доску.
  • После загрузки в программе обновления выберите последнюю версию прошивки для вашей платы и нажмите «Обновить прошивку».
  • После обновления в программе обновления в разделе SSL-сертификаты нажмите Добавить домен, в диалоговом окне напишите telegram.org:443 и нажмите ОК.
  • Нажмите "Загрузить сертификаты в модуль Wi-Fi".
  • Загрузите этот набросок на доску.

Шаг 5. Улучшение

Глядя на код, очень просто реализовать новые команды и ответить пользователю.

Новые команды

Вы можете написать подпрограмму для каждой новой команды. Каждый субподрядчик позаботится о завершении команды и (в конечном итоге) вернет пользователю информацию о статусе.

Ограничение пользователей

Конечно, это всего лишь демонстрация. Любой пользователь Telegram может подключиться к вашему дому и отправлять нежелательные команды. Вы этого не хотите!

Что ж, посмотрите на image1, там 2 подключенных пользователя. Как видите, у каждого пользователя есть собственный идентификатор пользователя. Немного поработав над кодом, вы можете фильтровать (или создавать список) только для авторизованных пользователей. Просто изучите код и попробуйте перехватить идентификационный номер пользователя. Затем выполняйте команды только от известных пользователей.

Оборудование

Что касается аппаратного обеспечения, то к контактам ввода-вывода Arduino можно подключить множество датчиков и реле.

Будьте осторожны:плата, использованная в этом проекте, толерантна к напряжению 3,3 В !!! При необходимости используйте переключатель уровня напряжения! Для получения дополнительной информации и советов по этой плате, пожалуйста, прочтите здесь:https://www.arduino.cc/en/Guide/MKRWiFi1010

Вот и все, наслаждайтесь!

Код

  • MKR1010Bot_V1_02.zip
MKR1010Bot_V1_02.zip C / C ++
Скетч Telegram Bot
 Без предварительного просмотра (только загрузка) 

Производственный процесс

  1. GoPiGo v2 с Windows IoT
  2. Управление монетоприемником с помощью Arduino
  3. Детектор звуковой частоты
  4. Arduino с Bluetooth для управления светодиодом!
  5. Tech-TicTacToe
  6. DIY вольтметр с Arduino и дисплеем Nokia 5110
  7. Таймер обратного отсчета Arduino
  8. Устройства с голосовым управлением Bluetooth с OK Google
  9. Создайте приложение Fridgeye с дисплеем Nextion
  10. Радиоуправляемый автомобиль Porsche (проект Arduino)