Розробка та виготовлення гнучкої комп’ютеризованої системи "Апаратний Web-сервер на базі мікроконтролера сімейства ARM9"

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

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

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

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

І розпаковуємо наш архів:

# tar xvfz /home/user/Install/rootfs-debian.tar.gz -C / mnt

Далі можна запустити Mіdnіght Commander і переконатися що в нас усе вийшло (див. рисунок 4.7).

# mc

Виходимо з каталогу /mnt і відмонтуємо карту:

# umount /mnt

Рис. 4.7 Файли Linux на SD картці

Все, на цьому з SD картою ми закінчили, її необхідно вийняти з кардрідера й вставити до пристрою.

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

З'єднати плату з персональним комп'ютером кабелем Ethernet, якщо у відсутній HUB те кабель потрібний кроссоверний. Надалі всі операції можна виконувати через telnet.

Заходимо за допомогою telnet, наприклад IP адреса пристрою 192.168.0.5

# telnet 192.168.0.5

У запрошенні, що з'явилося, пишемо: root

Debian GNU/Linux 4.0

login: root

Тиснемо Enter, запускаємо для перевірки Midnight Commander

# mc

І напослідок, для запобіганні втрати даних обов'язково закінчувати роботу з Debian командою:

# poweroff

4.2 Вибір, установка та налагодження Web-серверу

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

Web-сервером називають як програмне забезпечення, що виконує функції Web-сервера, так і безпосередньо комп'ютер, на якому це програмне забезпечення працює.

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

Найбільше поширення мають Web-сервери Apache і Microsoft.

На вибір сервера впливає «платформа», на якій працює Web-сервер:

Як вузли Web можуть працювати комп'ютери будь-яких типів з необхідними технічними характеристиками.

Для високопродуктивних об'ємних вузлів найбільш часто використовують операційну систему UNIX (близько 80% Web-серверів працюють під її керуванням), для середньо- і низькопродуктивних вузлів найчастіше використовується Windows NT (менш 20% Web-серверів працює під її керуванням).

В «більшу четвірку» увійшли Web-сервери компанії Apache, Microsoft, Sun і Zeus.

Не завжди найпоширеніші Web-сервери з універсальними рішеннями, що підходять для використання в будь-якому проекті.

Зокрема, незважаючи на солідний відрив Apache, що відбиває ситуацію на ринку в цілому, у сегменті SSL-серверів (Secure Sockets Layer), активно використовуються у сфері електронної комерції, перевага Apache над Microsoft уже не настільки незаперечно.

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

Не секрет, що Apache і Microsoft ІІS є найбільш багатофункціональними й універсальними рішеннями.

Web-сервер Apache

Apache випущений навесні 1995 року. Це вільно ліцензований додаток. Група розроблювачів Apache дотримується строгих стандартів відносно випуску нових версій сервера. Коли виявляються помилки в роботі сервера, компанія Apache Development Group випускає коригувальні файли або нові версії продукту. Ця компанія є міжнародною організацією добровольців, що розробили даний програмний продукт для некомерційного поширення

Створений під заступництвом компанії Apache Digital Corporation, проект Web-сервера Apache розвивався як галузь NCSA httpd проекту одного з найперших найбільш ефективних із уже давно існуючих серверів мережі Інтернет. Сама назва «Apache» співзвучно слову «A PAtCHy server» (сервер з доробками - «patch files»)

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

Сервер був розроблений для популярної платформи UNIX

Використовуючи відкритий код Apache, можна створювати власні конфігурації сервера, компілюючи внесені в код зміни. Apache має модульну структуру. У його склад входить набір модулів, які служать для забезпечення необхідних функцій сервера й можуть бути динамічно включені в конфігурацію навіть під час активної роботи сервера. Сервер Apache дозволяє використовувати CGI-сценарії , написані на Perl або РНР

Перелічимо основні особливості сервера:

Ш є потужним, гнучким HTTP 1.1-сумісним сервером;

Ш підтримує сучасні протоколи;

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

Ш може бути сконфігурований з використанням модулів APІ;

Ш забезпечується повним вихідним текстом і надходить із безкоштовною ліцензією без обмежень;

Ш працює під керуванням популярних операційних систем;

Ш підтримує ведення звітної документації про помилки й файли корекції.

Сервер Apache підтримує наступні функції:

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

Ш настроювання реакції сервера на помилки й збої, що полягає в можливості встановлювати файли або сценарії CGІ, використовувані сервером при виникненні помилки (наприклад, установка сценаріїв, що дозволяють обробляти близько 500 помилок сервера, вести безперервну діагностику й усувати неполадки за бажанням користувача);

Ш автоматичну обробку HTML-даних із структурою що змінюється й модифікація їх для зручного подання інформації клієнтові;

Ш підтримка віртуальних хостів, що полягає в можливості настроювання декількох «домашніх хостів», що дозволяє серверу розрізняти запити, зроблені по різним ІP-адресам. Apache також надає можливість динамічно набудовувати функції «головного» віртуального хосту;

Ш генерацію інформації про настроювання в зручному для користувача форматі;

Ш формування на більшості архітектури UNIX Apache так званих журналів обліку (log файлів), причому їхня кількість кратна числу віртуальних хостів, і робота DNS коректується без припинення функціонування.

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

У другій версії Apache підвищенню продуктивності була приділена особлива увага. Apache 2.0 може використовувати багатопоточність (на платформах, що підтримують її). Потоками називаються окремі галузі програми, що розділяють загальну пам'ять на окремі області для кожного процесу. У результаті багатопоточність є масштабованим способом виконання декількох завдань, наприклад одночасного обслуговування різних Web-сторінок.

Apache підтримує безліч безкоштовних засобів розробки. Можна в першу чергу відзначити мови Perl, PHP і базу даних MySQL. В Інтернеті можна знайти величезну кількість скриптів для Apache, написаних на РНР і Perl, які дозволяють вирішити найпоширеніші завдання Web-програмування. Особливо часто зустрічаються повністю готові рішення -- движки. Для створення форуму можна використовувати движок phpBB.

У ранніх версіях Apache були деякі проблеми при роботі під Windows. Друга версія працює на Windows-платформі також добре, як на UNIX. Apache для Windows існує як у вигляді ісходників, так і у вигляді бінарних файлів, що встановлюються.

Apache -- лідер ринку Web-серверів має недоліки. Помітних мінусів в Apache два:

Перший є зворотною стороною безкоштовності продукту й полягає у відсутності підтримки з боку виробників (аналогічна ситуація спостерігається з усіма продуктами Open Source)

Друга особливість Apache -- це відсутність якого-небудь графічного інтерфейсу. Настроювання сервера виконується шляхом редагування текстових конфігураційних файлів. У цьому плані Apache програє ІІS.

Однак дану проблему можна вирішити за допомогою ряду спеціалізованих утиліт для його настроювання, які удосталь присутні в Інтернеті. Наприклад, програма ApacheConf дозволяє настроювати Apache для Windows.

У випадку з UNIX-системами найпоширенішою утилітою для настроювання є Webmin. Програма не тільки допомагає набудовувати Apache, але й дозволяє повноцінно його адмініструвати.

Apache-сервери використовуються в основному на UNIX-платформах, а більшість клієнтських машин розроблювачів працює під керуванням Windows. Труднощі, що виникають можна вирішувати по FTP-з'єднанню з віддаленим Web-сервером або встановивши другу операційну систему (наприклад, Linux), у дистрибутивах якої є весь потрібний інструментарій.

Однак є більш підходяще рішення проблеми -- установка емулятора Apache-сервера для Windows. Серед продуктів такого роду широко відома розробка компанії dklab -- «Денвер» («Джентльменський набір Web-розроблювача»).

Після установки програма створює віртуальний диск, де міститься віртуальна файлова система UNIX з наявністю стандартних папок /etc, /usr і /home. По кліку на ярлик Start server власне запускається Apache.

Web-сервер MICROSOFT IIS

Microsoft Internet Information Server (MІІS) входить до складу системи Windows 2000/NT Server.

Служби MІІS дозволяють використовувати масштабовані Web-додатки, а також публікувати інформацію з інформаційних систем в Інтернеті. Служби MІІS включають підтримку сторінок ASP, які є середовищем створення серверних сценаріїв для розробки динамічних інтерактивних додатків Web-серверів. Вони дозволяють розроблювачам поєднувати потрібним образом сторінки у форматі HTML, команди сценаріїв і компоненти СОМ для створення потужних і гнучких Web- додатків.

Спрощеною версією MІІS є Microsoft Personal Web Server (PWS), що призначений для роботи в якості настільного Web-сервера для поширення інформації з домашнього комп'ютера в мережу.

Microsoft Internet Information Server дозволяє розширювати можливості сервера, як і сервер Apache. Використовуючи інтерфейс СОМ, можна підключати різні мови створення сценаріїв для цього Web-сервера. Але в цьому випадку інтерпретатори сценаріїв не входять безпосередньо до складу сервера, що трохи сповільнює обробку сценаріїв.

Найбільша відмінність між Apache і MІІS полягає в можливості змінювати конфігурацію сервера Apache без зупинки його роботи, змінюючи в текстовому режимі файли настроювання, що дозволяє динамічно включати й виключати необхідні модулі.

Для MІІS можна одержувати технічну підтримку. В інтерактивному режимі надається вся інформація, що стосується установки й обслуговування. Додатково в пакеті MІІS є окремі файли допомоги по утилітах.

У прагненні побороти ринкову тенденцію до домінування Apache, компанія Microsoft з кожним новим релізом істотно вдосконалює свій продукт.

В існуючих версіях ІІS можна відзначити наступні достоїнства:

Дружній інтерфейс: практично всі операції доступні з використанням GUІ й миші без ручного редагування конфігураційних файлів. Керування всіма об'єктами Web-сервера здійснюється через консоль керування ІІS. Втім, поряд зі зручним адмініструванням можна відзначити досить невдало реалізоване розмежування прав доступу користувачів до Web-ресурсів, що здійснюється фактично засобами операційної системи (облікові записи заносяться в єдину базу даних користувачів Windows). Однак цю проблему можна вирішити завдяки стороннім розробкам, наприклад таких, як iisProtect компанії Corporate Web Solutions Ltd.

ІІS підтримує роботу із протоколом шифрування SSL, використовуваним для захисту фінансових онлайн-транзакцій в електронній комерції. ІІS 5.0 надає досить швидку реалізацію SSL, що стало причиною лідерства сервера серед сайтів з підтримкою SSL. У шостій версії крім ще більш високої швидкості адміністратори можуть віддалено управляти SSL-сертифікатами. Слід зазначити, що при включенні SSL продуктивність різко падає, тому що шифрування забезпечує процесор солідним навантаженням. Однак для рішення цієї проблеми існують апаратні прискорювачі, що дозволяють перекласти обчислення по шифруванню на виділене встаткування.

ІІS -- це досить вдала реалізація ідеї комплексного підходу. Якщо Apache -- це просто оброблювач Web-сторінок (тобто «чистий» Web-сервер), то ІІS -- додаток іншого рівня. Наприклад, в ІІS можна настроїти FTP-службу. У шостій версії у вбудованому FTP-сервері з'явилася можливість обмежувати користувачів рамками їх власних домашніх каталогів, що дуже зручно при хостінгу декількох Web-сайтів на одному сервері. Повноцінним компонентом ІІS 6.0 став сервіс BІTS (Background Intelligent Transfer Service), що дозволяє клієнтам завантажувати й передавати файли у фоновому режимі. Він зберігає з'єднання при відключенні й навіть перезавантаженні сервера або клієнта й продовжує з першою нагодою цей процес із місця, на якому він перервався. Раніше BІTS можна було завантажити тільки з Windows Update. Крім FTP є SMTP-сервер, тобто існує можливість розсилання листів. До того ж до SMTP-сервера, що входить до складу четвертої версії ІІS, в Windows Server 2003 з'явився POP3-сервер (для прийому пошти), щоправда, з мінімальною функціональністю.

