вторник, 12 июля 2016 г.

4.8. Откуда берутся веб-страницы

Урок: 4.8. Откуда берутся веб-страницы

Транскрибация урока: Наверняка многие из вас представляют, как устроен Интернет и за счет чего вы можете в своем браузере видеть какие-то страницы, но, на всякий случай, я в двух словах поясню, как это все происходит. Любая веб-страница, по сути, из себя представляет текстовый файл, который содержит помимо информации, которую мы видим, служебную разметку. И если вы никогда этого не видели, можете на любой странице в любом браузере нажать правой кнопкой мыши, нажать «Просмотр кода элемента» или «Показать исходный код страницы», и у вас появится окно, где вы видите тот самый текст, который, которым, по сути, эта страница и является. Он состоит из специальных тегов, то есть специальных слов, которые распознаются, как определенные элементы разметки, и самого содержания и так далее. При желании, изучите эту тему подробнее, посмотрите ссылки в дополнительных материалах. Затем, каким образом? [ПАУЗА] Затем, представим, как эта страница оказывается в вашем компьютере. [ПАУЗА] У вас есть компьютер, подключенный к Интернету, ну допустим, через роутер. И где-то есть Интернет, и где-то есть сервер, к которому вы обращаетесь, веб-сервер. Ваш браузер отправляет туда запрос. Каким образом он туда доходит, оставим вообще за рамками. И веб-сервер, получив запрос, смотрит: корректен ли он, может ли он на него ответить, и если все в порядке, в ответ сообщает, что все в порядке, и за этим выдает запрошенные данные. В нашем случае — веб-страницы. Что же будет происходить у нас? Мы сделаем маленький веб-сервер прямо на Arduino, то есть вот этим вот компьютером, на самом деле, будет являться наша ардуинка, на которую мы установим Ethernet-шилд. Вот так он выглядит, довольно привычным образом. Бросается в глаза разъем для подключения сетевого кабеля с разъемом RJ-45. Этот кабель с другой стороны мы подключим к роутеру и, подключившись к нашей Wi-Fi сети, мы сможем обращаться к Arduino, ну, работая в локальной сети. При желании вы можете организовать доступ к ней через Интернет, но для этого вам нужно будет убедиться, что ваш провайдер дает вам такой IP-адрес, который пускает из большого Интернета в вашу локальную сеть, а кроме этого, настроить на роутере порты определенным образом. Мы этого касаться не будем, будем работать в локальной сети через Wi-Fi. Затем мы видим, что здесь есть разъем для SD-карточки (флэш-карточки). Сейчас мы ею пользоваться не будем, но вам это может пригодиться, как просто для хранения каких-то данных, так и, например, для хранения веб-страниц, которые вы захотите отдавать в Интернет, потому что память самого контроллера, самого Arduino, как мы знаем, довольно-таки маленькая. Общается эта плата с Arduino через интерфейс SPI (тоже можете посмотреть про него в дополнительных материалах). Он использует для своей работы пины 10, 11, 12, 13. Для работы с SD-карточкой вместо 10-го, по-моему, 4-й пин. Вот, пожалуй, все, что нам нужно рассмотреть на Ethernet-шилде, только прежде чем его надеть, обратите внимание, что сзади у него есть наклейка с какой-то комбинацией символов. Это так называемый MAC-адрес. Он нам пригодится в скетче. Сейчас мы как раз с этим скетчем и разберемся.

Часть: Видео

Модуль: Как полить цветок из другого города

Описание модуля: После этой недели вы сможете соединять устройство с сетью, планировать его создание заранее, управлять мощной нагрузкой и давать правильное питание вашему созданию.

Курс: Строим роботов и другие устройства на Arduino. От светофора до 3D-принтера

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

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

