Вы находитесь на странице: 1из 26

Блок-схемы

Блок-схемы используются во многих отраслях, включая техническое проектирование, физические науки и


программирование, где требуется полное понимание процессов или рабочих задач. Блок-схемы —— это
диаграммы, используемые для представления процессов или рабочих задач.

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

Блок-схемы должны отображать входные состояния, все принимаемые решения и их результаты. Важно
показать шаги, которые следует выполнить, если результат решения «да» или «нет».

Часто программисты создают черновой вариант программы не на каком-либо специальном языке


программирования. Эти независимые от языка программы сосредоточены на логике, а не на синтаксисе и
часто называются алгоритмами. Блок-схема — это стандартный способ представления алгоритма. Пример
блок-схемы показан на рисунке.
Системное ПО, прикладные программы и языки программирования

Существует два распространенных типа программного обеспечения: системное ПО и прикладные программы.

Прикладные программы создаются для выполнения определенной задачи или набора задач. Например, Cisco
Packet Tracer — это программа моделирования сетей, которая позволяет моделировать сложные сети и
задавать вопросы «что, если» о поведении сети.

Системное ПО работает между аппаратным обеспечением компьютера и прикладными программами. Именно


оно управляет аппаратным обеспечением компьютера и позволяет прикладным программам работать.
Общеизвестными примерами системного ПО являются Microsoft Windows, Linux и Apple OSX.

И системное ПО, и прикладные программы создаются с помощью языков программирования. Язык


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

Некоторые языки программирования компилируют свои программы в набор инструкций на языке


программирования. Примером компилируемого языка программирования является C++. Другие языки
интерпретируют эти инструкции напрямую без предварительной компиляции в машинный язык. Python — это
пример интерпретируемого языка программирования. На рисунке показан пример кода на языке Python.

После выбора языка программирования и представления процесса в виде блок-схемы можно приступить к
созданию программы. В большинстве языков программирования используются аналогичные структуры
программ.
Переменные

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

Так, "x + y = z" — это пример программного выражения. В этом выражении x, y и z являются переменными,
которые могут представлять символы, строки символов, числовые значения или адреса ячеек памяти.

Переменная может ссылаться на значение. Например, выражение "а = 10" связывает значение 10 с
переменной а.

Переменная также может представлять область памяти. Выражение "а = 10" означает, что значение 10
хранится в некоторой области памяти компьютера, к которой можно обратиться по имени а.

Переменные можно разделить на две категории.

 Локальные переменные — это переменные, которые действуют в пределах программы, функции


или процедуры.

 Глобальные переменные — это переменные, которые действуют в течение всего выполнения


программы. Они могут использоваться в любой части программы.

Переменные позволяют программистам быстро создавать разнообразные простые или сложные программы,
которые заставляют компьютер работать заранее определенным образом.

Базовые структуры программы

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

 IF — THEN. Эта логическая структура позволяет компьютеру принимать решение на основе


результата выражения. Пример выражения — myVar > 0. Это выражение истинно, если значение,
сохраненное в переменной myVar, больше нуля. Когда компьютер обнаруживает структуру IF-THEN, он
оценивает указанное выражение. Если выражение ложно, компьютер переходит к следующей структуре,
пропуская содержимое блока IF-THEN. Если выражение истинно, компьютер выполняет
соответствующее действие перед переходом к следующей инструкции в программе. (Рис. 1).

 Циклы FOR используются для выполнения определенного набора инструкций определенное


количество раз на основе значения некоторого выражения. Термин «цикл» отражает тот факт, что набор
команд выполняется несколько раз. Синтаксис циклов FOR различается в зависимости от языка, однако
концепция остается неизменной. Переменная выступает в качестве счетчика в диапазоне значений,
определяемом минимальным и максимальным значениями. При каждом выполнении цикла счетчик
переменной увеличивается на единицу. Когда значение счетчика становится равным определенному
максимальному значению, выполнение цикла прекращается и начинается выполнение следующей
инструкции. (Рис. 2).

 Циклы WHILE используются для выполнения определенного набора инструкций, пока выражение