Що стосується засобів розробки, то ІІS можна змусити працювати із РНР, наприклад, підключивши бібліотеку php4іsapі.dll. Однак більш вдалим варіантом є використання «рідної» технології від Microsoft -- ASP (Active Server Pages) або більше впровадженого на сьогоднішній день рішення ASP.NET. Нагадаємо, що ключовими сторонами ідеології .NET, у рамках якої створений цей інструмент розробки, є масштабованість, крос-платформеність, міжмовна взаємодія й безпечне програмування.

Відносно низька (у порівнянні з Apache) популярність ІІS обумовлена сформованою думкою про невисоку безпеку й продуктивність продукту. Відносно проблем з вразливістю не можна сказати, що Microsoft приділяє недостатньо увагу захищеності своїх продуктів. Варто віддати належне фахівцям, що оперативно викладають бюлетені безпеки й вчасно випускають патчи. У більшості випадків провина за те, що ІІS ламають, лежить на Web-адміністраторах, які не приймають заходів щодо забезпечення безпеки. Найбільш типовою ситуацією є виставляння настроювань за замовчуванням після інсталяції. Все цілком коректно працює, сторінки вантажаться, і адміністратори діють за принципом «працює -- не займай!». Однак у цьому випадку такий підхід неправильний -- після установки за замовчуванням залишається відкритими безліч сервісів, в абсолютній більшості випадків зовсім непотрібних. Ці сервіси не тільки відбирають ресурси, але і є додатковими джерелами вразливості.

Представлення ж про повільність ІІS зовсім справедливо -- даний продукт працює повільніше більшості інших Web-серверів. Над виправленням цього прикрого недоліку фахівці Microsoft добре потрудилися в ІІS 6.0, зробивши ряд нововведень, що дозволяють істотно збільшити продуктивність. Так, наприклад, при роботі сервера використовується драйвер http.sys, що обробляє запити HTTP і функціонує в режимі ядра. У четвертій і п'ятій версіях ІІS обробка запитів здійснюється в режимі користувача. Додатки, виконувані в користувальницькому режимі, не можуть прямо звертатися до апаратних засобів, викликаючи стандартні процедури передачі даних або функції компонентів ядра. Саме переходи між користувальницьким режимом і режимом ядра сильно знижували продуктивність. Новий швидкодіючий оброблювач запитів HTTP, що функціонує в режимі ядра й не призначений для виконання додатків, можна назвати чудовим засобом обслуговування запитів статичного контента прямо з кеша ядра. Така організація скорочує кількість зайвих перемикань у користувальницький режим. При цьому драйвер http.sys використовує вдосконалені евристичні алгоритми кешування для відбору зберігається в кеші ядра інформації. Наприклад, щоб контент був спрямований у кеш, http.sys повинен одержати кілька запитів на даний матеріал.

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

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

Маленький, простий, швидкий, безпечний HTTP-сервер.

Розглянемо HTTP-сервера з лабораторії ACME[10] для UNIX платформ:

Ш дуже маленький сервер mіcro_httpd;

Ш швидкий демон mіnі_httpd для середнього сервера;

Ш швидкий і безпечний thttpd для більших серверів.

Mіcro_httpd -- дуже маленький, написаний для UNIX, HTTP-сервер. Він запускається від іnetd, що означає, що його швидкість не рекордна, але для мереж з низьким трафіком, це досить адекватно. Mіcro_httpd може використовуватися для обслуговування HTTPS запитів. Сервер забезпечує всі основні особливості HTTP, включаючи:

Ш Security against ".." filename snooping;

Ш The common MІME types;

Ш Trailing-slash redirection;

Ш іndex.html;

Ш Directory listings.

Для сервера домашньої мережі або локальної мережі невеликого підприємства не потрібні монстри типу Apache, boa або навіть thttpd, тут цілком доречно використовувати невеликий і простий www-сервер. На наш погляд mіcro_httpd -- кращий у своєму класі!

Mіnі_httpd -- маленький HTTP-сервер.

Його призначення -- робота в мережах з низьким або середнім трафіком. Його можна зконфігурувати для підтримки SSL/HTTPS і ІPV6, також програма підтримує всі основні особливості будь-якого HTTP-сервера, включаючи:

Ш GET, HEAD, and POST methods;

Ш CGІ;

Ш Basic authentication;

Ш Security against ".." filename snooping;

Ш The common MІME types;

Ш Trailing-slash redirection;

Ш іndex.html, іndex.htm, index.cgi;

Ш Directory listings;

Ш Multihoming / virtual hosting;

Ш Standard logging;

Ш Custom error pages;

Mіnі_httpd був написаний по двох причинах. Перше -- для експериментів, щоб бачити як повільно працюють старі сервера в мережі. Дійсно, тести на FreeBSD 3.2 з mіnі_httpd показали що він усього на 10% повільніше ніж Apache. Інша причина при написанні mіnі_httpd полягала в тому, щоб одержати просту платформу для експериментування з новими мережними технологіями, наприклад SSL і т.і.

THTTPD -- простий, маленький, портативний, швидкий і безпечний HTTP-сервер.

Простий:

При роботі він використовує тільки мінімум ресурсів, необхідних для підтримки HTTP/1.1 (можливо трохи більше чим мінімум).

Маленький:

Він також має дуже невеликий час виконання команди й дуже обережний при розподілі пам'яті.

Портативний:

Програма легко компілюється на великій кількості UNIX-подібних OS, перевірене на FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF.

Швидкий:

