Создание бота для мессенджера "Telegram" на базе микроконтроллера Iskra

Конструирование устройства для дистанционного доступа к информации о получении корреспонденции на бумажном носителе. Использование микроконтроллера Iskra JS для решения поставленной задачи. Схематичное изображение дальномера и хода ультразвуковых волн.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 16.05.2019
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ОТЧЁТ ПО НАУЧНОЙ РАБОТЕ

Тема: Создание бота для мессенджера «Telegram» на базе микроконтроллера Iskra

Выполнил: Добротворский Иван Борисович

Содержание

Введение

Анализ существующих решений

Методы решения поставленной задачи

Результат работы

Заключение

Список литературы

Введение

Информационные технологии, широко распространённые в наш век, призваны помочь человеку в решении различных задач. Часто бывает нужно контролировать и получать информацию о процессах, происходящих на удалении от наблюдателя. Для обеспечения удаленного доступа к различным устройствам, можно использовать электронные средства коммуникации.

Цель данной работы - сконструировать устройство для дистанционного доступа к информации о получении корреспонденции на бумажном носителе. Поступление объекта (документы, письма) в ящик для корреспонденции фиксируется установленным в ящике дальномером, и пользователь получает извещение в мессенджере Telegram на смартфон.

Актуальность данной работы в следующем: несмотря на повсеместную распространенность передачи информации в электронном виде, во многих сферах человеческой деятельности остается необходимость использовать документы на бумажном носителе. Процесс передачи такого формата документов бывает затруднен - в офисах, организациях, да и в личных почтовых ящиках ячейки с бумажными документами невозможно постоянно контролировать. Создание данного устройства поможет упростить этот процесс. Это может оптимизировать работу в учреждении или помочь частному пользователю отслеживать поступление корреспонденции на бумажном носителе, причем выбор среды мессенджера обусловлен долгосрочным хранением информации - поступившие уведомления не исчезают после просмотра.

Анализ существующих решений

Сейчас для решения аналогичных задач используются различные микроконтроллеры с поддержкой модулей для передачи данных по Wi-Fi сети. Микроконтроллер - микросхема, предназначенная для управления электронными устройствами. Как правило, контроллер не работает в одиночку, а запаивается в схему, где, кроме него, подключаются экраны, клавиатурные входы, различные датчики и т.д. На сегодняшний день существует огромное количество различных микропроцессоров, каждый из которых создан для выполнения определённых задач. Но каждый из них сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, микроконтроллер - это однокристальный компьютер, способный выполнять относительно простые задачи. Сейчас на рынке появляется всё больше и больше подобных устройств, содержащих в себе базовое программное обеспечения для создания управляющих программ. Наличие такого ПО значительно упрощает работу на микроконтроллере.

Примеры таких микроконтроллеров:

· Arduino

· Raspberry Pi

· Iskra

Для разработки собственных приложений на базе подобных плат требуется использование различных сред программирования, созданных для упрощения прошивки платы. Причём, каждый тип микроконтроллеров с установленным ПО нуждается в определенной, подходящей только для данного типа, среде.

Чтобы увеличить возможности микроконтроллера, к нему припаиваются или присоединяются любым иным способом разнообразные модули, позволяющие считывать, передавать или обрабатывать информацию.

Примеры модулей:

· Модули беспроводной связи

· Интерфейсы

· Драйверы моторов

· Сенсоры

· Коммутаторы

Микроконтроллеры обычно не могут выдавать произвольное напряжение. Они могут выдать либо напряжение питания (например, 5 В), либо землю (т.е. 0 В). Но уровнем напряжения управляется многое: например, яркость светодиода или скорость вращения мотора. Для симуляции неполного напряжения используется ШИМ (Широтно-Импульсная Модуляция). Благодаря сигналам ШИМ, схема которых продемонстрирована на рисунке 1, напряжение на выходе микроконтроллера может меняться между землёй и максимальным входным напряжением с частотой в тысячи герц, и т.к. человеческий глаз не может воспринимать частоту выше ~50Гц будет казаться, что светодиод горит вполсилы.