остается истинным. Обратите внимание, что часто инструкции внутри цикла в конечном итоге приводят
к тому, что выражение становится ложным. (Рис. 3
Лабораторная работа. Создание блок-схемы процесса

Блок-схемы обычно используются для схематического представления последовательности операций перед


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

Лабораторная работа. Создание блок-схемы процесса

Что такое Blockly?

Blockly — это средство визуального программирования, помогающее новичкам понять основные концепции


программирования. Используя различные типы блоков, пользователь Blockly может создавать программы, не
вводя ни одной строки кода. Это показано на рис. 1.
Blockly реализует визуальное программирование, сопоставляя разные программные структуры с цветными
блоками. Блоки также содержат поля и пустые пространства, в которые программисты могут вводить
значения, необходимые в структуре. Программисты могут соединять программные структуры, перетаскивая и
прикрепляя соответствующие блоки. Доступны различные программные структуры, такие как условные
выражения, циклы и переменные.

Для создания новой переменной в Blockly нужно просто перетащить блок переменной в рабочую область и
заполнить поле значения. Также можно изменять содержимое переменной в ходе выполнения программы.

На рис. 2 показана переменная Blockly.

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

На рис. 1 и 2 обратите внимание на то, что у блока переменной и блока вывода на экран есть выступы снизу и
разъемы сверху. Это означает, что эти два блока можно состыковать друг с другом для создания
программной последовательности. Blockly сначала выполняет верхний блок, а затем переходит к блоку под
ним.

Доступны и другие блоки, такие как IF THEN, WHILE и FOR. Также существуют блоки специально для
датчиков и актуаторов.

Blockly можно использовать для преобразования кода на основе блоков в Python или JavaScript. Это очень
удобно для начинающих программистов.

Игры Blockly

Google предоставляет ряд бесплатных обучающих игр с открытым исходным кодом, которые помогут вам в
изучении программирования. Эта серия называется Blockly Games.

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

Для начала вам будет предложен ряд обучающих уровней. Хотя Blockly и похож на игру, это прекрасный
инструмент, который позволит вам улучшить свои навыки логического мышления, столь важные в
программировании
Packet Tracer. Мигание светодиодным индикатором с помощью Blockly

Cisco Packet Tracer включает Blockly в качестве одного из языков программирования для реализации функций
Интернета вещей. В этой лабораторной работе вы будете управлять скоростью мигания светодиодного
индикатора с помощью кода Blockly.

Packet Tracer. Мигание светодиодным индикатором с помощью Blockly

то такое Python?

Python — это очень распространенный язык, обеспечивающий удобство чтения и написания кода.
Сообщество разработчиков Python расширяет возможности языка, создавая различные типы модулей и
предоставляя их для других программистов.

Философия этого языка описана в документе The Zen of Python (Дзен Питона):

 Красивое лучше, чем уродливое.

 Явное лучше, чем неявное.

 Простое лучше, чем сложное.

 Сложное лучше, чем запутанное.

 Читаемость имеет значение.

Несмотря на простоту языка Python, для его изучения требуется определенное время. Чтобы облегчить
изучение Python, можно использовать Blockly для закрепления навыков.

Хотя языки программирования имеют различную семантику и синтаксис, программная логика остается
неизменной. Начинающие программисты могут использовать Blockly, чтобы без труда создавать программы
независимо от языка, экспортировать их в виде кода Python и использовать полученный код для изучения
синтаксиса, структуры и семантики Python.

На рис. 1 и 2 показана программа, реализующая игру на угадывание, в форматах Blockly и Python.


Интерпретатор Python

Python — интерпретируемый язык, поэтому для анализа и выполнения кода Python необходим


интерпретатор. Интерпретатор Python распознает и исполняет код Python. Код Python может быть создан в
любом текстовом редакторе. Интерпретаторы Python доступны для многих операционных систем.
Разработчики на Python могут создавать и развертывать программы на Python практически в любой
операционной системе. Кроме того, для упаковки исходного кода Python в исполняемый файл можно
использовать сторонние инструменты, такие как Py2exe и Pyinstaller. Это устраняет необходимость
использования интерпретатора при исполнении кода Python.

В компьютерах с ОС Linux интерпретатор Python обычно устанавливается в


папку /usr/bin/python или /usr/bin/python3 (в зависимости от доступных версий Python в системе). При
использовании новой программы установки Python в ОС Windows Python по умолчанию устанавливается в
главный каталог пользователя. В компьютерах с более ранними версиями ОС Windows Python часто
помещается в каталог C:\PythonXX (где XX — версия Python). После установки интерпретатор Python
работает подобно оболочке Linux. Это означает, что при вызове без аргументов он считывает и выполняет
команды в интерактивном режиме. При вызове с именем файла в качестве аргумента или с использованием
файла в качестве стандартных входных данных он считывает и выполняет сценарий из этого файла.

Чтобы запустить интерпретатор, введите python или python3 в командной строке оболочки.

В некоторых старых системах по-прежнему работает более ранняя версия (Python 2), однако многие новые
системы переходят к использованию новой версии, Python 3. Версия Python указывается в первой строке при
запуске интерпретатора (рис. 1). В этом курсе используется код, написанный на Python 3.

Если интерпретатор Python вызывается без аргументов, а команды вводятся с клавиатуры, то говорят, что
интерпретатор работает в интерактивном режиме. В этом режиме интерпретатор ожидает ввода команд.
Основное приглашение к вводу команды состоит из трех символов «больше» (>>>). Строки-продолжения
обозначаются тремя точками (...). Продолжение — это дополнительное приглашение к вводу команды по
умолчанию.

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

Строки-продолжения необходимы при вводе нескольких строк кода. На рис. 2 показан блок IF-THEN на языке
Python.

Еще один способ использования интерпретатора — python -c command [arg]... при котором выполняются
инструкции в команде. Так как инструкции Python часто содержат пробелы или другие символы, которые
относятся к оболочке, рекомендуется заключать всю команду в одинарные кавычки.

Переменные и основные инструкции в Python

Интерпретатор получает и выполняет инструкции в интерактивном режиме.

Интерпретатор выступает в качестве простого калькулятора. Введите в нем выражение, и он запишет


значение. Синтаксис выражения очень прост. Операторы +, -, * и / работают так же, как и в большинстве
других языков (например, в Pascal или C). Скобки (()) можно использовать для группировки, как показано на
рис. 1.

В интерактивном режиме Python есть специальная переменная «_» для хранения результата последнего
выражения (см. рис. 2).

Переменные — это именованные области памяти, которые используются для хранения данных во время
выполнения программы. Чтобы присвоить значения переменным в Python, используйте знак равенства (=).
Числовой результат отображается перед следующим интерактивным приглашением к вводу команды, как
показано на рис. 3.
Попытка использовать не определенную переменную (которой не присвоено значение) приведет к появлению
сообщения об ошибке, как показано на рис. 4.

Строки, определяемые как последовательность символов, также могут обрабатываться в интерактивном


режиме. Используйте символ обратной косой черты (\) для управляющих символов. Например, строка
заключена в двойные кавычки, но также нужны двойные кавычки внутри строки. Допустим, строка введена
следующим образом: "I really "need" this.". Python поймет это неправильно и решит, что на самом деле
первая двойная кавычка внутри строки завершает эту строку. Если поставить перед двойными кавычками
внутри строки обратную косую черту (\) ("I really \"need\" this"), Python будет пропускать символ, который
следует за обратной косой чертой (\).

В строках можно использовать одинарные и двойные кавычки, как показано на рис. 5.

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

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

Python поддерживает множество полезных функций и типов данных. Ниже перечислены некоторые из
наиболее важных.

Range()

Функция range() создает список чисел, обычно используемых для итераций циклов FOR. На рис. 1 показаны
примеры функции range().

 range(stop) — это количество создаваемых целых чисел, начиная с нуля.

 range([start], stop[, step] — это первое число, последнее число и шаг между двумя соседними
числами в последовательности.

Кортежи

Кортеж — это последовательность неизменяемых объектов Python. Кортеж представляет собой


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

Списки

Списки — это последовательность изменяемых объектов Python. Для создания списка поместите
разделенные запятыми значения в квадратные скобки. На рис. 3 показаны примеры списков и внесения
изменений в них.

Множества

Множества представляют собой неупорядоченные наборы уникальных элементов. Вот некоторые


распространенные варианты использования множеств: проверка принадлежности, удаление дубликатов из
последовательности и выполнение стандартных математических операций над множествами, таких как
пересечение, объединение, разность и симметрическая разность. На рис. 4 показаны примеры множеств.

Словарь

Словарь — это список элементов, разделенных запятыми. Каждый элемент представляет собой сочетание
значения и уникального ключа. Каждый ключ отделяется от своего значения двоеточием. Весь словарь
заключается в фигурные скобки. Можно обращаться к элементам словаря, изменять их и удалять. Также
существует много встроенных функций словаря, например функция сравнения элементов различных
словарей, а также функция, которая подсчитывает общее количество элементов в словаре. На рис. 5
показаны примеры словарей.
Программные структуры в языке Python

Как и в других языках, в Python есть структура IF-THEN. Блоки IF-THEN можно использовать при создании
кода для принятия решений на основании результата выражения (см. рис. 1).

Код выполняет несколько проверок и выводит сообщение в соответствии с их результатами. Обратите


внимание, что в Python также реализованы две подструктуры: ELSE и ELIF. С помощью ELSE программист
может указать инструкции, выполняемые в том случае, если условное выражение ложно. ELIF (сокращение от
ELSE IF) используется для выполнения второй проверки, если первое выражение ложно и требуется еще
одна проверка. Подструктура ELIF может не быть или быть несколько, а часть ELSE является
необязательной.

Цикл FOR в Python неоднократно выполняет элементы какой-либо последовательности (список или строка)
по порядку (см. рис. 2).

Цикл WHILE выполняет блок кода, если выражение истинно. В программе, показанной на рис. 3, цикл WHILE
используется для вычисления и вывода на экран начального подмножества ряда Фибоначчи, в котором
каждое следующее число равно сумме двух предыдущих.

Третья строка содержит оператор множественного присваивания. Переменным а и b задаются новые


значения 0 и 1 в одной инструкции.

Цикл WHILE вычисляет следующий член ряда Фибоначчи, пока выполняется условие b < 10. Как и в языке C,
в Python любое целое ненулевое значение считается истинным, а ноль — ложным. Показанная на рисунке
проверка является простым сравнением.

Обратите внимание на отступ для тела цикла. Отступы в Python используются для группировки инструкций. В
интерактивной командной строке необходимо нажимать клавишу Tab или вводить пробелы для каждой строки
с отступом. Для ввода более сложных структур на Python следует использовать текстовый редактор. При
вводе составной инструкции в интерактивном режиме за ней должна следовать пустая строка, указывающая
на завершение инструкции (поскольку анализатор не может определить, какая строка последняя). Обратите
внимание, что все строки в базовом блоке должны иметь одинаковый отступ.
Лабораторная работа. Настройка виртуализированной серверной среды

Программное обеспечение для виртуализации позволяет разместить на одном физическом сервере


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

В этой лабораторной работе вы настроите виртуальную среду разработки и установите виртуальную машину,
чтобы подготовиться к экспериментам с Python.

Лабораторная работа. Настройка виртуализированной серверной среды

Щелкните здесь, чтобы загрузить виртуальную машину.

Лабораторная работа. Основы программирования на Python

В этой лабораторной работе вы будете использовать виртуальную среду и среду разработки IDLE для
изучения основ программирования на Python.

Лабораторная работа. Основы программирования на Python

Лабораторная работа. Создание простой игры в среде Python IDLE

В этой лабораторной работе с помощью Python вы создадите простую игру на угадывание числа. Эта игра
основана на созданной ранее блок-схеме.

Лабораторная работа. Создание простой игры в среде Python IDLE

Определение создания прототипа

Создание прототипов — это процесс создания простой рабочей модели продукта или системы. Для создания
прототипов в Интернете вещей будут полезны навыки проектирования, знания в электротехнике, умение
работать руками, навыки программирования и понимание принципов работы протокола TCP/IP. Но вам не
обязательно быть экспертом в какой-либо из этих областей. На самом деле создание прототипа помогает
отточить эти навыки.
Поскольку Интернет вещей все еще находится на стадии развития, нам предстоит столкнуться со многими
новыми задачами. Сейчас самое время принять участие в создании элементов Интернета вещей. Так как
Интернет вещей объединяет людей, процессы, данные и вещи, он может помочь в создании и применении
неограниченного количества нововведений.

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

Как создать прототип

Каким образом можно создать прототип? Существует несколько способов приступить к созданию прототипов.
Команда из корпорации Google использовала «Быстрый метод создания прототипа» для разработки Google
Glass. Щелкните здесь, чтобы посмотреть TedTalk об этом процессе.

Конечно, у Google достаточно ресурсов, чтобы оплачивать усилия сотрудников и материалы, необходимые
для создания прототипа. Большинству из нас нужна финансовая помощь, чтобы воплотить назревшие идеи в
прототипе. Для нас подойдёт народное финансирование (краудфандинг) Kickstarter, Indiegogo и
Crowdfunder — это лишь три из множества онлайн-сервисов краудфандинга. Щелкните здесь, чтобы
просмотреть видео о часах Pebble на ресурсе Kickstarter. С помощью этого видеоролика разработчики часов
Pebble привлекли множество пожертвований для своего проекта.

Какое изобретение для Интернета вещей создадите вы?

Физические материалы

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

Maker Media — это глобальная платформа, объединяющая между собой создателей для обмена проектами и
идеями. Также эта платформа является местом, где разработчики могут находить и покупать продукты для
своих проектов. Для получения дополнительных сведений посетите Makezine по адресу http://makezine.com.

При работе с определенными материалами пригодятся практические навыки. Например, дерево и металл —
довольно популярные материалы для создания прототипов, но не каждый новичок умеет с ними правильно
работать. Вы удивитесь, когда узнаете, что можно сделать из пластмассы, глины, бумаги и проводов. Поиск
Google поможет получить дополнительные сведения или идеи о работе с различными материалами для
создания прототипов.
У LEGO Mindstorms есть большое сообщество участников и поклонников. С помощью LEGO Mindstorms вы
сможете создавать роботов LEGO и управлять ими с помощью приложения. Комплекты поставляются со всем
необходимым для реализации ваших идей. Изучите LEGO Mindstorms подробнее по
адресу http://mindstorms.lego.com.

Meccano (или Erector Set) — это система построения моделей, которая состоит из металлических полос,
пластин, угловых брусьев, колес, осей и шестеренок многократного использования с гайками и болтами для
крепления элементов. С помощью этого набора вы можете создавать рабочие прототипы и механические
устройства. Изучите Erector Set подробнее по адресу www.erector.us.

3D-печать — это процесс создания монолитных объектов на основе трехмерной модели, сохраненной в
файле. К компьютеру подключается устройство — 3D-принтер. В настоящее время производством и
продажей 3D-принтеров занимается множество компаний. Изучите Makerbot подробнее по
адресу https://www.makerbot.com.

Наборы для изучения схемотехники

Программы не могут работать без компьютера. Хотя вы можете создавать программы практически для
любого компьютера, некоторые платформы разработаны для новичков. Ниже приведены некоторые наиболее
популярные платформы.

Arduino — это физическая вычислительная платформа с открытым исходным кодом, основанная на простой
плате микроконтроллера, а также среда разработки программного обеспечения для платы. Вы можете
разрабатывать интерактивные объекты, которые принимают данные от различных коммутаторов или
датчиков для управления индикаторами, двигателями и другими физическими объектами. Изучите Arduino
подробнее по адресу http://arduino.cc.

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

Raspberry Pi — это недорогой компьютер размером с пластиковую карту, который можно подключать к
монитору компьютера или телевизору. Управлять им можно с помощью стандартной клавиатуры и мыши. С
его помощью можно делать все, что и на обычном компьютере — просматривать веб-страницы, проигрывать
видео высокого разрешения, создавать электронные таблицы, редактировать текстовые документы и играть в
игры. Изучите Raspberry Pi подробнее по адресу http://www.raspberrypi.org.

Beaglebone очень схож с Raspberry Pi в размерах, требованиях мощности и применении. Beaglebone


превосходит Raspberry Pi в вычислительной мощности, поэтому является оптимальным выбором для
приложений с более высокими требованиями. Изучите Beaglebone подробнее по адресу http://beagleboard.org.

Ресурсы программирования

Программирование крайне важно для Интернета вещей. При создании решения для Интернета вещей не
обойтись без написания кода. Вы уже познакомились с Blockly и Python. Существует множество других
бесплатных ресурсов, которые помогут вам развить навыки программирования.

MIT OpenCourseWare (OCW) — проект по размещению в свободном доступе практически всех курсов
Массачусетского технологического института. OCW открыт для доступа всему миру и является отличным
ресурсом, где можно бесплатно познакомиться с программированием. Курсы OCW по программированию
можно найти по адресу http://ocw.mit.edu/courses/intro-programming.

Академия Khan — это некоммерческий образовательный веб-сайт, созданный в 2006 году, для


предоставления «бесплатного образования мирового уровня для всех в любой точке мира». Лекции о
программировании можно найти по адресу https://www.khanacademy.org/computing/cs.

Code Academy — еще один замечательный ресурс. С его помощью люди могут интерактивным способом
научиться писать программы. Этот ресурс можно найти по адресу http://www.codeacademy.com.
Дополнительная лабораторная работа. Настройка PL-App с помощью
Raspberry Pi

Cisco Prototyping Lab — это набор программных и аппаратных компонентов, которые позволяют быстро
создавать прототипы и моделировать различные решения цифровизации и аналитики данных для Интернета
вещей.

Аппаратные компоненты входят в состав комплекта Prototyping Lab Kit (PL-Kit). В основе PL-Kit лежат
открытые аппаратные макетные платы, такие как Raspberry Pi и Arduino. Комплект PL-Kit включает
дополнительные датчики, актуаторы и электронные компоненты. PL-Kit можно использовать для создания
сложных прототипов высокотехнологичных систем Интернета вещей, которые могут отслеживать и
инициировать реальные физические объекты, анализировать и обрабатывать данные и подключаться к сети
и облачным системам. Основной программный компонент Prototyping Lab — это Prototyping Lab App (PL-App).

PL-App вместе с PL-Kit позволяет изучать цифровизацию Интернета вещей и аналитику данных, а также
быстро создавать прототипы. PL-App предоставляет интерактивную среду для доступа к аппаратным и
программным ресурсам Raspberry Pi с помощью Jupyter Notebooks. С помощью PL-App можно получить
доступ к существующим лабораторным работам по Интернету вещей или создавать новые приложения
непосредственно на плате, отправлять их на выполнение и отслеживать выходные данные с помощью
различных средств визуализации.

В этой лабораторной работе вы загрузите ОС Raspberry Pi и установите ее на карту памяти microSD. После
установки карты памяти microSD, Raspberry Pi и среды Arduino, подключенной к Raspberry Pi, можно
управлять через интерфейс PL-App. Эта лабораторная работа содержит основные инструкции по начальной
настройке платы Raspberry Pi с помощью среды PL-App.

PL-App Launcher for Windows

PL-App Launcher for Mac

PL-App Image for Introduction to IoT 2.0

Лабораторная работа. Настройка PL-App с помощью Raspberry Pi

Щелкните здесь, чтобы просмотреть видеоруководство по данной лабораторной работе.

Щелкните здесь, чтобы прочитать текстовую версию видео.

Дополнительная лабораторная работа. Использование PL-App Notebook


Блокноты PL-App основаны на проекте Jupyter с открытым исходным кодом. Блокноты Jupyter Notebook
позволяют объединять контент на языке разметки, например текст и графические изображения, с
интерактивным кодом в разных ячейках. Ячейки кода можно настраивать согласно конкретным потребностям.
Их можно изменять и исполнять независимо друг от друга. Это позволяет быстро создавать концептуальные
прототипы: разработку приложения можно разделить на меньшие части, каждая из которых посвящена какой-
то конкретной задаче.

В этой лабораторной работе вы изучите структуру блокнотов Jupyter Notebook и возможности их


использования в процессе создания прототипов.

Примечание. Для просмотра кода Blockly в блокнотах Jupyter Notebook используйте веб-браузер Google
Chrome.

Лабораторная работа. Использование PL-App Notebook

Щелкните здесь, чтобы просмотреть видеоруководство по данной лабораторной работе.

Щелкните здесь, чтобы прочитать текстовую версию видео.

Дополнительная лабораторная работа. Мигание светодиодным


индикатором с помощью Raspberry Pi и PL-App

В этой лабораторной работе вы будете использовать пример блокнота PL-App для взаимодействия с
индикатором, включенным в простую цепь. Вам предстоит на учебной плате собрать простую цепь,
включающую сопротивление и светодиодный индикатор. Затем вы будете использовать программу LED Blink
для управления скоростью мигания индикатора.

Примечание. Для просмотра кода Blockly в блокнотах Jupyter Notebook используйте веб-браузер Google
Chrome.

Примечание. После загрузки Jupyter Notebook выполните следующие действия для помещения загруженного


файла в каталог /myfiles в Raspberry Pi и распакуйте архив.

Лабораторная работа. Мигание светодиодным индикатором с помощью Raspberry Pi и PL-App (обзор


лабораторной работы)

Лабораторная работа. Мигание светодиодным индикатором с помощью Raspberry Pi и PL-App (Jupyter


Notebook)

Щелкните здесь, чтобы просмотреть видеоруководство по данной лабораторной работе.

Щелкните здесь, чтобы прочитать текстовую версию видео.

Дополнительная лабораторная работа. Знакомство с Arduino

В этой лабораторной работе будет изучаться использование Arduino и Arduino IDE для управления частотой
мигания светодиодного индикатора.

Лабораторная работа. Знакомство с Arduino

Щелкните здесь, чтобы просмотреть видеоруководство по данной лабораторной работе.

Щелкните здесь, чтобы прочитать текстовую версию видео.

Дополнительная лабораторная работа. Знакомство с Arduino

В этой лабораторной работе будет изучаться использование Arduino и Arduino IDE для управления частотой
мигания светодиодного индикатора.

Лабораторная работа. Знакомство с Arduino


Щелкните здесь, чтобы просмотреть видеоруководство по данной лабораторной работе.

Щелкните здесь, чтобы прочитать текстовую версию видео.

Обзор

В начале этой главы мы рассмотрели применение базовых методов программирования для поддержки
устройств IoT. Блок-схемы — это диаграммы, которые используются для представления процессов.
Существует два распространенных типа программного обеспечения: системное ПО и прикладные программы.
Прикладные программы создаются для выполнения определенной задачи. Системное ПО работает между
аппаратным обеспечением компьютера и прикладными программами. Переменные можно разделить на две
категории.

 Локальные переменные — это переменные, которые действуют в пределах программы, функции


или процедуры.

 Глобальные переменные — это переменные, которые действуют в течение всего выполнения


программы. Они могут использоваться в любой части программы.

Наиболее распространенные логические структуры: IF — THEN, циклы FOR и циклы WHILE.

Blockly — это средство визуального программирования, помогающее новичкам понять основные концепции


программирования. Blockly реализует визуальное программирование, сопоставляя разные программные
структуры с цветными блоками.

Python — это очень распространенный язык, обеспечивающий удобство чтения и написания кода.
Python — интерпретируемый язык, поэтому для анализа и выполнения кода Python необходим
интерпретатор. Переменные — это именованные области памяти, которые используются для хранения
данных во время выполнения программы. Python поддерживает множество полезных функций и типов
данных, включая Range(), кортежи, списки, множества и словари. В Python также реализованы две
подструктуры: ELSE и ELIF.

Далее было рассмотрено создание прототипов. Создание прототипов — это процесс создания простой
рабочей модели продукта или системы. Команда из корпорации Google использовала «Быстрый метод
создания прототипа» для разработки Google Glass. Интернет позволяет обмениваться идеями на совершенно
новом уровне. Для общения с другими разработчиками есть несколько отличных веб-сайтов:

http://makezine.com

http://mindstorms.lego.com

www.erector.us

https://www.makerbot.com

http://arduino.cc

http://www.raspberrypi.org

http://beagleboard.org

https://blockly-games.appspot.com/

http://ocw.mit.edu/courses/intro-programming

https://www.khanacademy.org/computing/cs

http://www.codeacademy.com

https://quirky.com/about/