Пройдя этот курс, вы сможете создавать устройства, которые считывают данные о внешнем мире с разнообразных датчиков, обрабатывают информацию, получают и отправляют данные на ПК, в Интернет, на мобильные устройства, управляют индикацией и движением. Создание устройств будет включать проектирование, изучение компонентов, сборку схем, написание программ, диагностику. Попутно с созданием самих устройств вы сделаете визуализацию на ПК, создадите веб-страницу, которую будет демонстрировать одно из ваших устройств, а также разберетесь с устройством и работой FDM 3D-принтера.

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

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

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

Программа:
  • Неделя 1 Один старый и много новых знакомых
  • Неделя 2 Контроллер изучает мир
  • Неделя 3 Цель обнаружена
  • Неделя 4 Как полить цветок из другого города
  • Неделя 5 Мобильный робот
  • Неделя 6 Как создать новый предмет за час
Преподаватель: Алексей Перепелкин (1), Дмитрий Савицкий (2)

Описание преподавателя: (1) Алексей Перепёлкин занимается развитием робототехники на базе ЛИОТ МФТИ. В 2012 году открыл для себя новое захватывающее чувство – когда устройство, которое сам построил и запрограммировал, работает. Свернул с финансовой дорожки и создал кружок робототехники для подростков. Готовил их к соревнованиям. Стал посещать конференции, а затем проводил мастер-классы для тех, кто тоже хочет организовать занятия. Совместно с коллегами в 2013 году разработал новые соревнования – Робопрофи – для конкурса Робот для жизни и провел их. В 2014 году впервые провел Arduino-номинацию на фестивале Робофест, а для российского финала Russian Robot Olympiad 2014 сделал творческую категорию. С тех пор эти соревнования стали регулярными. Летом 2014 провел двухнедельную мастерскую в детском лагере Никола-Ленивца, а затем преподавал в выездной школе, посвященной программированию и робототехнике, которую провели ABBYY и Яндекс. В 2015 году стал руководителем направления робототехники в GoTo Camp, выездных школах, где участники создали десятки проектов, от прототипов умных домов и операторских тележек до робота-бубниста и принтера для незрячих. В 2014 году с коллегами начал проект Роболабы: мероприятия для школьников и студентов, где участники параллельно решают усложненные задачи, а затем проводят рефлексию сделанной работы и оценивают чужие в ходе серии мероприятий.

(2) Физик, научный сотрудник, выпускник МФТИ. Запустил кружок робототехники в 2011 году. Рассказал Алексею Перепелкину о том, как здорово вести кружок робототехники. Рассказал об этом еще целому ряду людей. Побеждал со своими командами на соревнованиях. Проводил проектную работу с участниками исследовательской выездной школы МКШ с 2013 года, где руководил реализацией физических и робототехнических проектов, например, «Вслед за солнцем», в котором изучалась эффективность динамической ориентации солнечных батарей на солнце. Вместе с коллегами разрабатывал и был судьей Робопрофи. Участвовал в подготовке проекта Роболабы. Вновь пришел в МФТИ для проведения факультативного курса «Основы создания киберфизических устройств»

Организатор: Лаборатория инновационных образовательных технологий МФТИ (1), Лаборатория инновационных образовательных технологий МФТИ (2)

Описание организатора: (2) Московский физико-технический институт (неофициально известный как МФТИ или Физтех) является одним из самых престижных в мире учебных и научно-исследовательских институтов. Он готовит высококвалифицированных специалистов в области теоретической и прикладной физики, прикладной математики, информатики, биотехнологии и смежных дисциплин. Физтех был основан в 1951 году Нобелевской премии лауреатами Петром Капицей, Николаем Семеновым, Левом Ландау и Сергеем Христиановичем. Основой образования в МФТИ является уникальная «система Физтеха»: кропотливое воспитание и отбор самых талантливых абитуриентов, фундаментальное образование высшего класса и раннее вовлечение студентов в реальную научно-исследовательскую работу. Среди выпускников МФТИ есть Нобелевские лауреаты, основатели всемирно известных компаний, известные космонавты, изобретатели, инженеры.

Категория: Компьютерные науки

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

Тематика: Разработка ПО

Материал: