Керування роботою маніпулятора через веб-інтерфейс

Загальні відомості про робототехніку в світі та в Україні. Класифікація захватних пристроїв. Філософія RISC архітектури. Системи керування ПР та інформаційні системи. Програма обміну даними між користувачем і маніпулятором. Користувацький веб-інтерфейс.

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

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

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

Метою бібліотеки OpenCV є надання основних інструментів, необхідних для вирішення завдань комп'ютерного зору. Можливо, для вирішення навіть дуже складного завдання функціональності бібліотеки буде достатньо. Навіть якщо це не так, базові компоненти бібліотеки досить просунуті, щоб можна було створити власне рішення практично будь-якої задачі комп'ютерного зору. Для останнього випадку є кілька перевірених методів використання бібліотеки; всі вони починаються з вирішення задачі з використанням найбільшої кількості компонентів бібліотеки. Як правило, після того, як ви розробите це перше чорнове рішення, ви побачите його недоліки і зможете їх виправити, використовуючи свій код і розум (також відоме як "вирішувати проблему, яка перед вами стоїть, а не ту, що ви придумали") . Після цього ви зможете використовувати ваше чорнове рішення в якості тесту, щоб оцінити зроблені вами поліпшення. Нарешті, які б недоліки не залишалися, з ними можна справитися, використовуючи обмеження більшої системи, що включає вашу проблему.

2.1.4 Походження OpenCV

Бібліотека OpenCV до версії 1.0 створювалася в російському центрі розробки програмного забезпечення Intel, розташованим в Нижньому Новгороді. На в той момент в Intel було багато проектів, пов'язаних з трасуванням променів, 3D відображенням і т.д. Один з авторів, що працюють в той час в Intel, зауважив, що деякі групи студентів з університетів, такі як MIT Media Lab, розробляли відкриті проекти по машинному зору, передаючи код від студента до студента. Це давало кожному новому студенту цінну фору в розробці їх власних програм комп'ютерного зору. Замість того щоб все починати з нуля, нові студенти спиралися на роботу попередніх.

Таким чином, бібліотека OpenCV була задумана як загальнодоступна. Далі до першого релізу, тобто до 2006 року, над бібліотекою працювала команда в Нижньому Новгороді. Головним з російської команди був Вадим Писаревський, який і по колишньому вкладає багато зусиль в OpenCV. Також, Віктор Єрухімов допоміг розвинути ранню інфраструктуру, а Валерій Курякін, керував російської лабораторією.

Спочатку перед OpenCV ставилися наступні цілі:

· Сприяти дослідженням у галузі комп'ютерного зору шляхом розробки не тільки відкритого, а й ретельно оптимізованого коду. Тепер ніхто більше не повинен винаходити велосипед.

· Поширення інформації по машинному зору, розробка загальної інфраструктури на якій могли б грунтуватися розробники; код повинен бути зручно читаємий і передаваємий.

· Сприяти розвитку комерційних додатків, випустивши код під ліцензією, що не вимагає додатків, що використовують бібліотеку, бути безкоштовними або відкритими.

Розвиток програм, що використовують комп'ютерний зір, спричинить зростання попиту на швидкі процесори. Прискорений перехід на швидкі процесори принесе Intel більший прибуток, ніж продаж програмного забезпечення. Ось основна причина, по якій безкоштовна і відкрита бібліотека була створена в компанії, що спеціалізується на комплектуючих комп'ютера, а не на програмному забезпеченні. У якомусь сенсі, нові ідеї простіше просувати, працюючи саме в "залізної" компанії.

У будь-якому загальнодоступному проекті важливо досягти критичної точки, після якої проект стає самопідтримуваним. OpenCV скачали більше двох мільйонів разів, і це число зростає в середньому на 26 000 завантажень на місяць. Група користувачів наближається до 20 000 учасників. Користувачі внесли великий вклад у розвиток OpenCV і подальша розробка бібліотеки перемістилася за межі Intel.

Сьогодні OpenCV - активна область розробки багатьох інститутів, так що чекайте побачити безліч проектів по розпізнанню образів, калібрування камер, змішування комп'ютерного зору і лазерних далекомірів, які так необхідні в роботобудуванні.

2.2 Мова РНР

PHP (англ. PHP:Hypertext Preprocessor -- PHP:гіпертекстовий препроцесор), попередня назва: Personal Home Page Tools -- скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-сервера. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java, .NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. PHP -- проект відкритого програмного забезпечення.

PHP інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта.

На відміну від скриптової мови JavaScript, користувач не бачить PHP-коду, бо браузер отримує готовий html-код. Це є перевага з точки зору безпеки, але погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати РНР для генерування і JavaScript-кодів які виконуються вже на стороні клієнта.

2.2.1 Особливості

PHP -- мова, яка може бути вбудована безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>).

· Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal.

· Наявність інтерфейсів до багатьох баз даних

· в PHP вбудовані бібліотеки для роботи з MySQL, PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase, Sybase.

· через стандарт відкритого інтерфейсу зв'язку з базами даних (Open Database Connectivity Standard -- ODBC) можна підключатися до всіх баз даних, до яких існує драйвер.

· Традиційність

Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкцій мови запозичені з С, Perl. Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP -- мова, що поєднує переваги Perl і С і спеціально спрямована на роботу в Інтернеті, мова з універсальним і зрозумілим синтаксисом. І хоча PHP є досить молодою мовою, вона здобула таку популярність серед web-програмістів, що в наш час є мало не найпопулярнішою мовою для створення веб-застосунків (скриптів).

Наявність вихідного коду та безкоштовність

Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно справили благотворний вплив на багато проектів, в першу чергу -- Linux хоч і успіх проекту Apache сильно підкріпив позиції прихильників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.

Ухвалення стратегії Open Source і безплатне розповсюдження початкових текстів РНР надало неоціниму послугу користувачам. Додатково, користувачі РНР в усьому світі є свого роду колективною службою підтримки, і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання.

Ефективність

Ефективність є дуже важливим чинником при програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl. Проте, щоб не робили розробники PHP, виконувані файли, отримані за допомогою компіляції, працюватимуть значно швидше -- в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних веб-застосунків.

2.2.2 Історія

Перші версії

Історія PHP починається з 1995 року, коли Расмус Лердорф (Rasmus Lerdorf) створив простий застосунок мовою Perl, що аналізував відвідування користувачами його резюме на веб-сайті. Потім, коли цим застосунком вже користувалися кілька чоловік, а число охочих одержати його постійно збільшувалося, Лердорф назвав своє творіння Personal Home Page Tools версія 1 і виставив для вільного завантаження. З цієї миті почався небувалий зліт популярності PHP.