Рис. 1 Широтно-Импульсная Модуляция(ШИМ)

Методы решения поставленной задачи

Для решения поставленной задачи использовался микроконтроллер Iskra JS.

Характеристика микроконтроллера Iskra JS:

· Микроконтроллер: STM32F405RG (32-битный ARM Cortex M4)

· Тактовая частота: 168 МГц

· Объём флеш-памяти: 1024 КБ

· Объём флеш-памяти для хранения программы: 256 КБ

· Объём SRAM: 192 КБ

· Портов ввода-вывода всего: 26

· Портов с АЦП: 12

· Разрядность АЦП: 12 бит (4096 градаций)

· Портов с ЦАП: 2

· Разрядность ЦАП: 12 бит (4096 градаций)

· Портов с ШИМ: 22

· Портов толерантных к 5 В: 11

· Аппаратных интерфейсов SPI: 2

· Аппаратных интерфейсов IІC?/?TWI: 3

· Аппаратных интерфейсов UART?/?Serial: 4

· Номинальное рабочее напряжение: 3,3 В

· Максимальный ток с шины 5V: 1000 мА

· Максимальный ток с шины 3.3V: 300 мА (включая питание микроконтроллера)

· Максимальный ток с пина или на пин: 25 мА

· Максимальный суммарный ток с пинов или на пины: 240 мА

· Допустимое входное напряжение от внешнего источника: 7-15 В (3,6-12 В без шины 5V)

· Рабочий температурный режим: ?20…+70 °C

На рисунке 2 представлена принципиальная схема микроконтроллера Iskra JS. Элементы платы:

· 32-разрядный микроконтроллер STM32F405RG от STMicroelectronics с вычислительном ядром ARM Cortex M4.

· Разъём micro-USB предназначен для прошивки платформы Iskra JS с помощью компьютера.

· Разъём для подключения внешнего питания.

· Стабилизатор напряжения MC33275ST с выходом 3,3 вольта.

· Стабилизатор напряжения MC7805BD с выходом 5 вольт.

· Светодиодный индикатор.

· Кнопка RESET.

· SPI-разъем, предназначенный для связи с другим SPI устройством.

· SWD-разъём, предназначенный для внутрисхемного программирования микроконтроллера STM32F405RG через программатор, например, ST-Link.

На рисунках 3,4 продемонстрированы монтажная схема и фотография микроконтроллера соответственно.

Рис. 2 Принципиальная схема микроконтроллера

Рис. 3 Монтажная схема микроконтроллера

Рис. 4 Фотография микроконтроллера

Для решения поставленных задач возможно использование различных инструментов для работы с Iskra JS. Но выбранная для работы среда Espruino Web IDE (Integrated Development Environment) может одновременно совмещать в себе редактор кода и панель консоли. Консоль в данной среде может не только выводить информацию, но и принимать её без перезагрузки новой программы в микроконтроллер. Это приложение работает на платформе Google Chrome и доступно для Windows, Mac OS, Linux, Chrome OS. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

Таким образом для написания приложения была выбрана платформа Espruino Web IDE,а для реализации приложения язык JavaScript. Данный язык проще чем C++ (который используется для программирования других микроконтроллеров), так как для написания программного обеспечения на C++ требуется полное понимание строения микросхемы.

В ходе решения поставленной задачи была написана программа, алгоритм которой представлен в виде блок-схемы на рисунке 5.

Рис. 5 Блок-схема основной части программы

Также для создания устройства использовались: плата расширений Slot Shield, представленная на рисунке 6, беспроводной модуль Wi-Fi, изображенный на рисунке 7, ультразвуковой дальномер HC-SR04.

Рис. 6 Плата расширений Slot Shield

Рис. 7 Беспроводной модуль Wi-Fi

Плата расширений устанавливается на основной микроконтроллер для простой установки дополнительных модулей. Именно к ней подключается беспроводной модуль Wi-Fi и дальномер.

