Создание бота для мессенджера "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