Як це завжди буває, терміново було потрібне доопрацювання і нові доповнення. Для їхньої реалізації Расмус створює нову версію пакету, тепер уже написану С. Отриманий таким чином інструмент набуває робочої назви PHP/FI (Personal Home Page / Forms Interpreter -- Персональна Домашня сторінка / Інтерпретатор Форм), надалі він також буде відомий під назвою PHP 2. Ця версія вже більшою мірою схожа на сьогоднішній PHP. Вона мала синтаксис і спосіб іменування змінних в стилі мови Perl, можливість вбудовування PHP операторів в html-код сторінки, автоматичну інтерпретацію форм, інтеграцію з базами даних. При цьому все працювало досить швидко, оскільки PHP прикомпилювалось до веб-серверу Apache. До 1997 року PHP використовувався вже на 50,000 доменах (не більше 1% всіх веб-серверів).

У тому ж 1997 році до проекту PHP підключилися Зев Сураскі (Zeev Suraski) і Енді Гутманс (Andi Gutmans). Ці студенти Техніону, одного з ізраїльських університетів, намагалися використовувати PHP/FI для одного з комерційних університетських проектів. При цьому їм довелося зіткнутися з багатьма труднощами і обмеженнями цієї технології. Вивчаючи початковий код PHP 2, Зеєв і Енді дійшли висновку про необхідність доопрацювання, а точніше істотної переробки PHP, особливо в плані синтаксису мови. Протягом декількох місяців вони блискуче впоралися з цим завданням.

Закінчивши роботу Зеєв і Енді домовились з Расмусом про співпрацю в галузі розвитку та вдосконалення мови. З цієї миті з'являється PHP Group -- група однодумців, що працюють над розвитком технології PHP. Одержаний продукт з'явився на світ у 1998 році під назвою PHP 3.

При цьому головною особливість PHP 3 була можливість розширення ядра, що привернуло до роботи над PHP безліч сторонніх розробників, що створюють спеціалізовані модулі. Їх наявність дала PHP можливість працювати з величезною кількістю баз даних, протоколів, підтримувати велике число API. До кінця 1998 кількість користувачів PHP перевалила за 100000, а PHP був вже встановлений на не менше ніж 10% серверах Інтернету. У той ж час значному поширенню даної мови сприяли публікації в електронній пресі та вихід книжок для вивчення PHP.

Відразу ж після виходу PHP 3, Енді Гутманс і Зев Сураскі почали переробку ядра PHP. В першу чергу належало вирішити проблему підвищення продуктивності. Новий продукт, названий Zend Engine (від імен творців: Zeev і Andi), успішно справлявся з поставленим завданням і був реалізований в 1999 році. Основними реалізованними ідеями є можливість компіляції сценарію у виконуваний модуль, за рахунок чого продуктивність можна було підняти на порядок.

Визнання та поширення

PHP 4, що працює на цьому ядрі, вийшов в 2000 році. На додаток до збільшення продуктивності, PHP 4 мав нові можливості щодо підтримки сесій, буферизацію виводу, безпечні способи обробки інформації, що вводиться користувачем, і нові мовні конструкції. З виходом 4 версії PHP став використовуватися вже на більш ніж 20% доменів Інтернету.

За час з 2000 по 2004 рік продовжувалися активні роботи з покращення 4 версії, але майже відразу PHP Group приступила до продумування можливостей нової версії. В першу чергу було вирішено підсилити об'єктні можливості мови, що дозволяло використовувати його для реалізації масштабних проектів. Роботи із створення версії 5 велися тривалий час, в них брало участь рекордна кількість фахівців, зокрема Стерлінг Хьюз (Sterling Hughes) і Маркус Бергера (Marcus Boerger).

У липні 2004 року виходить офіційний реліз PHP 5. В першу чергу, як і планувалося, було перероблено весь механізм роботи з об'єктами. І якщо в попередніх версіях об'єктно-орієнтоване програмування на PHP було можливе в мінімальному ступені, а тому і використовувалося на практиці не часто, то PHP 5 володіє прекрасним потенціалом реалізації об'єктного програмування. Окрім цього, PHP збагатився рядом цінних розширень для роботи з XML, різними джерелами даних, генерації графіки і інше.

Серед інших украй корисних доповнень в PHP 5 слід зазначити нову схему обробки виключень. Конструкція try/catch/throw дозволяє весь код обробки помилок локалізувати в одному місці сценарію.

Всі основні бібліотеки для роботи з XML, запозичені в PHP 4, були піддані серйозній переробці. Такі популярні розширення, як SAX, DOM і XSLT, тепер використовують інструмент libxml2, що робить їх ще ефективнішими.

У PHP 5 також включені два нові модулі для роботи з протоколами -- SimpleXML і SOAP. SimpleXML дозволяє значно спростити роботу з XML-даними, представляючи вміст XML-документа у вигляді PHP-об'єкта. Розширення SOAP дозволяє будувати на PHP сценарії, що обмінюються інформацією з іншими застосунками за допомогою XML-повідомлень поверх існуючих веб-протоколів, наприклад HTTP. Модуль для роботи з SOAP для PHP 5 надає розробникам засіб для достатньо швидкого створення ефективних SOAP-клієнтів і SOAP-серверів.

Новий модуль PHP 5 MySQLi (MySQL Improved) призначений для роботи з MySQL-сервером версій 4.1.2 і вище, реалізовуючи не тільки процедурний, але і об'єктно-орієнтований інтерфейс до MySQL. Додаткові можливості цього модуля включають -- SSL, контроль транзакцій, підтримка реплікації і ін. Очевидно, що, на цьому історія PHP не закінчується. Слід очікувати наступних версій мови із розширеними можливостями.

2.2.3 Додаткові можливості

Мова явно підтримує HTTP cookies відповідно до специфікацій Netscape. Це дозволяє проводити встановлення та читання невеликих сегментів даних на стороні клієнта.

PHP надає можливість організації роботи з користувачем протягом сеансів (сесій). В сесії можна зберігати різні дані, включаючи об'єкти.

2.2.4 Недоліки PHP

· Незручність дизайну мови

o Змінні з символом «$»

o Складні назви поширених функцій (html_entities_decode, mysql_select_db, nl2br тощо)

o Не підтримується Unicode в версіях до 6.0

· Непередбачуваність нових версій PHP.

· Відсутність єдиного драйвера для баз даних

Критика

У статті «PHP: a fractal of bad design» представлений докладний і ґрунтовний огляд проблем в дизайні мови програмування PHP. Автор показує винятковість PHP як одної з найбільш неопрацьованих мов, проблеми в якій носять систематичний характер. Зокрема у статті продемонстровані проблеми в самій мові, бібліотеці функцій, структурах, механізмах роботи з даними, екосистемі, засобах зневадження. Вказані недоробки в безпеці, надійності, цілісності та передбачуваності.

