Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb99180

.pdf
Скачиваний:
20
Добавлен:
13.02.2021
Размер:
982.06 Кб
Скачать

МИНОБРНАУКИ РОССИИ

–––––––——————————–––––––

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)

————————————————————

А. И. ВОРОБЬЕВ

ОСНОВЫ ТЕХНОЛОГИИ ИНТЕРНЕТА ВЕЩЕЙ

Учебно-методическое пособие

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2020

УДК 004.77(07) ББК З 988.02я7 В75

Воробьев А. И.

В75 Основы технологии интернета вещей: учеб.-метод. пособие. СПб.: Издво СПбГЭТУ «ЛЭТИ», 2020. 39 с.

ISBN 978-5-7629-2651-5

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

Предназначено для подготовки бакалавров по направлению 09.03.02 «Информационные системы и технологии».

УДК 004.77(07) ББК З 988.02я7

Рецензент: кафедра информационных систем и технологий факультета информатики и прикладной математики ФГБОУ ВО «Санкт-Петербургский государственный экономический университет» (канд. техн. наук, доц. И. Л. Коршунов).

Утверждено редакционно-издательским советом университета

в качестве учебно-методического пособия

ISBN 978-5-7629-2651-5

© СПбГЭТУ «ЛЭТИ», 2020

Введение

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

Интернет вещей (англ. Internet of Things, IoT) представляет собой сеть объектов двух типов: идентифицируемых «умных» вещей (англ. smart thing), взаимодействующих по стандартным протоколам между собой и с окружением без участия человека, и цифровых образов этих вещей, размещенных в вычислительных облаках.

Синонимами термина «интернет вещей» можно считать такие понятия как «информационно увязанный физический мир» и «система информационного взаимодействия физических объектов». Технологии, которые дают возможность реализовать такую концепцию, принципиально повышают возможности дистанционного управления большими группами объектов, разнесенных в пространстве, как единым целым. У человека в такой системе появляются новые способы управления временем, пространством и энергией. Для этого:

объекты оснащаются датчиками, сенсорами, контроллерами, регистрирующими информацию о физическом пространстве в реальном масштабе времени;

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

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

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

3

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

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

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

Учебно-методическое пособие по дисциплине «Инфокоммуникационные системы и сети» предназначено для ознакомления студентов с составом аппаратных и программных средств интернета вещей на базе платформы Arduino, предназначенных для построения простых систем автоматики. В разделах «Общие сведения» содержатся в необходимых случаях задания, рекомендации по выполнению лабораторных работ и содержанию отчетов. Задания выполняются в среде разработки Arduino IDE на упрощенном варианте языка программирования C++. Основной целью цикла работ является изучение возможностей целого спектра устройств при исполнении написанного программного кода.

Работы выполняются бригадами по 3-4 чел. Отчет представляется один на бригаду.

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

Защита лабораторных работ № 24 происходит индивидуально и включает в себя следующие этапы:

1.Предъявление отчета по лабораторной работе.

2.Демонстрация следующих умений:

запустить программу;

внести изменение в текст программы;

пересобрать программу и снова ее запустить.

3.Ответы на контрольные и дополнительные вопросы.

4

1. ИЗУЧЕНИЕ КОМПЛЕКТУЮЩИХ ПЛАТФОРМЫ ARDUINO

Цели работы − познакомиться с основными комплектующими и электронными компонентами комплекса Arduino, идентифицировать и описать компоненты, имеющиеся в кафедральной лаборатории.

1.1. Общие сведения

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

Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратной части. В этой оболочке содержатся текстовый редактор, менеджер проектов, препроцессор, компилятор и инструменты для загрузки программы в микроконтроллер.

Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.

Достоинствами Arduino являются:

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

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

Большое количество модулей. На микроконтроллер Arduino существуют все необходимые модули будь то датчик дыма или освещенности или даже небольшой динамик. Помимо этого, есть возможность сэкономить, ведь периферию создает само сообщество

5

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

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

Микроконтроллер представляет собой небольшое устройство, к которому подключаются все остальные элементы системы (рис. 1.1).

Рис. 1.1. Микроконтроллер Arduino UNO

Микроконтроллер Arduino должен координировать работу элементов системы при помощи прописанных в нем скриптов, выдавая соответствующие электрические сигналы. Для стандартного микроконтроллера сигналом является 5 В – это единица, а отсутствие сигнала– нуль. Именно на таком принципе построено программирование двоичным кодом. Но такая система уже давно в прошлом, и потому к устройству можно подключать трансформаторы переменного тока и дополнительные резисторы, ведь некоторым модулям требуетсянапряжениев3,2…4,7 В.

В соответствии с этим аппаратная часть Arduino в стандартной комплектации представлена чипом с постоянной памятью, набором из

6

резисторов и транзисторов, а также несколькими портами ввода/вывода (пинами). Такая простая конструкция позволяет пользователю самому «навешивать» разные периферийные компоненты по необходимости.

К тому же платы Arduino можно соединять друг с другом через штыревые разъемы. Фактически платы насаживаются друг на друга, как элементы «бутерброда» (рис. 1.2). Такая доступная модульность – одно из основных преимуществ плат Arduino.

Рис. 1.2. Соединенные платы Arduino