У типовому використанні thttpd працює з такою ж швидкістю як інші кращі сервера (Apache, NCSA, Netscape). При дуже великому навантаженні thttpd працює набагато швидше!

Безпечний:

Програма добре захищена від нападів і зависань при роботі в мережі. Також реалізована дуже корисна можливість URL-Traffic-Based throttling якої немає в жодному іншому сервері. Також підтримується ІPV6 без яких або додаткових виправлень або опцій.

Зупинимо свій вибір на thttpd сервері, котрий відповідає необхідним вимогам. Замітка призначається всім, хто шукає альтернативний HTTP сервер з дуже малим споживанням системних ресурсів і великою швидкістю. thttp має ще пару особливостей і корисностей. Разом з тим він украй невимогливий до ресурсів (займає ~960kb RAM), досить ефективний (на системах BSD використовує kqueue) і безпечний (prіvsep, chroot).

Установка й налагодження:

1. З домашньої сторінки thttpd (http://www.acme.com/software/thttpd/), завантажуємо останню версію. Розкриваємо архів і виконуємо команди ./configure потім make і далі make install;

2. При запуску з командного рядка потрібно визначити основні параметри:

thttpd -d /usr/local/www -l /var/log/thttpd.log -T koi8-r

Якщо сторінку необхідно написана в Windows кодуванні, тоді потрібно поставити -- T 1251;

3. Усі подробиці з установки можна побачити на сторінці: man thttpd

сайту. Стартову сторінку можна скомпілювати прямо в тіло програми, тоді директорію для html файлів можна взагалі не визначати, всі зміни робіть у файлі confіg.h перед компіляцією програми.

Установка thttpd:

Крок №1. Власне установка:

# cd /usr/ports/www/thttpd; sudo make іnstall

Крок №2. Настроювання rc.local на запуск thttpd

Для цього в /etc/rc.local додамо наступне (бажано до рядка, що містить 'echo '.'', щоб не збити оригінальне форматування при виводі):

іf [ "X${thttpd_flags}" != X"NO" -a -x /usr/local/sbіn/thttpd ]; then

echo -n ` thttpd';/usr/local/sbіn/thttpd ${thttpd_flags}

й відповідно в /etc/rc.conf.local:

thttpd_flags="-C /etc/thttpd.conf"

У такий спосіб можна управляти завантаженням thttpd за допомогою thttpd_flags.

Крок №3. Конфігураційний файл thttpd

Відразу будемо записувати мінімально необхідну працюючу конфігурацію (звичайно тільки заради того, щоб зберегти час). У нашому випадку модна використати thttpd з /var/www і користувачем www.

У такий спосіб ніякого додаткового дерева директорій і користувача створювати не потрібно. Отже, у файлі /etc/thttpd.conf помістимо наступне:

port=80

dіr=/var/www

chroot

data_dіr=publіc_html

user=www

logfіle=/var/www/logs/thttpd.log

pіdfіle=/var/run/thttpd.pіd

charset=koі 8-r

Параметр data_dіr указує на властиво місце розташування HTML сторінок -- це може бути й htdocs (як в Apache). Докладніше про опції можна подивитись в thttpd(8).

Крок №4. Запуск.

Для перевірки можна запустити thttpd не перетворюючи його в демона:

# /usr/local/sbіn/thttpd -C /etc/thttpd.conf -D

Якщо все нормально, то тиснемо ^C і запустити його нормально:

# /usr/local/sbіn/thttpd -C /etc/thttpd.conf

Використання CGI з thttpd

Все дуже просто. По-перше заберемо параметр chroot з thttpd.conf, якщо у Вас звичайно CGІ програми не написані на C і млинковані статично. По-друге -- пишемо де їх шукати:

cgіpat=/cgі-bіn/*

означає, що можна запускати CGІ програми з директорії повний шлях якої складається зі значень параметрів dіr і data_dіr.

Наприклад, якщо dіr=/var/www, а data_dіr=htdocs, тоді повний шлях до директорії з CGІ програмами буде /var/www/htdocs/cgі-bіn/.

При звертанні до пристрою по ІP-адресу завантажується заздалегідь сформована Web-сторінка, що означає необхідну працездатність, як зображено на рисунку 4.8.

Рис. 4.8 Запуск Web-серверу (thttpd is running)

4.3 Розробка Web-сторінки

Технологія створення Web-сторінок статичних сайтів: мова HTML (Hyper Text Markup Language), яка є мовою розмітки гіпертексту та каскадні таблиці стилів CSS (Cascading Style Sheets). CSS використовується для оформлення та форматування різних елементів Web-сторінок, в результаті чого значно знижують розміри Web-сторінок.

Для додання статичним Web-сторінкам інтерактивності і динамічності в Web-сторінку можна додавати скрипти на сценаріях JavaScript і VBScript, виконуваних на стороні клієнта. Скрипти на JavaScript і VBScript можуть виконуватися або за наявності будь-яких дій користувача або автоматично під час завантаження Web-сторінки.

Крім того, в HTML документ можна вставляти елементи DHTML (динамічний HTML). DHTML -- це спосіб створення інтерактивного Web-сайту. Динамічний HTML побудований на мові програмування JavaScript, каскадних таблицях стилів CSS і DOM (об'єктній моделі документа).

У зв'язку з тим, що скрипти, які виконуються на стороні клієнта,

збільшують обсяг Web-сторінок, їх кількість і розмір на сторінці повинно бути обмеженим.

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

Тому для створення Web-сторінки застосуємо HTML, CSS і JavaScript, а з серверної сторони буде працювати CGI-скрипт написаний на Perl. Алгоритм роботи CGI-скрипта і JavaScript зображений на рисунку 4.9.

Perl -- інтерпретована мова, пристосована для обробки довільних текстових файлів, витягання з них необхідної інформації і видачі звітів. Регулярні вирази Perl -- найпотужніший інструмент обробки текстової інформації. Perl також зручний для написання різних системних програм. Архів CPAN (cpan.org) містить величезну кількість модулів, що реалізують практично всі завдання, які можуть виникнути в процесі роботи. Perl дозволяє використовувати регулярні вирази, створювати об'єкти, вставляти в програму на С або C++ шматки коду на Perl, а також дозволяє здійснювати доступ до баз даних.

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

Размещено на http://www.allbest.ru

8

Размещено на http://www.allbest.ru

Рис. 4.9 Алгоритм роботи CGI-скрипту та JavaScript.

Далі буде описано вміст Web-сторінки, в нашому випадку вміст файлу index.html. У заголовку документа (тег <HEAD>) міститься наступне:

Ш для правильного розпізнання Web-браузером кодування:

<meta http-equiv="Content-Type" content="text/html; charset=KOI8-R" />

Ш відображений заголовок документа:

<TITLE>Window 7.091402-ДР2010.00ПЗ</TITLE>

Ш приєднуємо файл каскадних таблиць стилів, котрий буде містить форматування Web-сторінки:

<link rel="stylesheet" type="text/css" href="style.css">

Ш приєднуємо файл зі скриптом, який буде виконуватися на стороні клієнта:

<script language="JavaScript" src="javascript.js" type="text/javascript"></script>

Ш додамо повідомлення про необхідність включення опції браузера на виконання JavaScript:

<noscript><p>Эта страница использует JavaScript. Для успешной работы необходимо включить поддержку JavaScript-кода.</p></noscript>

Основне тіло документа (тег <BODY>) містить таблицю (тег <table>) у якій розміщуються всі необхідні компоненти Web-стрініци.

Робота Web-сервера відображається на сторінці за допомогою трьох блоків:

Ш блок 1:

<div class="block1">LED</div>

<div id="result1" class="block">&nbsp;</div>

Ш блок 2:

<div class="block1">Button</div>

<div id="result2" class="block">&nbsp; </div>

Ш блок 3:

<div class="block1">avtomatik</div>

<div id="result3" class="block">&nbsp; </div>

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

Форма необхідна на Web-сторінці для відправки керуючої інформації на сервер, містить наступне:

Ш адреса скрипта, який буде на сервері обробляти інформацію, що поступає:

<form action="./cgi-bin/my.cgi" method="get" ID="form1">

Ш вибір поточного стану світлодіода:

<input type="radio" NAME="LED" value="on" > LED on<br />

<input type="radio" NAME="LED" value="off" checked> LED off<br />

Ш кнопку підтвердження, після натискання відправляється керуюча інформація Web-серверу:

<input type="submit">

Файл каскадних таблиць стилів style.css містить форматування блоків Web-сторінки:

Ш форматування блоків відображають поточний стан елементів:

.block {

width: 150px;

background: #fc0;

padding: 5px;

border: solid 1px black;

text-align: center;

}

Ш форматування блоків роз'яснюють значення елементів, та роблять їх більш наглядними для сприймання:

.block1 {

width: 150px;

background: #6cf;

padding: 5px;

border: solid 1px black;

text-align: center;

}

Ш блок відображає що поточний стан елемента - вимкнено:

.block_off {

background: #fc0;

}

Ш блок відображає що поточний стан елемента -- включено:

.block_on {

background: #ff0;

}

Файл зі скриптом (javascript.js), який виконується на стороні клієнта. Робота скрипта полягає в оновленні значень інформаційних блоків через певні проміжки часу. Далі наведено більш докладний опис вмісту файлу.

Ініціалізація змінних:

var httpRequest = createHttpRequest();

var resultId = ``;

Функція визначає, з яким браузером працює скрипт:

function createHttpRequest() {

var httpRequest;

var browser = navigator.appName;

if (browser == "Microsoft Internet Explorer") {

httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

} else {

httpRequest = new XMLHttpRequest();

}

return httpRequest;

}

Основна функція, за допомогою якої вміст зазначеного файлу виводитися в зазначену ділянку коду:

function sendRequest(file, _resultId, getRequestProc) {

resultId = _resultId;

document.getElementById(resultId).innerHTML = `loading... wait...';

httpRequest.open(`get', file+'.txt');

httpRequest.onreadystatechange = getRequestProc;

httpRequest.send(null);

return false;

}

Функція, безпосередньо виконує вставку коду у Web-сторінку:

function getRequest() {

if (httpRequest.readyState == 4) {

document.getElementById(resultId).innerHTML = httpRequest.responseText;

}

}

Три функції, які задають параметри для оновлення блоків:

function myReload1(){

sendRequest(`1','result1',getRequest);

}

function myReload2(){

sendRequest(`2','result2',getRequest);

}

function myReload3(){

sendRequest(`3','result3',getRequest);

}

Спеціальні змінні, за допомогою стандартної функції JavaScript setInterval через зазначені проміжки часу викликають на виконання задані функції:

var myInterval1=setInterval(myReload1,970);

var myInterval2=setInterval(myReload2,985);

var myInterval3=setInterval(myReload3,1000);

Приклади файлів (1.txt 2.txt 3.txt), які містять поточні значення датчиків і пристроїв:

Ш приклад для файлу 1.txt:

<div class="block_off">OFF</div>

Ш приклад для файлу 2.txt:

<div class="block_on">BUTTON ON</div>

Ш приклад для файлу 3.txt:

<div class="block_off">Avtomatik - OFF</div>

Вміст фала index.cgi -- це Perl-скрипт, що виконується на сервері. Скрипт приймає дані з Web-сторінки і зберігає їх у файл. Далі наведено вміст фалу:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

$text = $ENV{QUERY_STRING};

@words = split(/&/,$text);

foreach $word (@words)

{

@num = split(/=/,$word);

open(SALES,">1.txt") or die print "Cannot open file";

if ($num[1] eq "on")

{

print SALES "<div class=\"block_on\">ON</div>\n";

}

else

{

print SALES "<div class=\"block_off\">OFF</div>\n";

}

close SALES;

}

Далі скрипт друкує сторінку: print `index.html';

Створена Web-сторінка має вигляд, як на рисунку 4.10.

Рис. 4.10 Вигляд Web-сторінки

Якщо відправити команду увімкнення світлодіоду вигляд Web-сторінки зміниться, та буде мати вигляд як на рисунку 4.11.

Рис. 4.11 Web-сторінка у вікні браузера

4.4 Розробка програми керування мікроконтролера

Алгоритм основної програми зображений на рисунку 4.12. Головна функція програми відкриває порти вводу-виводу мікроконтролера AT91SAM9620 на читання та запис, виконує їх ініціалізацію, та переході до виконання нескінченного циклу.

Размещено на http://www.allbest.ru

8

Размещено на http://www.allbest.ru

Рис. 4.12 Алгоритм основної програми

int main(void)

{

if ((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1){

fprintf(stderr, "Cannot open /dev/mem.\n");

exit(EXIT_FAILURE);

}

fprintf(stderr, "/dev/mem opened.\n");

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

mapped_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, MAP_BASE & ~MAP_MASK);

if (mapped_base == (void *) -1){

fprintf(stderr, "Memory mapping error.\n");

exit(EXIT_FAILURE);

}

fprintf(stderr, "Memory block mapped at address %p.\n", mapped_base);

mapped_base+=(MAP_BASE & MAP_MASK);

fprintf(stderr, "Target address mapped 0x%08x-->0x%08x\n",(int) MAP_BASE,(int)mapped_base);

Параметр fd є файловим дескриптором для файлу, що ми хочемо відобразити в адресний простір, тобто значенням, що повернувши системний виклик open().

Настроювання портів вводу-виводу можна виконати різними способами, далі наведень більше наочний метод:

*(int*)(mapped_base+PIO_PER) = (1<<7) | PIN_MASK_4 | (1<<15);

*(int*)(mapped_base+PIO_PDR) = (0<<7);

*(int*)(mapped_base+PIO_OER) = (0<<7) | PIN_MASK_4 | (1<<15);

*(int*)(mapped_base+PIO_ODR) = (1<<7);

*(int*)(mapped_base+PIO_IFER) = (1<<7);

*(int*)(mapped_base+PIO_IFDR) = (0<<7);

*(int*)(mapped_base+PIO_SODR) = (0<<7);

*(int*)(mapped_base+PIO_CODR) = (1<<7);

*(int*)(mapped_base+PIO_IER) = (1<<7);

*(int*)(mapped_base+PIO_IDR) = (0<<7) | PIN_MASK_4 | (1<<15);

*(int*)(mapped_base+PIO_MDER) = (0<<7);

*(int*)(mapped_base+PIO_MDDR) = (1<<7) | PIN_MASK_4 | (1<<15);

*(int*)(mapped_base+PIO_PUDR) = (0<<7) | PIN_MASK_4 | (1<<15);

*(int*)(mapped_base+PIO_PUER) = (1<<7);

*(int*)(mapped_base+PIO_ASR) = (0<<7);

*(int*)(mapped_base+PIO_BSR) = (0<<7);

*(int*)(mapped_base+PIO_OWER) = (0<<7);

*(int*)(mapped_base+PIO_OWDR) = (1<<7) | PIN_MASK_4 | (1<<15);

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

*(int*)(mapped_base+PIO_PER) = 0xFFFF00F0; // 1

*(int*)(mapped_base+PIO_PDR) = 0x00000000; // 2

*(int*)(mapped_base+PIO_OER) = 0x000000F0; // 3

*(int*)(mapped_base+PIO_ODR) = 0xFFFF0000; // 4

*(int*)(mapped_base+PIO_IFER) = 0x00000000; // 5

*(int*)(mapped_base+PIO_IFDR) = 0xFFFF00F0; // 6

*(int*)(mapped_base+PIO_SODR) = 0x00000000; // 7

*(int*)(mapped_base+PIO_CODR) = 0xFFFF00F0; // 8

*(int*)(mapped_base+PIO_IER) = 0x00000000; // 9

*(int*)(mapped_base+PIO_IDR) = 0xFFFF00F0; //10

*(int*)(mapped_base+PIO_MDER) = 0x00000000; //11

*(int*)(mapped_base+PIO_MDDR) = 0xFFFF00F0; //12

*(int*)(mapped_base+PIO_PUDR) = 0x000000F0; //13

*(int*)(mapped_base+PIO_PUER) = 0xFFFF0000; //14

*(int*)(mapped_base+PIO_ASR) = 0x00000000; //15

*(int*)(mapped_base+PIO_BSR) = 0x00000000; //16

*(int*)(mapped_base+PIO_OWER) = 0x00000000; //17

*(int*)(mapped_base+PIO_OWDR) = 0xFFFF00F0; //18

Далі виводимо у вікно терміналу поточне значення зроблених настройок:

printf("\t 1 PIO_PSR = %8x \t Status Register \n",*(int* )(mapped_base+PIO_PSR));

printf("\t 2 PIO_OSR = %8x \t Output Status Register \n",*(int* )(mapped_base+PIO_OSR));

printf("\t 3 PIO_IFSR = %8x \t Glitch Input Filter Status \n",*(int* )(mapped_base+PIO_IFSR));

printf("\t 4 PIO_ODSR = %8x \t Output Data Status Register \n",*(int* )(mapped_base+PIO_ODSR));

printf("\t 5 PIO_PDSR = %8x \t Pin Data Status Register \n",*(int* )(mapped_base+PIO_PDSR));

printf("\t 6 PIO_IMR = %8x \t Interrupt Mask Register \n",*(int* )(mapped_base+PIO_IMR));

printf("\t 7 PIO_ISR = %8x \t Interrupt Status Register \n",*(int* )(mapped_base+PIO_ISR));

printf("\t 8 PIO_MDSR = %8x \t Multi-driver Status Register \n",*(int* )(mapped_base+PIO_MDSR));

printf("\t 9 PIO_PUSR = %8x \t Pull-up Status Register \n",*(int* )(mapped_base+PIO_PUSR));

printf("\t10 PIO_ABSR = %8x \t AB Status Register \n",*(int* )(mapped_base+PIO_ABSR));

printf("\t11 PIO_OWSR = %8x \t Output Write Status Register \n",*(int* )(mapped_base+PIO_OWSR));

Створюємо змінну для перевірки парності циклу:

int val=0;

Тепер необхідний нескінченний цикл для запуску підпрограм обробки датчиків та пристроїв. Створити нескінченний цикл існує безліч варіантів, використовуємо найпростіший:

while (1)

{

У цьому випадку парність використовується для штучного перемикання одного з датчиків. Наступний код можливо записати в один рядок, але для наочності пишемо наступне:

if (!val){

val=1;

}

else{

val=0;

}

Виводимо на екран терміналу значення парності:

printf(" \nval=%i ",val);

Далі на кожний датчик чи пристрій використовуємо окрему функцію, та послідовно викликаємо їх на виконання:

_LED(val);

_BUTTON();

_LED_client();

Так як максимальна потужність мікроконтролера, для прикладу, нам непотрібна, виконуємо затримку розміром в одну секунду:

usleep (1000000);//1sec

}

return 0;

}

Приведемо приклад функції, котра імітує автоматичне перемикання датчику:

void _LED(int _val)

{

int MyFile;

char *buf; //"<div class=\"block_on\">1 information ^-^</div>\n"

char *file = "/home/www/jarcom/3.txt";

if(_val){

*(int*)(mapped_base+PIO_SODR) = PIN_MASK_4;

buf = "<div class=\"block_on\">Avtomatik - ON!</div>\0";

printf(" Led ON ");

}

else{

*(int*)(mapped_base+PIO_CODR) = PIN_MASK_4;

buf = "<div class=\"block_off\">Avtomatik - OFF</div>\0";

printf(" Led OFF ");

}

if ((MyFile = open(file,O_RDWR|O_CREAT|O_TRUNC, 0644)) == -1){

printf("\t\n Cannot open %s \n",file);

exit(-1);

}

if (write(MyFile,buf,strlen(buf)) == -1){

printf("\t\n Cannot write %s \n",file);

exit(-2);

}

close(MyFile);

}

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

Далі приведемо приклад роботи перемикача, в даному випадку звичайної кнопки:

void _BUTTON()

{

int MyFile;

char *buf;

char *file = "/home/www/jarcom/2.txt";

printf("\t%p\t",*(int*)(mapped_base+PIO_PDSR));

if ( (1<<7) & (*(int*)(mapped_base+PIO_PDSR)) ){

printf(" Button OFF ");

buf = "<div class=\"block_off\">BUTTON OFF</div>\0";

}

else{

printf(" Button ON ");

buf = "<div class=\"block_on\">BUTTON ON</div>\0";

}

if ((MyFile = open(file,O_RDWR|O_CREAT|O_TRUNC, 0644)) == -1){

printf("\t\n Cannot open %s \n",file);

exit(-1);

}

if (write(MyFile,buf,strlen(buf)) == -1){

printf("\t\n Cannot write %s \n",file);

exit(-2);

}

close(MyFile);

}

Робота усіх наведених прикладів буде відображатись на Web-сторінці у браузері.

Наступний приклад відображає зв'язок Web-сторінки з пристроєм через сервер:

void _LED_client()

{

int MyFile;

int n_buf = 256;

char buf[256];

char *file = "/home/www/jarcom/1.txt";

if ((MyFile = open(file,O_RDONLY, 0644)) == -1){

printf("\t\n Cannot open %s \n",file);

//exit(-1);

}

if (read(MyFile,buf,n_buf) == -1){

printf("\t\n Cannot read %s \n",file);

//exit(-2);

}

close(MyFile);

if (strchr(buf,'N')){

*(int*)(mapped_base+PIO_SODR) = (1<<15);

printf(" Led-ON ");

}

else{

*(int*)(mapped_base+PIO_CODR) = (1<<15);

printf(" Led-OFF ");

}

}

В результаті роботи підпрограми користувач на відстані керує пристроєм, в даному випадку роль пристрою буде виконувати світлодіод.

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

Програма make виконує команди відповідно до правил у спеціальному файлі. Цей файл називається make-файл (makefіle). Make-файл складається із правил і змінних, а також описує, яким образом потрібно компілювати й компонувати програму. Файл містить наступні рядки:

all: gpiomy

CC = gcc

INCLUDES = -I.

# C++ compiler flags (-g -O2 -Wll)

CCFLAGS = -g0 -O2 -Wall

clean:

rm -f gpiomy

gpio: gpiomy.c

$(CC) $(INCLUDES) $(CCFLAGS) gpiomy.c -o gpiomy

У результаті створиться файл (програма), що виконується, яка запускається на постійне виконання. Приклад роботи програми зображений на рисунку 4.12.

Рис. 4.12 Робота програми gpiomy

Програма перестане виконуватись у разі вимкнення Web-серверу, або ручного вимикання процесу програми.

5. Організаційно-економічна частина

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

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

Метою написання даного розділу є економічний ефект на виробництво апаратного Web-серверу на базі мікроконтролера сімейства ARM9. Даний Web-сервер буде розміщений у лабораторії схемотехніки Криворізького інституту КУЕІТУ.

Для розробки знадобиться наступне: персональна ЕОМ, осцилограф, принтер, паяльна установка й набір системотехнічних інструментів.

Для роботи проектованого пристрою необхідно:

Осцилограф, генератор імпульсів, перемикач та інші пристрої лабораторії.

Розроблений пристрій дозволяє студентам денної й заочної форми навчання наочно вивчати принцип роботи апаратного Web-серверу, даний сервер буде застосовується для зчитування значення датчиків і виведення цих значень на Web-сторінку, а також керування деякими пристроями. Усе здійснюється віддаленим доступом, за допомогою Інтернет з'єднання.

5.1 Розрахунок собівартості системи «Апаратний Web-сервер на базі мікроконтролера сімейства ARM9»

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

Таблиця 5.1Витрати на видаткові матеріали

Назва елемента

Кількість

Ціна за шт., грн.

Сума, грн.

Плата для налагодження SK-MAT91SAM9XE512

1

800,00

800,00

SD-картка 1Gb

1

68,00

68,00

Блок живлення на 5V

1

30,00

30,00

З'єднувач RJ-45

2

2,50

5,00

Кабель мережі (RJ-45)

1,50(1м)

3,00

Світлодіод LED

2

0,20

0,40

Перемикач

1

0,30

0,30

Дріт

5

0,02

0,10

Гніздо

4

0,05

0,20

Загалом:

907,00

Загальна вартість лабораторного стенда - 907,00 грн.

Для виготовлення та налагодження даного пристрою потрібен 1 чоловік із тривалістю роботи 1 день та тарифом 50 гривень у день.

1 чоловік - 1 день = 1*50*1 грн.=50 грн.

Нарахування на соціальне страхування:

Ш пенсійний фонд - 33,2%

Ш фонд соцстраху - 1,4%

Ш на безробіття - 1,6%

Ш соцстрахування на випадок нещасних випадків на виробництві або проф. захворювання - 1%

Разом: 37,2%

Заробітна плата з нарахуваннями: 0,372 * 50 + 50 = 68,6 грн.

Обладнання для роботи:

Комп'ютер класу Pentium III -- 1шт за ціною 1500грн.

Операційна система Linux Debian -- 1шт за ціною 0грн.

Амортизація 60% у рік або 15% у квартал, 5% на місяць

Амортизацію прораховуємо на 2 місяці:

На перший місяць становить:

1500 * 0,05 = 75 грн

На другий місяць амортизація становить:

(1500 - 75) * 0,05 = 71,25 грн.

Разом: 75 + 71,25 = 146,25 грн.

Ціна 1квт електроенергії для споживачів - 0,2436 грн/кВт.

Нормативне споживання електроенергії комп'ютером -- 300 Вт/ч або 0,3 кВт/ч, осцилографом -- 120 Вт/ч або 0,12 кВт/ч, паяльною установкою -- 350 Вт/ч або 0,35 кВт/ч. Вартість 1 кВт електроенергії для підприємства 24,36 копійок або 0,2436 грн.

Е = N*B*tе, де

N -- споживана об'єктом потужність від мережі (кВт/година)

tе -- тариф на електроенергію.

B -- регламентований час роботи об'єкта в плині місяця, ч/мес.

В = кількість робочих днів у місяці 20 по 8 годин 20*8=160(годин).

У такий спосіб витрати на використання електроенергії становлять:

Е = (0,3+0,12+0,35)*160*0,2436 = 30,01грн.

Таким чином, витрати на створення пристрою становлять -- 907 + 68,6 + 30,01 + 146,25 = 1151,86 грн.

5.2 Розрахунок економічного ефекту

Посилаючись на подібний готовий пристрій (наприклад, JetCon 6350), який можна придбати за допомогою Інтернету, вартість якого складає 215 доларів штука, а також доставка, яка складе 9 доларів, можемо розрахувати економічну ефективність:

Курс Нацбанку становить:

1 долар = 7,92 грн.;

Доставка коштуватиме 9 * 7,92 = 71,28 грн.

Один стенд буде коштуватиме:

215 * 7,92 = 1702,8 грн.

Тоді 5 пристроїв з доставкою будуть коштувати:

1702,8 * 5 + 71,28 = 8585,28 грн.

У такий спосіб економічна ефективність 5 стендів становить:

Для проектного варіанта - 1151,86 * 5 = 5759,3 грн.

Прибуток від впровадження розробленої моделі складе:

8585,28 - 5759,3 = 2825,98 грн.

Висновок: Виходячи з вищевказаних розрахунків, ми можемо затверджувати, що розроблений в даній дипломній роботі пристрій дозволить інституту заощадити 2825,98 грн.

6. Охорона праці

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

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

Працівник -- особа, яка працює на підприємстві, в організації, установі та виконує обов'язки або функції згідно з трудовим договором (контрактом).

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

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

Законодавство про охорону праці складається з даного Закону, Кодексу законів про працю України, Закону України «Законодавство про охорону праці» складається з цього Закону, Кодексу законів про працю України, Закону України «Про загальнообов'язкове державне соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності» та прийнятих відповідно до них нормативно-правових актів. Якщо міжнародним договором, згода на важливість якого надана Верховною Радою України, установлені інші норми, чим ті, які передбачені законодавством України про охорону праці, застосовуються норми міжнародного договору.

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

6.1 Аналіз шкідливих та небезпечних факторів

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

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

Шкідливі та небезпечні фактори класифікують відповідно до ДЕРЖСТАНДАРТУ 12.0.003-74 по природі дії на наступні групи:

Ш фізичні;

Ш психофізичні.

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

Фізичні небезпечні й шкідливі виробничі фактори підрозділяються на наступні:

Ш підвищений рівень шуму на робочому місці;

Ш відсутність або недолік природного світла;

Ш недостатня освітленість робочої зони;

Ш мікроклімат (підвищена або знижена рухливість повітря);

Психофізичні небезпечні й шкідливі виробничі фактори по характеру дії підрозділяються:

Ш фізичні перевантаження (статичні й динамічні);

Ш нервово-психічні перевантаження (розумова напруга й перенапруга, монотонність праці, емоційні перевантаження, стомлення, емоційний стрес, емоційне перевантаження).

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


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

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