Якщо розглядати безпеку, то як приклад спочатку порочної практики наводиться розрізненість засобів для чищення та нормалізації даних перед їхнім використанням у різних операціях, що є прекрасною підмогою для виникнення в застосунках вразливостей, що дозволяють здійснити підстановку SQL-коду або вбудовування JavaScript на сторінку. Згадки також заслуговує підхід "небезпечний за умовчанням", який тільки останнім часом став переглядатися розробниками PHP, наприклад, причиною безлічі вразливостей є використання register_globals і підтримка виконання зовнішнього коду за URL в директиві include. З проблем у самому інтерпретаторі відзначається спроба виправити в 2007 році цілочисельну вразливість через перевірку "if (size > INT_MAX) return NULL;"; помилка в реалізації функції crypt() в PHP 5.3.7 через яку можна було зайти з будь-яким паролем; DoS-уразливість в PHP 5.4, пов'язана з виділенням пам'яті на підставі переданого користувачем значення в HTTP-заголовку Content-Length.

2.2.5 Ліцензія

Ліцензія PHP має назву The PHP License version 3.0, ЧАП по цій ліцензії та її текст можна знайти на офіційному сайті The PHP Group, а також файл із ліцензією містить дистрибутив PHP (звичайно license.txt).

2.3 Apache web-сервер

Apache HTTP-сервер -- відкритий веб-сервер Інтернет для UNIX-подібних, Microsoft Windows, Novell NetWare та інших операційних систем. На сьогодні є найуживанішим Веб сервером мережі Інтернет

Apache розроблюється та підтримується спільнотою розробників відкритого програмного забезпечення під керівництвом Apache Software Foundation.

2.3.1 Історія та назва

Сервер Apache створений на початку 1995 року співтовариством незалежних розробників «Apache Group», члени якої у свій час брали участь у проекті з побудови перших Web-серверів у NCSA (National Center for Supercomputer Applications, USA). «Apache Group» пропонує Web-сервери, сумісні з будь-якою UNІХ-системою, установленої на будь-якій апаратній платформі. Сервер перенесений і на інші операційні системи. Так, уже зараз Apache Web-сервер доступний для OS/2, UNIX-платформ, Windows 2000 та ін.

Web-сервер Apache, як і всі інші Web-сервери, базується на ідеях і частині коду, реалізованих у першому по-справжньому популярному Web-Сервері -- NCSA httpd 1.3.

Є два пояснення назви проекту. Згідно з Apache Foundation, назву проекту було вибрано з поваги до корінного племені американського континенту апачів, що були відомі за свою витривалість та військову майстерність. Проте, перший FAQ на веб-сайті проекту Apache Server з 1996 до 2001 стверджував, що «назва „Apache“ походить від абревіатури „А PAtCHy server“, що дослівно перекладається як „залатаний сервер“ -- сервер, у код якого внесений цілий ряд серйозних змін.» Перше пояснення було підтверджено на Конференції Apache і в інтерв'ю 2000 року з Брайаном Беглендорфом, який, тим не менш, спростував це твердження в інтерв'ю 2007 року, заявляючи, що «сервер Apache не названий на честь племені Джеронімо».

Версія 2 веб-сервера Apache була істотним переписом великої частини коду програми версії 1.x, з сильним нахилом на подальшу модульність та портативність. Версія 2.2 має гнучкіший API авторизації. Вона також включає поліпшені модулі кешу й проксі сервера.

2.3.2 Можливості

Web-сервер Apache є самостійним, некомерційним, вільно розповсюджуваним продуктом. Продукт підтримує безліч можливостей, багато з яких реалізовані як скомпільовані модулі, які розширюють основні функціональні можливості. Вони різняться від серверної підтримки мов програмування до схем аутентифікації. Існують інтерфейси для підтримки мов програмування Perl, Python, Tcl і PHP.

Популярні методи стискування на Apache включають зовнішній модуль mod_gzip, створений для зменшення розміру веб-сторінок, переданих по HTTP.

Функції віртуального хостингу дозволяють одній інсталяції Apache обслуговувати різні веб-сайти. Наприклад, одна машина, з однією інсталяцією Apache може одночасно містити www.example.com, www.test.com, test47.test-server.test.com і так далі.

2.3.3 Використання

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

Продукт може працювати в якості кешувального проксі-сервера, що дозволяє істотно підвищити продуктивність роботи користувачів локальної мережі при роботі з документами, розташованими в Інтернет. Можна задавати такі параметри і налаштування проксі-сервера:

- типи файлів, які необхідно кешувати або навпаки, не включати в кеш;

- максимальний обсяг дискового простору, відведений під кеш;

- періодичний перегляд і індексування бази даних кеша з метою вивільнення дискового простору шляхом видалення застарілих об'єктів.

Apache зіграв ключову роль у початковому зростанні всесвітньої павутини, і продовжує бути найпопулярнішим у світі веб-сервером, де-факто платформою, на яку орієнтуються інші веб-сервери.

Відповідно до статистики Netcaft за червень 2008 року, Apache є найпоширенішим серверним програмним забезпеченням в Мережі: на цей веб-сервер припадала частка близько 49 % відповідного сегменту ринку (майже 85 мільйонів сайтів). Друге місце за популярністю займають програмні платформи Microsoft -- 35,4 % (61 мільйон сайтів).

2.3.4 Архітектура

Ядро

Ядро Apache включає в себе основні функціональні можливості, такі як обробка конфігураційних файлів, протокол HTTP і система завантаження модулів. Ядро (в відміну від модулів) повністю розробляється Apache Software Foundation, без участі сторонніх програмістів.

Теоретично, ядро Apache може функціонувати в чистому вигляді, без використання модулів. Однак, функціональність такого рішення вкрай обмежена.

Ядро Apache повністю написано на мові програмування C.

Система конфігурації

Система конфігурації Apache заснована на текстових конфігураційних файлах. Має три умовних рівня конфігурації:

- Конфігурація сервера (httpd.conf).

- Конфігурація віртуального хоста (httpd.conf c версії 2.2 extra/httpd-vhosts.conf).

- Конфігурація рівня директорії (.htaccess).

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

Частина модулів використовує в своїй роботі конфігураційні файли операційної системи (наприклад /etc/passwd і /etc/hosts).

Крім цього, параметри можуть бути задані через ключі командного рядка.

Мультипроцесувальні моделі (MPM)

Для веб-сервера Apache існує безліч моделей симетричного мультипроцесування. ось основні з них:

Назва

Розробник

Підтримувані OS

Опис

Призначення

Статус

worker

Apache Software Foundation

Linux, FreeBSD

Гібридна мультипроцесорна-багатонитева модель. Зберігаючи стабільність мультипроцесорних рішень, вона дозволяє обслуговувати велику кількість клієнтів з мінімальним використанням ресурсів.

Середньонавантажені веб-сервери.

Стабільний.

pre-fork

Apache Software Foundation