С «коробки» в микроконтроллер устанавливается стандартная прошивка, способная распознавать базовые АТ-команды (набор команд для управления модемным блоком платы). Пользователь может переустановить ее или «перепрошить» Arduino по желанию, но стоит учитывать, что без должного опыта есть риск получить бесполезную и неработающую плату.

Плата Arduino – это лишь инструмент, который позволяет координировать работу всей системы. Делает он это при помощи встроенных в него библиотек, которые можно устанавливать в систему дополнительно, по необходимости – вплоть до установки вспомогательной карты памяти, если не хватает места. А сами библиотеки написаны на упрощенном варианте языка C++, который обеспечивает полный контроль над работой микроконтроллера (подробнее об этом пойдет речь в работе № 2).

7

1.2. Предварительная подготовка к работе

Для выполнения данной работы понадобится смартфон или любое другое устройство, оснащенное камерой, для фотографирования объектов, имеющихся в лаборатории, с целью их дальнейшей идентификации.

1.3. Порядок выполнения работы

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

Порядок выполнения работы:

1.Сфотографировать все имеющиеся в лаборатории компоненты, совместимые с Arduino.

2.Используя возможности сети Интернет, найти описание каждого из представленных компонентов. Часто на компонентах присутствуют пометки

сномером устройства, названием производителя и т. п., с помощью них можно идентифицировать устройство.

3.В зависимости от функционала разбить имеющиеся компоненты на категории, такие как микроконтроллеры, сетевые платы и т. п.

4.Зафиксировать полученную информацию в отчете.

1.4. Содержание отчета

Отчет по работе должен содержать:

титульный лист;

задание на лабораторную работу;

описание компонентов каждой группы, их функционала;

фотографии компонентов.

1.5.Контрольные вопросы

1.Что представляет собой платформа Arduino?

2.Что выпускает компания Arduino помимо аппаратных средств автоматики?

3.Какие достоинства продукции компании Arduino позволили ей достичь такой популярности?

4.Что представляет собой микроконтроллер?

5.Какие элементы ввода/вывода есть у микроконтроллера Arduino

UNO?

8

6.C помощью чего можно соединить несколько микроконтроллеров

Arduino?

7.Какие группы устройств, выделенные в ходе выполнения лабораторной работы, представляют наибольший интерес для разработчиков?

2.ПРОГРАММИРОВАНИЕ АППАРАТНЫХ СРЕДСТВ ARDUINO

Цели работы – познакомиться со средой разработки Arduino IDE, подключить внешнее устройство к плате Arduino UNO, выполнить программирование и осуществить контроль за точностью выполнения.

2.1. Общие сведения

Написание программ в среде разработки Arduino IDE выполняется на упрощенном варианте языка программирования C++. Программы для Arduino называются скетчами.

Как и в других Cи-подобных языках программирования, здесь есть ряд правил написания кода. Рассмотрим базовые:

● После каждой инструкции необходимо ставить знак точки с запятой

(;).

Перед объявлением функции необходимо указать тип данных, возвращаемый функцией, или void, если функция не возвращает значение.

Необходимо указывать тип данных перед объявлением переменной.

Комментарии обозначаются так: // Строчный и /* блочный */.

Все скетчи для Arduino должны содержать минимум две функции. Это setup() и loop().

Функция setup() выполняется в самом начале и только один раз – сразу после включения или перезагрузки программируемого устройства. Обычно в этой функции декларируют режимы пинов, открывают необходимые протоколы связи, устанавливают соединения с дополнительными модулями и настраивают подключаемые библиотеки. Если для прошивки микроконтроллера ничего подобного делать не нужно, функция все равно должна быть объявлена. Стандартный пример функции setup():

void setup() {

Serial.begin(9600); // Открываем serial соединение pinMode(9, INPUT); // Назначаем 9 пин входом pinMode(13, OUTPUT); // Назначаем 13 пин выходом

}

9

В приведенном выше примере открывается последовательный порт для связи с компьютером, и пины 9 и 13 назначаются входом и выходом платы.

Функция loop() выполняется после функции setup(). Loop в переводе с английского значит «петля». Это говорит о том, что функция зациклена, т. е. будет выполняться снова и снова. Например, микроконтроллер ATmega328, который установлен в большинстве плат Arduino, будет выполнять функцию loop около 10 000 раз в секунду (если не используются задержки и сложные вычисления).

Рассмотрим простейший пример «Blink» из встроенной библиотеки среды разработки Arduino IDE. Откройте пример «Blink», который находится

впункте меню «Файл» – «Примеры» – 01.Basics – Blink. Скетчи из примеров, включенные в Arduino IDE, предусматривают режим «только чтение» («read only»), т. е. загрузить их на плату можно, но после изменения кода сохранить

втом же файле не получится. Будем изменять скетч так, чтобы в первую очередь сохранить собственную копию, которую можно будет изменять. В меню «Файл» выберите опцию «Сохранить как» и сохраните скетч под подходящим названием, например, «MyBlink».

Подключите плату Arduino к персональному компьютеру с помощью USB-разъема и проверьте тип платы в среде программирования («Инструменты» – Плата Arduino/Genuino UNO) и серийный порт («Инструменты» – Порт), по которому она подключена.

Текущие настройки отображаются внизу окна оболочки Arduino IDE (рис. 2.1).

Рис. 2.1. Текущие настройки оболочки: плата Arduino UNO на порте COM7 10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]