Wi-fi модуль позволяет устройству передавать данные по Wi-fi сети. Wi-fi это стандарт связи. Сеть создаётся роутером, к которому могут подключаться клиенты. Роутер позволяет клиентам выходить в интернет, если он сам имеет к нему доступ. Модуль общается с Iskra JS по протоколу UART на скорости 115200 бод.

Для удобной работы с устройством через интернет использовался сервис Telegram. Данный сервис оснащён возможностью создания бота (простой запросо-ответной программы),которая передаёт данные с дальномера на смартфон.

Регистрации данных о наличии нового объекта в ящике для корреспонденции производилась с помощью ультразвукового дальномера HC-SR04,фотография и схема которого продемонстрирована на рисунках 8,9. Он генерирует звуковые импульсы на частоте 40 кГц и определяет время между отправкой и получением отразившейся от объекта волны. По времени распространения звуковой волны туда и обратно можно однозначно определить расстояние до объекта.

Характеристики дальномера:

· Напряжение питания: 5 В

· Потребление в режиме тишины: 2 мА

· Потребление при работе: 15 мА

· Диапазон расстояний: 2-400 см

· Эффективный угол наблюдения: 15°

· Рабочий угол наблюдения: 30°

При решении задачи возникли следующие проблемы:

· Ультразвуковой дальномер оказался не идеальным устройством для определения малых расстояний, что привело к ложным срабатываниям устройства.

· Плата расширений Slot Shield расcчитана на подключение стандартных модулей, которые имеют только три пина(G - земля, V - питание, S - сигнал).А ультразвуковой дальномер оснащён четырьмя(Gnd - земля, Vcc - питание,Trig - пин для отправки ультразвуковой волны,Echo - пин для приема ультразвуковой волны),следовательно пришлось подключать дальномер к плате посредством других проводов.

Рис. 8 Фотография дальномера

Рис. 9 Схематичное изображение дальномера и хода ультразвуковых волн

Результат работы

дистанционный микроконтроллер дальномер ультразвуковой

Используя методы решения поставленной задачи, описанные выше, была создана программа присылающая уведомление в приложение Telegram, установленное на смартфон пользователя, о появлении новой корреспонденции в ящике, и устройство, регистрирующее данное событие и посылающее информацию об этом событии на смартфон.

Рис. 10 Фотография основной части устройства

Устройство (микроконтроллер с дальномером) должно быть помещено в почтовый ящик, чтобы регистрировать появление новой корреспонденции. После правильной установки устройства пользователь должен создать диалог с ботом в приложении Telegram,установленном на своём смартфоне. Далее пользователь может начать использовать устройство, отправив сообщение боту с текстом “/start”. Получив данный запрос бот ответит “checking email”,при этом отправив пользователю объект-клавиатуру с кнопкой “/checkemail”.Нажав эту кнопку бот отправит запрос на устройство, который активирует дальномер. Микроконтроллер сравнит расстояние, измеренное дальномером с заданным значением (Y),данный процесс продемонстрирован на рисунке 11.Если расстояние совпадает, то пользователь получит сообщение “NoLetters”, если же расстояние меньше заданного значения(X),значит в почтовом ящике появился новый объект, и пользователю будет отправлено сообщение “NewLetter”.

Рис. 11 Схематичное изображение устройства

Рис. 12 Диалоговое окно с ботом в приложении Telegram

Для работы проекта необходимо:

· Среда разработки Espruino Web IDE.

· Микроконтроллер Iskra JS.

· Плата расширений Slot Shield.

· Wi-Fi модуль.

· Ультразвуковой дальномер.

· Кабель USB - micro USB, для соединения платы с компьютером.

· Соединительные провода, для подключения дальномера к микроконтроллеру.

· Смартфон, с помощью которого пользователь будет получать информацию о наличии корреспонденции в почтовом ящике.

Заключение

В результате проделанной работы создано устройство, позволяющее обмениваться информацией с ботом в приложении Telegram,установленном на смартфон. Это устройство включает в себя дальномер, считывающий информацию, Wi-fi модуль, передающий информацию и микроконтроллер, контролирующий модули и действия бота. Для работы проекта написана программа на языке JavaScript.