Linux, FreeBSD

MPM, заснована на попередньому створенні окремих процесів, не використовує механізм threads.

Велика безпека і стабільність за рахунок ізоляції процесів один від одного, збереження сумісності зі старими бібліотеками, що не підтримують threads.

Стабільний.

perchild

Apache Software Foundation

Linux

Гібридна модель, з фіксованою кількістю процесів.

На високонавантажених серверах, можливість запуску дочірніх процесів використовуючи інше ім'я користувача для підвищення безпеки.

У розробці, нестабільний.

netware

Apache Software Foundation

Novell NetWare

Багатонитева модель, оптимізована для роботи в середовищі NetWare.

Сервери Novell NetWare

Стабільний.

winnt

Apache Software Foundation

Microsoft Windows

Багатонитева модель, створена для операційної системи Microsoft Windows.

Сервери під керуванням Windows Server.

Стабільний.

Apache-ITK

Steinar H. Gunderson

Linux, FreeBSD

MPM, заснована на моделі prefork. Дозволяє запуск кожного віртуального хоста під окремими uid та gid.

Хостингові сервери, сервери, критичні до ізоляції користувачів і обліку ресурсів.

Стабільний.

peruser

Sean Gabriel Heacock

Linux, FreeBSD

Модель, створена на базі MPM perchild. Дозволяє запуск кожного віртуального хоста під окремими uid та gid. Не використовує ниті.

Забезпечення підвищеної безпеки, робота з бібліотеками, не підтримуються ниті.

Стабільна версія від 4 жовтня 2007 року, експериментальна -- від 10 вересня 2009 року.

2.4 Мікроконтролери AVR

AVR -- сімейство восьмибітових мікроконтролерів фірми Atmel.

2.4.1 Мікроконтролери сімейства AVR

Мікроконтролери AVR мають гарвардську архітектуру (програма і дані знаходяться в різних адресних просторах) і систему команд, близьку до ідеології RISC. Процесор AVR має 32 8-бітових регістра. Управління мікроконтролером, по суті, є управління цими регістрами. На відміну від «ідеального» RISC, регістри не абсолютно ортогональні: Три «здвоєні» 16-бітові регістри-покажчики X (r26:r27), Y (r28:r29) і Z (r30:r31) Деякі команди працюють тільки з регістрами r16.r31. Результат множення (у тих моделях, в яких є модуль множення) завжди поміщається в r0:r1

Управління периферійними пристроями здійснюється через адресний простір даних. Для зручності існують «скорочені команди» IN/OUT. Окрім фірмових засобів розробки (IAR, CODEVISION і ін.), існує GNU порт GCC для AVR. Крім того, архітектура AVR дозволяє застосовувати операційні системи при розробці застосувань, основними з яких є FREERTOS і uOS. Не мало важливим є й те, що програмування цих мікроконтролерів здійснюється досить легко. Найпростіший програматор, пристрій за допомогою якого пресональний комп'ютер записує програму в flash пам'ять мікроконтролера, складається з п'яти провідників та вилки LPT порта. Це дозволяє з успіхом використовувати ці присторої новачкам, що хочуть отримати знання з мікроелектроніки.

2.4.2 Основні сімейства

· tinyAVR

o 0.5-8 кБ пам'яті програм

o 6-32-вивідний корпус

o Обмежений набір внутрішніх периферійних пристроїв

· megaAVR

o 4-256 кБ пам'яті програм

o 28-100-вивідний корпус

o Розширений набір команд (Команди множення)

o Обширний набір внутрішніх периферійних пристроїв

· XMEGA

o 16-384 кБ пам'яті програм

o 44-64-100-вивідний корпус (A4, A3, A1)

o Підвищена продуктивність за рахунок таких особливостей, як ПДП (Прямий Доступ до Пам'яті), підтримка криптографії, "Система подій".

o Обширний набір внутрішніх периферійних пристроїв (ЦАП)

2.4.3 AVR ATMega32

Характеристики

Високопродуктивні, AVR 8 - бітові мікро контролери, що мало споживають[9].

Розвинена RISC архітектура:

· 131 виконувана команда, більшість за один машинний такт

· 32 робочих регістра загального призначення

· Повністю статичний режим роботи

· Продуктивність до 16 MIPS при 16 МГц

· Вбудований 2-х тактовий помножувач

· Незалежна пам'ять програм і даних

· 32К байт внутрішньосистемно самопрограмуємої FLASH пам'яті з кількістю циклів перепрограмування до 10 000.

· Опціонально завантажувальна область пам'яті з незалежними ключовими бітами, внутрішньосистемне програмування вбудованою завантажувальною програмою, правильне читання в процесі запису.

· 1024 байт EEPROM з допустимою кількістю циклів стирання-запису до 100 000.

· 2К байт внутрішньої SRAM

· Програмований ключ захисту программ

· JTAG (IEEE1149.1 сумісний) інтерфейс

· Сканування пам'яті відповідно до JTAG стандарту

· Вбудована підтримка дебаггера

· Програмування FLASH, EEPROM, охоронних і ключових бітів через JTAG інтерфейс

Периферійні функції

· Два 8-бітних таймера / лічильника з програмованим переддільником (предделителем) і режимом порівняння

· Один 16-бітний таймер / лічильник з програмованим переддільником (предделителем), режимом порівняння та захоплення

· Лічильник реального часу з програмованим генератором

· Чотири ШІМ генератора

· 8-и канальний, 10-и бітний АЦП

· Байт-орієнтований, двопровідний інтерфейс

· Програмований USART

· Master / Slave SPI послідовний інтерфейс

· програмований Watchdog таймер з програмованим генератором - Вбудований аналоговий компаратор

Спеціальні функції

· Reset по увімкненню живлення та вимкнення при зниженні напруги живлення

· Внутрішній калібрований RC генератор

· Зовнішні і внутрішні джерела переривання

· Шість економічних режимів: Idle, придушення шумів АЦП, економічний, режим Вимк. , Режим очікування та режим розширеного очікування.

32 програмованих виведення вхід-вихід і 1 вхід

40 вивідний корпус PDIP, 44 вивідний корпус TQFP, і 44 контактний MLF

Напруга живлення:

4.5 В до 5.5 В для Atmega32

Тактова частота:

0-16 МГц Atmega32

Рис. 2.3 Блок- схема

Рис. 2.4 Розташування виводів

Опис

Atmega32 / L є КМОП 8 - бітним мікроконтролером побудованим на розширеній AVR RISC архітектурі. Використовуючи команди, що виконуються за один машинний такт, контролер досягає продуктивності в 1 MIPS на робочій частоті 1 МГц, що дозволяє розробнику ефективно оптимізувати споживання енергії за рахунок вибору оптимальної продуктивності.

AVR ядро поєднує розширений набір команд з 32 робочими регістрами загального призначення. Усі 32 регістра з'єднані з АЛУ, що забезпечує доступ до двох незалежних регістрів на час виконання команди за один машинний такт. Завдяки вибраній архітектурі досягнута найвища швидкість коду і відповідно висока продуктивність, що в 10 разів перевершує швидкість відповідного CISC мікроконтролера.

ATmega32 / L містить 32Кбайт внутрішньосистемно програмованої FLASH пам'яті програм, що допускає читання під час запису, 1024 байт EEPROM, 2К байт SRAM, 32 робочих регістра, JTAG інтерфейс сканування внутрішніх регістрів, вбудовану систему налагодження та програмування, три гнучких таймера-лічильника з модулем порівняння, внутрішні і зовнішні переривання, послідовний програмований інтерфейс USART, байт-орієнтований двопровідний послідовний інтерфейс, 8-и канальний, 10-и бітний АЦП з диференціальним програмованим підсилювачем (тільки для TQFP), програмований Watchdog таймер з внутрішнім генератором, порт SPI і шістьма режимами заощадження енергії. В режимі Idle ЦПУ не функціонує в той час як функціонують USART, двопровідний інтерфейс, АЦП, SRAM, таймери-лічильники, SPI порт і система переривань. В Atmega32 існує спеціальний режим придушення шуму АЦП, при цьому в цілому в сплячому режимі функціонує тільки АЦП і асинхронний таймер для зменшення цифрових шумів перетворення. В режимі Вимк. процесор зберігає вміст всіх регістрів, заморожує генератор тактових сигналів, призупиняє всі інші функції кристала до приходу зовнішнього переривання або надходження зовнішньої команди Reset. В режимі очікування працює один тактовий генератор, при зупинці інших функцій контролера. Завдяки швидкому переходу в нормальний режим роботи в тому числі і за зовнішнім переривання Atmega32 успішно пристосовується до зовнішніх умов роботи і вимагає менше енергії, частіше опиняючись в режимі Вимк. У розширеному режимі очікування в робочому стані перебувають основний генератор і асинхронний генератор.

Мікросхеми випускаються при використанні Atmel технології енергонезалежній пам'яті високої щільності. Вбудована ISP FLASH пам'ять дозволяє перепрограмувати область програмної пам'яті внутрішньосистемно через послідовний SPI інтерфейс стандартним програматором, або використовуючи завантажувальну програму з енергонезалежної пам'яті працює в AVR ядрі. Комбінація розширеної 8-и бітної RISC архітектури ЦПУ і твердотільної FLASH пам'яті забезпечують Atmega32 високу гнучкість та економічну ефективність у вбудованих системах управління.

2.5 RISC-архітектура

RISC (англ. Reduced Instruction Set Computing -- комп'ютер зі скороченим набором команд) -- архітектура процесорів зі скороченим набором команд. Ще відома як «Load/Store» архітектура. Найвідоміші представники: DEC Alpha, ARC, ARM, AVR, MIPS, PA-RISC, Power Architecture (включаючи PowerPC), SuperH, та SPARC.

Основними рисами RISC архітектури є:

· Мала кількість інструкцій

· Однакова довжина всіх інструкцій

· Мала кількість різних форматів інструкцій

· Відсутність інструкцій які працюють з операндами в пам'яті (за виключенням інструкцій завантаження та збереження)

· Мала кількість апаратно підтримуваних типів даних

· Велика кількість ідентичних регістрів загального призначення

Поштовхом для розробки RISC архітектури стало те, що тогочасні (середина 1970-х) компілятори не використовували більшість команд із CISC набору та не могли скористатися перевагами багатьох типів складної адресації. Виконання складних CISC інструкцій вимагало багатьох процесорних тактів, а реалізація різних типів адресування та інструкцій, що реалізовують високорівневі операції, займала більшість площі процесорного кристалу та майже не використовувалась.

RISC-процесори швидші і економічніші CISC. У принципі, є можливість проектувати процесори на чистій RISC-архітектурі. Але відмовитися від архітектури x86 вже неможливо, оскільки під неї написано більшість поширених у світі програм, включаючи комп'ютерні ігри.

2.5.1 Філософія перед RISC-ової архітектури

В ранні часи комп'ютерної індустрії програми створювались на мові асемблера. Таке програмування вимагало потужних інструкцій, що реалізують часто вживані високорівневі алгоритми. Тому розробники процесорів намагались вмістити в свій продукт якомога більше інструкцій що виконують максимальну кількість роботи. Також до інструкцій ставились вимоги по зручності використання та універсальності. В кожній інструкції розробники намагались реалізувати всі можливі типи адресації, тобто інструкції могли однаково працювати з операндами, які знаходяться як в пам'яті так і в регістрах чи безпосередньо закодовані в інструкції. Реально введення такої універсальності призводило до того, що кожна дія мала декілька реалізацій в процесорі, розрахованих на різні типи адресування. Крім того, в ті часи, пам'ять була дуже дорогою, тому вигідними були інструкції зі змінною довжиною, що одночасно виконують завантаження операндів та обчислення. Також, процесори мали дуже малу кількість регістрів. Це було обумовлено двома причинами:

· розміщення на кристалі додаткових регістрів було надто дорогим;

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

На противагу RISC, таку архітектуру називають CISC (англ. Complex Instruction Set Computing)

2.5.2 Філософія RISC архітектури

Ряд наукових досліджень середини 1970-х років довів, що тогочасні компілятори не використовували переваги складної адресації, а також те що більшість процесорів мали надлишковий набір інструкцій. Також було доведено, що в багатьох випадках складні інструкції виконувались повільніше ніж аналогічний по функціональності набір простіших інструкцій. Відомим прикладом цьому була інструкція INDEX комп'ютера VAX, яка виконувалась повільніше ніж її реалізація на базі циклу. Також, складні інструкції менше підлягали оптимізації під конкретну задачу (напр. заміна множення/ділення операціями зсуву). Метою створення RISC архітектури було:

· Зменшення набору інструкцій для звільнення додаткової площі на кристалі, де можна розмістити кеш або регістри.

· Приведення всіх інструкцій до однакового розміру та подібного формату. Це дало б можливість конвеєризації.

· В ідеалі, всі інструкції повинні були виконуватись за один такт

2.6 Proteus (система автоматизованого проектування)

PROTEUS VSM - пакет програм для автоматизованого проектування (САПР) електронних схем. Розробка компанії Labcenter Electronics (Великобританія).

2.6.1 Oпис

Пакет являє собою систему схемотехнічного моделювання, що базується на основі моделей електронних компонентів прийнятих в PSpice. Відмінною рисою пакета PROTEUS VSM є можливість моделювання роботи програмованих пристроїв: мікроконтролерів, мікропроцесорів, DSP та ін. Бібліотека компонентів містить довідкові дані. Додатково в пакет PROTEUS VSM входить система проектування друкованих плат. Пакет Proteus складається з двох частин, двох підпрограм: ISIS - програма синтезу та моделювання безпосередньо електронних схем і ARES - програма розробки друкованих плат. Разом з програмою встановлюється набір демонстраційних проектів для ознайомлення.

Пакет є комерційним. Безкоштовна ознайомча версія характеризується повною функціональністю, але не має можливості збереження файлів.

Примітною особливістю є те, що в ARES можна побачити 3D-модель друкованої плати, що дозволяє розробнику оцінити свій пристрій ще на стадії розробки.

2.7 AVR Studio

AVR Studio - інтегрована середа розробки (IDE) для розробки 8-ми і 32-х бітних AVR додатків від компанії Atmel, що працює в операційних системах Windows NT/2000/XP/Vista/7. AVR Studio містить асемблер і симулятор, що дозволяє відстежити виконання програми. Поточна версія підтримує всі контролери AVR і засоби розробки, що випускаються на сьогоднішній день. AVR Studio містить в собі менеджер проектів, редактор вихідного коду, інструменти віртуальної симуляції і внутрішньосхемного налагодження, дозволяє писати програми на асемблері або на C / C + +.

2.7.1 Історія

Раніше існував і фірмовий асемблер під Windows (wavrasm.exe) від Atmel, який поєднував асемблер і редактор, подібно тому, як це робиться в «великих» мовах програмування. Його можна отримати з перших версій AVR Studio, але він досить примітивний і незручний. Потім, мабуть, в корпорації вирішили його не розвивати, обмежившись AVR Studio. Завантажити AVR Studio можна абсолютно безкоштовно з сайту Atmel. Там же доступні і старі версії (на жаль, останні версії пакету стали досить об'ємними - більше 70 Мбайт), але тільки зверніть увагу, що, чим старіше версія, тим менше асортимент підтримуваних контролерів (так, версія 3 підтримує лише Classic).

2.7.2 Характеристики

Характеристики AVR Studio:

* Інтегрований Асемблер;

* Інтегрований симулятор;

* За допомогою плагіна можлива підтримка компілятора GCC у вигляді збірки WinAVR;

* Підтримка інструментів Atmel, сумісних з 8-розрядною AVR архітектурою, в тому числі AVR ONE!, JTAGICE mkI, JTAGICE mkII, AVR Dragon, AVRISP, AVR ISPmkII, AVR Butterfly, STK500 і STK600;

* Підтримка плагіна AVR RTOS;

* Підтримка AT90PWM1 і ATtiny40;

* Інтерфейс командного рядка з підтримкою TPI.

2.8 HTML

HTML (англ. HyperText Markup Language -- Мова розмітки гіпертексту) -- стандартна мова розмітки документів у Всесвітній павутині. Більшість веб-сторінок створюються за допомогою мови HTML (або XHTML). Документ HTML оброблюється браузером та відтворюється на екрані у звичному для людини вигляді.

HTML є похідною мовою від SGML, успадкувавши від неї визначення типу документу та ідеологію структурної розмітки тексту.

HTML разом із CSS та cкриптингом -- це три основні технології побудови веб-сторінок.

HTML впроваджує засоби для:

· створення структурованого документу шляхом позначення структурного складу тексту: заголовки, абзаци, списки, таблиці, цитати та інше;

· отримання інформації із Всесвітньої мережі через гіперпосилання;

· створення інтерактивних форм;

· включення зображень, звуку, відео, та інших об'єктів до тексту.

2.8.1 Історія розвитку HTML

У 1980 році фізик Тім Бернерс-Лі, який на той час був співробітником CERN, запропонував і прототипував систему ENQUIRE, яка мала полегшити сумісне користування документами для дослідників CERN.

У 1989 році Бернерс-Лі запропонував впровадити на базі Internet гіпертекстову систему документів.

Вже наприкінці 1990 року він розробив HTML і написав браузер та серверне програмне забезпечення для запропонованої системи. У цьому ж році Тім Бернерс-Лі та Роберт Кайо, інженер інформаційних систем CERN, подали спільну заявку на фінансування проекту, проте цей проект не був офіційно прийнятий CERN.

Наприкінці 1991 року Тім Бернерс-Лі опублікував в Інтернеті перший загальнодоступний опис мови розмітки HTML, відомий як документ «HTML теги» (HTML Tags). В ньому були описані 20 елементів первісної, відносно простої схеми розмітки HTML. За винятком тегу гіперпосилання, який був жорстко підпорядкований внутрішньому SGML-формату документації CERN. Тринадцять із тих елементів ще й досі існують у HTML4.

Бернерс-Лі розглядав HTML як похідну мову від SGML, і в середині 1993 року Спеціальна Комісія Інтернет-розробок (IETF) офіційно визначила її такою, опублікувавши першу специфікацію HTML: «Hypertext Markup Language (HTML)» Internet-проект, авторами якої були Тім Бернерс-Лі та Ден Конолі. Ця специфікація вже містила визначення типу документу, яке чітко зазначало граматику HTML.

Проект втратив силу через 6 місяців, проте був відомий за офіційне визнання в ньому, створеного для браузера NCSA Mosaic, тега додавання зображень, не розділяючи філософію IETF щодо заснування стандартів на успішних прототипах. Так само пізніше в 1993 році в конкуруючому Інтернет-проекті Дейва Раджетта «HTML+ (Hypertext Markup Format)», було запропоновано стандартизувати вже запроваджені браузерами сенсаційні на той час можливості, такі як таблиці та перші інтерактивні форми.

На початку 1994 року, після того, як проекти «HTML» і «HTML+» втратили свою силу, IETF створив Робочу групу HTML (HTML Working Group). В 1995 році Робоча група HTML завершила роботу над документом «HTML 2.0» (опублікований як RFC із номером 1866), першою специфікацією, що мала бути використана як базовий стандарт для подальших вдосконалень HTML. Версія 2.0 окреслювала чіткі відмінності між новим виданням специфікації та попередніми проектами.

Подальші розробки під заступництвом IETF зіштовхнулися з конкуруючими інтересами. З 1996 року специфікації HTML затверджувались Консорціумом W3C, враховуючи доповнення до розмітки, що впроваджувалися компаніями-розробниками браузерів. Тим не менш, у 2000 році HTML стала міжнародним стандартом (ISO/IEC 15445:2000).

Остання специфікація HTML, опублікована W3C наприкінці 1999 року, має назву «HTML 4.01 Recommendation». Усі спірні питання та помилки цієї специфікації були офіційно визнані у списку друкарських помилок, опублікованому в 2001 році.

Версії

Тім Бернерс-Лі представив HTML в дослідницькому центрі CERN в Женеві в 1989 році.

· HTML (без номера версії, 3 листопада 1992): Найперша версія, орієнтована лише на текст.

· HTML (без номера версії, 30 квітня 1993): До тексту додаються атрибути, які визначають курсивне або жирне написання літер, та зображення.

· HTML+ (листопад 1993) Заплановані доповнення, які потрапили до наступних версій, але ніколи не були відокремлені як HTML+.

· HTML 2.0 (листопад 1995): Визначена стандартом RFC 1866 версія з підтримкою форм. Статус цього стандарту вже «Історичний», також визнані застарілими попередні версії.

· HTML 3.0: Версія, яка не зазнала поширення, оскільки разом із випуском браузера Netscape Navigator версії 3, цей стандарт вже був застарілим.

· HTML 3.2 (14 січня 1997): В цій версії були додані численні можливості, такі як таблиці, обтікання текстом зображень, інтеграція аплетів.

· HTML 4.0 (18 грудня 1997): В цій версії були додані таблиці стилів, скрипти та фрейми. Також, відбулось розділення на Strict (суворе дотримання стандартів), Frameset (з підтримкою фреймів), Transitional (перехідний). 24 квітня 1998 було випущено виправлену версію цього стандарту.

· HTML 4.01 (24 грудня 1999): Заміна версії HTML 4.0, містить численні дрібні виправлення.

· HTML 5 (Working Draft, 5. April 2008): HTML 5 має новий словник побудований на основі HTML 4.01 та XHTML 1.0. Також перероблена і розширена пов'язана з HTML специфікація DOM

· XHTML 1.0 (26 січня 2000): Висловлення стандарту HTML 4.01 засобами XML. 1 серпня 2002 було випущено оновлену редакцію стандарту.

· XHTML 1.1 (31 травня 2001): Після того, як XHTML буде розділено на модулі, стандарт XHTML 1.1 визначатиме сувору версію, в якій не буде запроваджених HTML 4 можливостей Frameset та Transitional.

· XHTML 2.0 (в розробці): Ця версія вже не базується на HTML 4.01 і додає деякі нові теги. Буде завершено розділення між представленням та вмістом.

2.8.2 Документ HTML

Для поліпшення взаємодії, SGML вимагає аби кожна похідна мова (HTML у тому числі) визначала свою кодову таблицю для кожного документа, яка складається з репертуара (перелік різноманітних символів) та позиції символа (перелік цифрових посилань на символи з репертуара). Кожен документ HTML -- це послідовність символів з репертуара.

HTML використовує найбільш повну кодову таблицю UCS (англ. Universal Character Set -- Універсальний Набір Символів).

Проте, однієї кодової таблиці недостатньо для того, щоб браузери могли правильно відтворювати документи HTML. Для цього браузерам потрібно «знати» специфічну кодову таблицю документа, яку автор має зазначати завжди в елементі meta із параметром charset. За замовчуванням використовується кодова таблиця ISO-8859-1, відома також як Latin-1.

Розмітка

Розмітка в HTML складається з чотирьох основних компонентів: елементів (та їхніх атрибутів), базових типів даних, символьних мнемонік та декларації типу документа.

Загальна структура

Документ HTML 4.01 складається з трьох частин:

1. Декларація типу документа (англ. Document type declaration, Doctype), на самому початку документа, в якій визначається тип документа (DTD).

2. Шапка документа (знаходиться в межах елементу head), в якій записано загальні технічні відомості або додаткова інформація про документ, яка не відтворюється безпосередньо в браузері;

3. Тіло документа (може знаходитися в елементах body або frameset), в якому міститься основна інформація документа.

Декларація типу документа

Коректний документ HTML оголошує версію HTML, яка використовується в цьому документі. Декларація типу документу зазначає один із трьох DTD, що різняться між собою тим, які елементи HTML вони підтримують:

· HTML 4.01 Strict (Суворе DTD) підтримує всі елементи та атрибути, які не є такими, що не рекомендується застосовувати, або не входять до документу типу «Набір фреймів»(Frameset).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

· HTML 4.01 Transitional (Перехідне DTD) підтримує все із суворого DTD плюс елементи та атрибути, що не рекомендується застосовувати (більшість із них складають візуальну розмітку)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

· HTML 4.01 Frameset (Набір Фреймів DTD) підтримує все із перехідного DTD плюс самі фрейми.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

URI в кожній з цих Декларацій типу документа дозволяє браузерам завантажити необхідні DTD-набори мнемонік. Останні дві літери в Декларації вказують на мову DTD. Для HTML це завжди англійська («EN»).

Декларація типу документу потрібна для проведення валідації документу згідно з оголошеним DTD. Кожне DTD містить в собі повну граматику HTML, яка зазначає дозволені та не дозволені елементи для документу цього типу.

Валідація

Так само як і кожна мова, будь-яка комп'ютерна мова має свою власну граматику, словник і синтаксис. І кожен документ, написаний цією мовою, має дотримуватися цих правил. HTML використовує машинно-зчитуючу граматику, яка називається DTD, механізм, успадкований від SGML.

Проте, так само як і тексти природної мови можуть містити граматичні помилки, документи, що використовують мови розмітки можуть не дотримуватись визначеної граматики. Процес перевірки документа на дотримання визначених мовою правил називають валідацією, а інструмент, який здійснює перевірку -- валідатором. Документ, що пройшов цей процес без помилок називають валідним.

Згідно з цією концепцією, «валідація HTML розмітки» визначається як процес перевірки веб-документа за правилами граматики (визначеними в DTD), на які він посилається із елементу doctype.

Один із важливих принципів програмування: «Будьте консервативні в тому, що ви робите; будьте ліберальним в тому, що ви приймаєте».

Браузери дотримуються другої частини цього принципу: вони приймають веб-документи такими, які вони є, та намагаються відтворити їх на екрані, навіть якщо вони не використовують стандартний HTML. Зазвичай це означає, що браузер спробує «здогадатися» про те, що автор документу мав на увазі. Проблема полягає в тому, що різні браузери (або навіть різні версії одного браузера) зроблять різні припущення щодо одних і тих же не стандартних конструкцій, і навіть гірше: якщо HTML-код дуже відрізняється від стандарту, браузер безнадійно заплутається і безладно відтворить сторінку на екрані, або навіть аварійно закриється.

Саме тому, дотримуватися першої частини принципу належить авторам документа, шляхом перевірки своїх документів на дотримання стандарту. Найкращий інструмент для цього -- валідатор HTML розмітки.

Перегляд

Для перегляду HTML-розмітки документа можна використовувати будь-який текстовий редактор. Для перегляду документу, відтвореного за правилами HTML-розмітки, використовується браузер.

Транспортування в мережі

HTML документи можуть бути транспортовані так само як і будь-які інші файли (наприклад, за допомогою протоколів FTP, TCP), проте, зазвичай вони транспортуються із сервера за допомогою протоколу HTTP, або по електронній пошті.

HTTP

Всесвітня павутина складається в основному з HTML документів, переданих з веб-серверів для браузерів, використовуючи протокол HTTP. До того ж, HTTP використовується для передачі зображень, звуків, відео та іншого супутнього контенту. Для правильного відтворення документу браузером, окрім нього самого передається ще й інша інформація (метадані), у якій зазвичай міститься визначення MIME типу (наприклад, text/html або application/xhtml+xml) та кодової таблиці документа.

Електронна пошта

Більшість графічних поштових клієнтів дозволяють використовувати підмножину елементів HTML (часто визначених стандартом як застарілі та не рекомендовані у розмітці), щоб забезпечити візуальне форматування тексту, роблячи неможливим семантичну розмітку тексту засобами поштового клієнта. Багато таких клієнтів включають в себе WYSIWYG-редактор HTML для складання повідомлень. Використання HTML у повідомленнях електронної пошти є спірним питанням через проблеми з сумісністю у різних поштових клієнтів; також HTML може допомогти приховати фішинг.

2.8.3 Поточні напрямки розвитку і використання HTML

З моменту свого створення, HTML і пов'язані з нею протоколи порівняно швидко отримали визнання. Однак, в перші роки існування цієї мови розмітки не було жодних чітких стандартів. Хоча її творці спочатку і задумували HTML як семантичну мову, позбавлену презентаційних можливостей, її практичне використання із різними браузерами призвело до додавання багатьох презентаційних елементів і атрибутів в HTML. Останні стандарти пов'язані з HTML відображають зусилля з подолання хаотичного розвитку мови і створення раціональної основи для розробки як змістовних, так і виразних документів. Щоб повернути HTML її роль семантичної мови, Консорціум Всесвітньої павутини розробив мови стилізування такі як Каскадні таблиці стилів та Розширена мова таблиць стилів, аби перенести на них відповідальність за вигляд документу. У зв'язку з цим, специфікація HTML повільно почала повертатися виключно до семантичних елементів.

Семантичний HTML

Семантичний HTML -- спосіб написання HTML, що віддає перевагу підкресленню смислу закодованої інформації радше за її подання (зовнішній вигляд). Ще з самого початку свого розвитку HTML мав у складі елементи семантичної розмітки, проте також мав і елементи презентаційної розмітки такі як font, i та center. Також HTML має семантично-нейтральні елементи span та div. З кінця 1990-х, коли Каскадні таблиці стилів почали належно працювати в більшості браузерів, авторам документів було рекомендовано уникати використання презентаційної розмітки HTML з метою розділення представлення і змісту.

У 2001 році, в статті про Семантичну павутину, Тім Бернерс-Лі та інші навели приклади шляхів, за якими, одного дня, «агенти» інтелектуального програмного забезпечення зможуть автоматично прочесати Всесвітню мережу та відшукати, відфільтрувати та встановити співвідношення попередньо непов'язаних фактів на благо користувачів. Такі агенти є незвичайними навіть зараз, але деякі з ідей Web 2.0, мешапів та сервісів порівняння цін стають все ближчими до реалізації. Основна відмінність між цими гібридними веб-застосунками та семантичним агентом, який згадується у статті Бернерса-Лі, полягає в тому, що нинішні шляхи збирання та гібридизації інформації, як правило, створені веб-розробниками, які вже точно знають де шукати потрібну інформацію і яка в неї API-семантика.

Важливими типом веб-агента, який прочісує і читає веб-сторінки автоматично, проте без знання того, що він може виявити, є пошуковий робот. Цей програмний агент, залежить від семантичної ясності веб-сторінок, які він знаходить, оскільки в ньому використовуються різні методи і алгоритми зчитування та індексації мільйонів веб-сторінок в день, що забезпечує користувачів Інтернету пошуковими можливостями, без яких Всесвітня павутина була б корисна тільки на малу частину від її сучасних можливостей.


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

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

    дипломная работа [11,6 M], добавлен 26.05.2012

  • Апаратна організація Web-серверу гнучкої комп’ютеризованої системи в середовищі Linux Debian. Забезпечення обміну даними між персональним комп’ютером і зовнішніми вимірювальними приладами, прийом/передача даних крізь USB-інтерфейс в системи обміну даними.

    дипломная работа [3,3 M], добавлен 25.10.2012

  • Аналіз областей застосування та технічних рішень до побудови систем керування маніпуляторами. Виведення рівнянь, які описують маніпулятор як виконавчий об’єкт керування. Зв’язок значень кутів акселерометра з формуванням сигналів управління маніпулятором.

    дипломная работа [2,3 M], добавлен 26.07.2013

  • Різновиди архітектур баз даних. Архітектура "файл-сервер" і локальні бази даних. Обґрунтування вибору архітектури стосовно проектованої системи. Основні концепції мови SQL. Структура запитів до окремих таблиць. Інтерфейс користувача проектованої системи.

    дипломная работа [972,5 K], добавлен 26.10.2012

  • Програми лінійної та розгалуженої структури. Програмна реалізація функцій для роботи з датою та часом. Робота з візуальними компонентами керування. Створення інтерфейсу користувача стандартними подіями. Глобальні ідентифікатори Screen, Mouse, Application.

    отчет по практике [1,3 M], добавлен 24.02.2015

  • Взаємодія комп’ютера з зовнішніми пристроями. Послідовний потік даних як біти синхронізації і власне біти даних. Специфіка формату послідовних даних, які формує UART. Електричний інтерфейс RS-232C. Способи керування портами у WINDOWS95 та WINDOWS XP.

    реферат [660,1 K], добавлен 19.06.2010

  • Розроблення ефективної інформаційно-аналітичної системи управління вищим навчальним закладом. Структура бази даних університету ПолтНТУ імені Юрія Кондратюка. Форма діалогового створення різних запитів. Користувацький інтерфейс, операції і проводки.

    курсовая работа [70,1 K], добавлен 28.08.2014

  • Контроль пожежної безпеки. Комфортне керування освітленням. Програми керування оповіщенням, системою доступу, освітленням, пожежною безпекою. Схема секторів для системи відеонагляду. Програма для логічного контролеру. Схема внутрішніх з'єднань.

    курсовая работа [941,0 K], добавлен 20.02.2015

  • Об’єктно-орієнтований аналіз, визначення класів та методів. Загальна схема функціонування системи. Представлення учбового матеріалу, питань та відповідей. Графічний інтерфейс користувача для роботи з програмою. Використання програми викладачами.

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

  • Алгоритм реалізації та функціонування програми, яка імітує команду DOS dir. Засоби мови Assembler, що використовуються в програмі: команди, директиви, переривання. Функціонування програми; інтерфейс, який застосовується при спілкуванні з користувачем.

    курсовая работа [27,9 K], добавлен 18.01.2013

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