Созданное устройство может использоваться в местах, где процесс передачи документов в бумажном формате бывает затруднён - в офисах, различных организациях и в личных почтовых ящиках.

Исследования в этом направлении могут быть продолжены. Это могло бы быть создание не только простого уведомителя о новой корреспонденции, который также можно улучшить, заменив дальномер на более чувствительный, или же установив на его место простейший датчик давления, но и создание кроссплатформенных систем, возможности которых могут быть ограничены только фантазией создателя. Также в перспективе было бы интересно создать более совершенное устройство, которое сможет как оперировать информацией, получаемой с нескольких датчиков, так и управлять другими модулями. Таким образом, путем интеграции устройств-контроллеров и онлайн мессенджера Telegram с использованием Telegram-бота возможно создание различных устройств, дающих возможность пользователю в доступной форме получать информацию и контролировать различные удаленно происходящие процессы.

Список литературы

1. Петин В.А. «Проекты с использованием контроллера Arduino. 2-е изд.», перераб. и доп. СПб.: БХВ-Петербург, 2017г. 464 с.:ил. (Электроника).

2. Макфарланд Дэвид. «JavaScript и jQuery. Исчерпывающее руководство», 2015 г., 880 с.

3. Улли Соммер «Программирование микроконтроллерных плат», перев -Виктор Букирев, перераб. и доп. СПб.: БХВ-Петербург, 2012 г., 241 с.

4. Marijn Haverbeke «Выразительный Javascript», 2015 г., 425 с.

Размещено на Allbest.ru


Подобные документы

  • Принцип действия устройства сбора информации на базе микроконтроллера МК51: индикация, "рабочий режим" и передача данных персонального компьютера. Алгоритм начального опроса датчиков. Электрическая принципиальная схема устройства, текст программы.

    курсовая работа [102,5 K], добавлен 21.10.2012

  • Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование устройства. Порядок выполнения сборки собственной схемы и характеристика полученного микроконтроллера.

    курсовая работа [2,0 M], добавлен 24.11.2013

  • Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.

    дипломная работа [5,8 M], добавлен 28.09.2015

  • Создание рабочего модуля аналого-цифрового преобразователя с минимальным количеством микросхем на основе микроконтроллера ATmega8L. Описание блок-схемы АЦП. Схема запуска преобразования. Программа микроконтроллера в среде программирования CodeVision.

    курсовая работа [1,2 M], добавлен 04.10.2013

  • Рассмотрение структурной схемы микропроцессорной системы обработки данных. Описание архитектуры микроконтроллера ATmega161. Расчет оперативного запоминающего устройства. Строение, назначение адаптера параллельного интерфейса, способы его программирования.

    курсовая работа [621,5 K], добавлен 24.09.2010

  • Моделирование заданных команд, внутренних функциональных устройств и объектов ввода-вывода микроконтроллера. Разработка программа для демонстрации совместной работы микроконтроллера и моделируемого внешнего устройства. Компоненты архитектуры ATMega128.

    курсовая работа [3,6 M], добавлен 12.06.2013

  • Идея создания системы удаленного управления и контроля устройств. Разработка электрической принципиальной и структурной схемы. Обоснование выбора микроконтроллера и чипа ENC28J60. Обоснование выбора и отладки среды моделирования, программы и компилятора.

    курсовая работа [3,5 M], добавлен 26.08.2014

  • Целесообразность применения МП-устройства. Архитектура микропроцессорной системы. Структурная организация БИС ВТ с изолированными шинами. Содержание и возможная направленность микроконтроллера. Обобщенная структура простого встраиваемого микроконтроллера.

    реферат [224,5 K], добавлен 28.04.2011

  • Описание структуры системы синтезатора. Описание ресурсов однокристального 8-разрядного Flash CMOS микроконтроллера РIC16F876. Основное предназначение сторожевого таймера WDT. Описание функциональных узлов МПС. Разработка алгоритма работы устройства.

    курсовая работа [1,1 M], добавлен 14.12.2009

  • Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.

    контрольная работа [18,4 K], добавлен 24.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.