Розробка системи безпеки на основі платформи Arduino

Проект апаратно-програмної системи безпеки приміщення на платформі Arduino та сумісних з нею периферійних пристроїв. Аналіз середовища розробки. Створення схем підключення периферійних пристроїв та плати-мікроконтролера. Розробка програмного коду.

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

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

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

Размещено на http://www.Allbest.Ru/

Національний університет «Одеська юридична академія»

Факультет кібербезпеки та інформаційних технологій

Кафедра кібербезпеки

Галузь знань 12 «Інформаційні технології»

Спеціальність 125 «Кібербезпека»

БАКАЛАВРСЬКА РОБОТА

на тему:

Розробка системи безпеки на основі платформи Arduino

Виконав: Стоянов Ю.

студент 4 курсу

Керівник: к.ф.-м.н., доцент

Чепурна О.Є.

Одеса - 2023

Зміст

Вступ

1. Аналіз області дослідження

1.1 Сучасні технології безпеки будинку

1.2 Аналіз аналогів

2. Технічна частина проекту

2.1 Проектування на платформе Arduino

2.2 IDE-середовище розробки

2.3 Програмування в Arduino IDE

3. Розробки системи безпеки

3.1 Проектування системи

3.2 Розробка програми

Висновки

Список використаних джерел

Додатки

Вступ

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

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

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

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

Важливість систем безпеки будинку можна зрозуміти, коли хтось розбиває вікно вашого будинку. Коли хтось перетинає двері без вашого дозволу, хтось може зайти в будинок через вікна, на дах. Спроба відкрити сейф у будинку і димовий датчик подає сигнали про пожежу в будинку.

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

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

Метою роботи є створення апаратно-програмної системи безпеки приміщення з використанням плати-мікроконтролера Arduino та сумісних з нею периферійних пристроїв.

Дослідження були зосереджені на інтелектуальних системах, які забезпечують безпеку приміщень

Завдання роботи:

1. проаналізувати поняття систем безпеки та їх важливість;

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

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

4. дослідити готові рішення, що доступні на ринку;

5. проаналізувати середовище розробки та інші системи, що необхідні для розробки програмного забезпечення та створення інтелектуальної системи безпеки;

6. створити функціональну та принципову схеми підключення периферійних пристроїв та плати-мікроконтролера;

7. розробити програмний код.

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

Розділ 1. Аналіз області дослідження

1.1 Сучасні технології безпеки будинку

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

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

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

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

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

- захист від несанкціонованого проникнення сторонніх осіб

- фіксація несанкціонованого проникнення та сповіщення власника або інших уповноважених осіб [2].

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

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

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

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

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

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

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

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

З'явлення технології Bluetooth змінило ситуацію. Вона базується на радіохвилях, що дозволяє пристроям зв'язку взаємодіяти, навіть якщо між ними є перешкоди, такі як стіни або предмети. Завдяки тому, що Bluetooth використовує загальну частоту 2,4 ГГц, усі пристрої із підтримкою цієї технології сумісні між собою. Єдиним недоліком Bluetooth є обмежений радіус дії, який складає 30 футів через високу частоту, що використовується для передачі даних.

Bluetooth є стандартом для бездротового з'єднання пристроїв у галузі комп'ютерів та телекомунікацій. Його використовують для підключення комп'ютерів, клавіатур, мишей, ПК, мобільних телефонів та інших електронних пристроїв. Однією з переваг Bluetooth є те, що він витрачає менше енергії та дешевший у налаштуванні, ніж Wi-Fi, і з меншою ймовірністю страждає від перешкод. Він працює на частоті 2,4 ГГц, що забезпечує сумісність з усіма підтримуваними пристроями.

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

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

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

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

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

1.2 Аналіз аналогів

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

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

Рис. 1.1 - Приклад комплекту Minismart

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

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

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

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

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

Більшість систем використовують звуковий сигнал для сигналізації. Для забезпечення безпеки обов'язковою є наявність датчиків руху, закритості дверей та вікон. Керування системою здійснюється за допомогою керуючого пристрою, наприклад мікроконтролера, який обробляє сигнали датчиків, сповіщає власника про вторгнення та вмикає сигнал тривоги [6].

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

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

В такому випадку система починає сповіщати власника про несанкціоноване проникнення різними способами, наприклад, через мобільний телефон. Крім того, система автоматично сповіщає службу безпеки. Відеоспостереження може здійснюватися в режимі 24/7, фіксуючи різні події як в самому приміщенні, так і на прилеглій території. Система відеоспостереження та датчиків зберігає дані про події в пам'яті пристрою, щоб власник міг переглянути їх у будь-який момент і отримати трансляцію в режимі реального часу. Для забезпечення безпеки в системі передбачені системи авторизації, які відрізняють власника від третіх осіб. Для цього використовуються два способи: введення коду та використання смарт-карт або чіпів.

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

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

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

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

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

Розділ 2. Технічна частина проекту

2.1 Проектування на платформі Arduino

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

Arduino є готовою апаратно-програмною платформою, яка може працювати як самостійно, так і взаємодіяти з іншим програмним забезпеченням, таким як Adobe Flash, Processing та Max MSP. На ринку існує багато різних моделей плат Arduino, які мають різні можливості та функції для виконання різних завдань.

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

Однак, важливо зазначити, що Arduino не є повноцінним комп'ютером, вона має обмежені можливості та ресурси. Тому, якщо необхідно створити більш складну систему, можливо потрібна більш потужна платформа або додаткові елементи [7].

Кожна плата мікроконтролера містить роз'єм живлення, який може бути представлений як USB-роз'єм або окремим роз'ємом для блоку живлення. Для коректної роботи плати Arduino необхідно підключити її до джерела живлення. Arduino Uno може живитися як від USB-кабелю, наприклад, від персонального комп'ютера, так і від окремого адаптера блоку живлення, який підключається до роз'єму, передбаченого на платі. Рекомендована напруга живлення для Arduino становить від 6 до 12 Вольт. Крім того, USB-роз'єм використовується для завантаження програми на плату [8]. На рисунку 2.1 зображені з'єднання через USB під номером, а роз'єм для зовнішнього джерела живлення позначений номером.

Рис. 2.1 - Плата Arduino Uno

Нижче перелічені контакти, які можуть бути використані на платі Arduino, разом з їх описом:

1. GND (4) - контакт для підключення землі, необхідний для створення замкненого кола при підключенні до контактів Vin, 5V або 3.3V. На платі присутні кілька контактів GND, які можуть бути використані для заземлення, і вони між собою з'єднані.

2. Vin (3) - вхід живлення, який використовується для отримання живлення платою від зовнішнього джерела струму. Рекомендоване значення напруги вхідного сигналу для Vin знаходиться в діапазоні від 7В до 20В, щоб уникнути перевантаження вбудованого стабілізатора напруги.

3. 3.3V - контакт, який забезпечує стабільну напругу на рівні 3,3 В для підключення периферійних пристроїв.

4. 5V - контакт, який забезпечує стабільну напругу на рівні 5 В для підключення периферійних пристроїв.

5. AREF - аналоговий опорний вхід, який використовується для зовнішнього джерела опорного напруги для аналогового вводу.

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

7. Analog - контакт, який використовується для аналогового вводу, наприклад, для зчитування значення датчика.

8. Аналогові контакти (Analog In) дозволяють зчитувати сигнали від аналогових датчиків, таких як датчик температури. Цифрові контакти, у свою чергу, призначені для роботи з цифровими сигналами, такими як сигнали від кнопок, і працюють лише з двома значеннями (увімкнено та вимкнено).

9. Кнопка скидання (Reset) дозволяє перезапустити програму, що може бути корисно для тестування. Індикатор живлення (Power LED) свідчить про те, що плата підключена до джерела живлення. Світлодіоди TX та RX дозволяють відстежувати передачу та приймання даних по UART (універсальний асинхронний приймач-передавач).

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

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

2.2 IDE-Середовище розробки

Arduino IDE є інтегрованим середовищем розробки, яке підтримує операційні системи Windows, MacOS та Linux. Це середовище розроблене за допомогою мови програмування Java та призначене для створення та завантаження програм на плати Arduino та інші сумісні плати від інших виробників.

Інтерфейс середовища розробки складається з декількох елементів: поле текстового редактора для написання та редагування коду, область виведення повідомлень, панель інструментів та головне меню [9]. Окрім створення програм, Arduino IDE також дозволяє взаємодіяти з платою та передавати дані на неї, а також завантажувати програму, інтерфейс якої зображене на рисунку 2.2.

Рис. 2.2 - Інтерфейс Arduino IDE

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

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

На панелі інструментів є 6 кнопок, як показано на рисунку 2.3:

Рис. 2.3 - Панель інструментів

Перевірка - це процес попередньої компіляції та перевірки правильності скетчу. Якщо в скетчі є помилки, то середовище виведе їх в область повідомлень.

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

Створення - цей пункт відповідає за створення нового файлу.

Відкриття - ця функція дозволяє відкривати написаний раніше скетч.

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

Монітор послідовного порту - ця функція використовується для відкриття програми для перевірки послідовного порту.

"Serial Monitor" - це програма, за допомогою якої можна відображати дані, надіслані з плати, а також надсилати дані на плату. Щоб відправити дані з зовнішнього пристрою, потрібно ввести текст у вікні програми і натиснути кнопку "Відправити" (або натиснути клавішу Enter). Для зв'язку плата використовує порт UART, який є асинхронним, тому потрібно вказати його робочу частоту. Частоту можна вказати як в меню програми, так і при написанні програми за допомогою функції Serial.begin(). Для виведення тексту у вікно програми можна використовувати функцію Serial.print() [10].

Надзвичайно важливо мати можливість використовувати вбудовані та сторонні бібліотеки в процесі програмування. Вони розширюють функціональні можливості програм та надають додаткові інструменти для роботи з апаратними засобами, обробки даних та іншого. Щоб підключити бібліотеку, необхідно відкрити меню Скетч і вибрати опцію "Підключити бібліотеку". Бібліотека буде скомпільована, а до початку програми будуть додані директиви #include. Важливо зазначити, що бібліотека буде завантажена разом із скетчем та потребуватиме додаткової пам'яті мікроконтролера.

Для завантаження програми на плату-мікроконтролер необхідно правильно обрати плату та послідовний комунікаційний порт. Щоб вибрати плату, потрібно перейти до меню "Tools", далі до опції "Board" та обрати модель плати, на яку буде завантажуватись програма. Щоб вибрати послідовний комунікаційний порт, необхідно відкрити меню "Tools" та натиснути на опцію "Serial". Якщо плата-мікроконтролер підключена до порту, програма автоматично визначить правильний порт. Після вибору плати та порту необхідно натиснути кнопку "Завантажити".

Наступним кроком є завантаження написаної програми в пам'ять мікроконтролера платформи Arduino. Під час цього процесу на більшості моделей платформи можуть блимати світлодіоди RX і TX. По завершенні процесу прошивки програма повідомить про успішну компіляцію або про помилку.

Для прошивки платформи Arduino потрібно використовувати серійне підключення UART, яке з'єднане з USB портом завдяки завантажувачу. Таким чином, можна прошити плату без зовнішніх апаратних засобів. Після початку завантаження плата автоматично перезавантажується та перейде в режим запису. Вбудований світлодіод, підключений до 13 цифрового контакту, починає блимати, підтверджуючі цей режим [11].

2.3 Програмування в Arduino IDE

Arduino мікроконтролери програмуються за допомогою спрощеної версії мови програмування C++ з обмеженими функціями. Крім того, всі програми для таких плат повинні містити дві основні функції: setup() та loop(). Функція setup() виконується один раз при запуску програми, тобто коли мікроконтролер отримує живлення. Її головною метою є ініціалізація змінних, визначення режимів роботи контактів, встановлення конфігурації з'єднання з додатковими модулями, налаштування підключених бібліотек та конфігурація портів з'єднання.

Функція loop() виконується безперервно після завершення функції setup(). На відміну від коду, що написаний в функції setup(), код в функції loop() виконується циклічно. Ця функція виконується дуже швидко, тому зазвичай вона виконується щонайменше 10 000 раз на секунду при не складній реалізації. Дуже поширеними функціями взаємодії з Arduino є функції для роботи з цифровими та аналоговими контактами, розширеного введення та виведення, а також функції часу.

Одна з найважливіших функцій - це pinMode(). Вона налаштовує режим роботи вказаного контакту як вхідного та вихідного. Рекомендується використовувати її в функції setup() [12].

Друга важлива функція - це digitalWrite(). Вона керує цифровим контактом і може відправляти значення HIGH або LOW. Перед використанням цієї функції потрібно налаштувати вихід за допомогою pinMode(). Якщо значення HIGH відправити на вивід, то на контакті з'явиться напруга номіналом 5В. Якщо відправити значення LOW, то напруга зникне (0В). Якщо вивід налаштований як вхід (за допомогою ключового слова INPUT), то відправка функцією digitalWrite() значення HIGH призведе до підключення внутрішнього підтягуючого резистора номіналом 20Ом.

Третя важлива функція - це digitalRead(). Вона зчитує рівень сигналу (значення HIGH або LOW) з зазначеного цифрового виводу. Якщо значення напруги на контакті більше 2.6В, функція поверне значення HIGH, в іншому випадку LOW.

До функцій аналогового введення/виведення відносяться наступні:

1. analogWrite() - ця функція генерує сигнал ШІМ (широтно-імпульсну модуляцію) на заданому цифровому контакті з вказаним коефіцієнтом заповнення. ШІМ сигнал генерується безперервно після виклику функції, але не всі цифрові контакти можуть генерувати такий сигнал. За замовчуванням, частота ШІМ сигналу становить 490 Гц, але її можна змінити.

2. analogRead() - ця функція зчитує значення напруги на аналоговому контакті. За замовчуванням, функція повертає значення в діапазоні від 0 до 1023. За допомогою функції analogReference() можна змінювати вхідний діапазон і роздільну здатність.

3. analogReference() - ця функція використовується для встановлення джерела опорної напруги при зчитуванні аналогового сигналу. Вона задає максимальне значення вхідного діапазону, яке може бути повернуте функцією analogRead() [13].

До функцій розширеного введення/виведення контактів відносяться наступні:

1. tone() - ця функція генерує прямокутний сигнал заданої частоти на вказаному цифровому контакті. Крім частоти та контакту, треба вказати тривалість сигналу. Якщо тривалість не вказана, то сигнал буде генеруватись безперервно. Його можна зупинити за допомогою функції noTone(). Слід зауважити, що плати-мікроконтролери Arduino та Arduino-подібні можуть генерувати лише один прямокутний сигнал заданої частоти. Тому якщо сигнал вже генерується, то використання функції tone його генерацію з іншої частоти на тому ж контакті призведе до зупинки попереднього сигналу та генерації нового.

2. pulseIn() - ця функція зчитує довжину пульса на заданому цифровому контакті. Функція чекає, поки пульс почнеться та закінчиться, а потім повертає його довжину в мікросекундах. За допомогою функції pulseInLong() можна отримати значення довжини пульса в більшому діапазоні (до 3,2 секунд).

3. attachInterrupt() - ця функція дозволяє підключати інтеррупти до цифрових контактів. Інтеррупти - це сигнали, які можуть приходити від зовнішніх джерел та призводити до переривання виконання програми та виконання певних дій. Функція attachInterrupt() задає функцію, яка буде викликатись при спрацюванні інтеррупту на вказаному контакті. За замовчуванням, інтеррупти на контактах 2 та 3 викликають функції interrupt0 та interrupt1 відповідно. Для виключення інтеррупту використовується функція detachInterrupt().

4. shiftIn() - ця функція дозволяє зчитувати послідовність бітів з вказаного цифрового контакту з використанням протоколу зсувного регістру. Функція приймає 3 аргументи: номер контакту, номер контакту для зчитування "за збіжністю" (перший біт, що буде зчитаний) та порядок бітів. Результат зчитування зберігається у змінну [14].

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

1. millis() - функція, що повертає кількість мілісекунд, які пройшли з моменту запуску програми на платі Arduino (після подачі живлення). Вона використовує 32-бітне ціле число, тому важливо пам'ятати, що це число може переповнитись після близько 52 діб, що обмежує максимальний проміжок часу, який можна відстежувати.

2. delay() - функція, що призупиняє виконання програми на вказаний проміжок часу, який вказується в мілісекундах. Після цього часу програма продовжить виконуватись з того ж самого місця, де вона зупинилась.

3. delayMicroseconds() - аналогічна функція до delay(), але вказаний проміжок часу вимірюється в мікросекундах. Ця функція корисна для роботи з низькочастотними сигналами та розширеного управління.

4. micros() - ця функція повертає кількість мікросекунд, що пройшли з моменту запуску програми на платі Arduino. Вона також використовує 32-бітне ціле число, але вимірює проміжок часу з вищою точністю, ніж функція millis() [15].

Треба звернути увагу, що використання функції delay() може призвести до затримок у виконанні програми та зниження продуктивності. Для більш точного управління часом рекомендується використовувати функції millis() та micros().

Розділ 3. Розробка системи безпеки

3.1 Проектування системи

Широка популярність апаратно-програмного комплексу Arduino породжує щоденне зростання всіляких проектів, створених на її основі.

Більшість розробок, які можна зустріти в мережі, зібрані з навчальною метою програмістами-початківцями та зводяться до застосування найпростіших алгоритмів або банального миготіння світлодіодом. Але є й такі теми, які привертають до себе увагу. І однією з них є охоронна сигналізація з можливістю сповіщення через мобільний зв'язок. Розглянемо побудову універсальної GSM-сигналізації, здатної контролювати одночасно 4 охоронні шлейфи (ОШ).

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

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

Блок зарядки АКБ буде постійно заряджати акумулятор у буферному режимі від основного джерела і відключати його від навантаження в разі падіння напруги до критичної позначки в режимі резервного живлення. Схема проекту зображено на рисунку 3.1.

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

Рисунок 3.1 Схема проекту. Джерело: складено автором

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

Центральний пристрій управління - це мозок всієї системи, в ролі якого виступить плата Arduino Nano.

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

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

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

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

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

З огляду на запити всіх споживачів електроенергії, здатного перетворити змінну напругу побутової електромережі 220В на постійну напругу 12V за струму 3А.

На перший погляд може бути незрозуміло, для чого потрібен такий відносно чималий запас за струмом. Звісно, більшість часу система споживатиме незначно, проте в деяких моментах від цього нікуди не дітися. Наприклад, для заряду розрядженого АКБ знадобиться близько 1А, а GSM-модуль під час пошуку і реєстрації в мережі здатний споживати 2А. Якщо при цьому врахувати споживання Arduino, обмоток реле, засобів індикації та елементів шлейфу, то цифра в 3А просто необхідна для функціонування сигналізації без збоїв.

Напругу 12V було обрано виходячи з умов живлення шлейфів. Звичні для мікроконтролера 5V швидко загасатимуть у довгих дротах із датчиками. До того ж з 12V можна легко отримати інші, нижчі рівні напруги для інших елементів схеми. Блок живлення зображено на рисунку 3.2.

Немає різниці, в якому виконанні або який вигляд має цей блок, головне, щоб він забезпечував необхідні вихідні характеристики (12V, 3А).

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

Рис. 3.2 Блок живлення. Джерело: [16]

У проекті було вирішено не використовувати свинцеві АКБ, а замість них застосувати надійний LI-ION акумулятор у поширеному корпусі 18650, приклад акумулятора зображено на рисунку 3.3.

Рисунок 3.3 Приклад LI-ION акумулятора. Джерело: [17]

Ємність акумулятора дорівнює 2500мА/год, що дасть змогу підтримувати резервне живлення сигналізації протягом тривалого часу. Єдиний мінус такої концепції - це напруга АКБ, яка становить 3,7V за необхідного рівня 12V. Цей мінус легко вирішується шляхом застосування підвищувального DC-DC перетворювача MT3608, який здатний підняти напругу з рівня 2V практично до 28V. З'єднати модуль MT3608 з акумулятором зображене на рисунку 3.4.

Рисунок 3.4 Приклад з'єднання MT3608 з акумулятором. Джерело: складено автором

Обмотка реле контролю живлення буде під'єднана до основного джерела, тому вона має бути розрахована на напругу 12V. Через нормально замкнутий контакт цього реле подається аварійне живлення від АКБ за умови вимкнення основного джерела. Силові контакти реле мають витримувати струм до 3А. Знадобляться ще кілька діодів відповідної потужності для розв'язки незалежних джерел один від одного. Якщо все поєднати воєдино, то ми отримаємо схему, яка зображена на рисунку 3.5.

Рисунок 3.5 Схема з'єднення з реле. Джерело: складено автором

У вихідному стані напруга від основного джерела через верхній діод надходить у шину живлення і паралельно йде на обмотку контрольного реле. Зі свого боку реле замикає контакти, тим самим відсікаючи акумуляторну батарею від загальної шини. Щойно основне живлення зникає, обмотка реле знеструмлюється, що тягне за собою перемикання його контактів. Тепер напруга з акумулятора проходить по замкнутих контактах контрольного реле і надходить на підвищувальний перетворювач MT3608. Останній збільшує напругу до рівня 12V. Ця напруга надходить в основну шину через нижній захисний діод. Верхній діод не дає резервному живленню проникнути в ланцюг основного. Під час відновлення електропостачання схема повертається в початковий стан.

Наявність схеми резервного живлення тягне за собою необхідність постійного підзаряджання аварійного акумулятора. У випадку з LI-ION акумулятором це питання спрощується до максимуму, оскільки існує безліч готових рішень у вигляді закінчених модулів. Для цих цілей у проєкті планується використовувати недорогий і популярний модуль на базі мікросхеми TP4056. Вони бувають різних модифікацій, але в основному відрізняються наявністю захисту і типом роз'єму. У користувача є можливість встановити струм зарядки заміною обмежувального резистора. Виглядає і підключається модуль, як зображено на рисунку 3.6:

Як видно з вищенаведеного малюнка, різне значення опору резистора R3 відповідає різному зарядному струму. Чим меншим буде цей опір, тим швидше буде йти заряд АКБ. Роз'єм Micro-USB встановлений для зручності і в цьому проекті використаний не буде.

Рисунок 3.6 Блок зарядки. Джерело: складено автором

Шина живлення міститиме два понижувальні DC-DC перетворювачі на основі мікросхеми MP2307DN, налаштованих на видачу напруг 5V і 3.3V при вході 12V. Перший визначено для живлення логіки Arduino, зарядного пристрою TP4056 і обмоток 2-х реле. Другий перетворювач, налаштований на 3.3V, призначений спеціально для модуля SIM800L. Максимальний струм, що видається кожним з модулів, дорівнює 3А. Налаштування вихідної напруги проводиться індивідуально, обертанням движка підлаштування резистора. Якщо перенести все сказане на схему, то отримаємо результат, який зображено на рисунку 3.7.

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

Рисунок 3.7 Шина живлення. Джерело: складено автором

Світлова індикація, призначена для візуального відображення стану системи шляхом подання певного світлового сигналу. Оскільки не має сенсу використовувати РКІ-дисплей (він тут просто не потрібен), застосую замість нього RGB-світлодіод. Використовуючи три різні кольори, та ще й додавши режим миготіння, можна закодувати безліч повідомлень, які сигналізація хоче довести до користувача. Які саме будуть повідомлення - визначуся пізніше, у розділі розробки технічного завдання. На цьому етапі наведено схему підключення RGB-світлодіода до Arduino Nano, щоб "застовпити" вільні піни, зображення світлодіода можна побачити на рисунку 3.8.

Рисунок 3.8. Світлова індикація. Джерело: складено автором

Звукова індикація, крім дзвінків на мобільний телефон оператора буде правильним закласти функцію ввімкнення гучномовної сирени, яка приверне увагу оточуючих у разі спрацьовування одного з датчиків в охоронному шлейфі. Але оскільки в деяких випадках цього не потрібно, функція буде настроюється, а поки просто зупинимося на схемному рішенні. Отже, як джерело звуку використовуватиметься поширений п'єзовипромінювач, розрахований на напругу 12V. На ринку дуже багато різновидів різних сирен, але принцип роботи їхній простий: є напруга - є звук і навпаки. Приклад зовнішнього вигляду надано на рисунку 3.9.

Рисунок 3.9. П'єзовипромінювач. Джерело: [18]

Напряму до Arduino такий випромінювач під'єднати не вдасться, тому зробимо це через транзисторний ключ. Є зручний для цих цілей MOSFET IRL540N. Схема підключення зображена на рисунку 3.10.

Рисунок 3.10 Звукова індикація. Джерело: складено автором

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

Рисунок 3.11. Пристрій введення. Джерело: складено автором

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

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

Щоб зробити сигналізацію стійкішою до обманних дій зловмисника (обрізання або закорочення дротів шлейфу), наприкінці кожного ланцюга встановлюють кінцевий резистор із фіксованим опором. Цей опір і є еталонним для блоку вимірювання. Будь-яке відхилення від цього параметра буде ознакою сигналу тривоги. Для нашого проекту було обрано Rок = 2k.

Після розгляду принципу роботи охоронного шлейфу, необхідно зрозуміти яким методом Arduino Nano контролюватиме його опір. А зробити це можна шляхом вимірювання напруги, якщо під'єднати шлейф за схемою класичного резистивного дільника, в якому одним плечем буде Rок, а іншим - узгоджувальна схема блоку контролю охоронних шлейфів. Цю схему узгодження розраховано виходячи з 12-вольтового живлення ланцюга датчиків і вона ідентична для всіх чотирьох шлейфів. Крім вище обумовленої функції схема узгодження містить елементи фільтрації перешкод, які можуть наводитися під час зовнішніх впливів навколишнього середовища на охоронний шлейф. З огляду на все вищесказане отримуємо схему, яка зображена на рисунку 3.12.

Як видно зі схеми, всі 4 каскади узгодження ідентичні один одному, тому розглянемо призначення елементів тільки одного з них, наприклад того, що контролює 1-й охоронний шлейф.

Отже, напруга 12V через струмообмежувальний резистор R1 подається в охоронний шлейф із датчиками. Резистори R2 і R5 утворюють дільник напруги, який узгоджує 12-вольтовий рівень шлейфу з максимальною вхідною напругою аналогового входу Arduino Nano, що дорівнює 5V. Конденсатор С1 у сукупності з іншими компонентами виконує фільтрацію перешкод.

Рисунок 3.12 Блок контролю охоронних шлейфів. Джерело: складено автором

Підготовка GSM-модуля. Хоч Arduino Nano і є "мозком" всієї охоронної системи, проте для SIM800L відведена головна роль у цьому проекті. Внаслідок цього потрібно зосередити максимум зусиль для його правильного налаштування.

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

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

? вставити сім-карту;

? з'єднати модем з Arduino Nano за вищевказаною схемою;

? подати живлення і дочекатися реєстрації модуля в мережі (миготіння світлодіода на платі 1 раз на 3 секунди);

? Записати в Arduino Nano спеціальний скетч і розпочати налаштування.

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

#include <SoftwareSerial.h>

SoftwareSerial mySerial(11, 10); // RX, TX

void setup() {

Serial.begin(9600);

while (!Serial) {}

Serial.println("Serial begin");

mySerial.begin(9600);

}

void loop() {

if (mySerial.available()) {

Serial.write(mySerial.read());

}

if (Serial.available()) {

mySerial.write(Serial.read());

}

}

Записуємо його в плату, подаємо живлення на модем і запускаємо монітор порту. Щоб переконатися, що все зроблено правильно, у командному рядку пишемо AT і натискаємо Enter. Якщо від модему надійшла відповідь ОК, то все зроблено правильно, як зображено на рисунку 3.13.

Підготовка звукових повідомлень для завантаження в пам'ять SIM800L

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

Рисунок 3.13. Перевірка модуля. Джерело: складено автором

Використання звукових файлів допоможе організувати голосовий діалог між сигналізацією і користувачем під час дозвону. Щоб дізнатися доступний обсяг пам'яті для SIM800L, необхідно прописати в терміналі команду AT+FSMEM. Відповідь модуля продемонстровано на рисунку 3.14.

Число 180224 байт - це вільне місце на так званому диску GSM-модуля. Для зберігання всіх файлів відведена спеціальна папка C:\User\.

Рисунок 3.14 Відповідь модуля. Джерело: складено автором

Щоб прочитати список файлів із цієї папки, необхідно подати команду

AT+FSLS=C:\User\

На цьому етапі в пам'яті модуля нічого не міститься, тому відповідь має такий вигляд (ОК), як зображено на рисунку 3.15.

Рисунок 3.15 Пам'ять модуля. Джерело: складено автором

Звукові файли, які здатен транслювати в ефір SIM800L, мають формат AMR. Отже, будь-яка звукова доріжка має бути перекодована в цей формат. Зробити це допоможе онлайн-сервіс або програма AMR-Player, зовнішній вигляд якої показано на рисунку 3.16.

Рисунок 3.16. AMR-Player. Джерело: складено автором

Після встановлення та запуску програми, з'являється нехитре вікно, в якому знадобиться всього одна кнопка (MP3 to AMR). Натискання цієї кнопки призведе до виклику стандартного діалогу вибору файлу формату MP3. Файл, який буде обрано як конвертований, автоматично збережеться в тій самій папці, тільки вже у форматі AMR. Користування програмою не викличе труднощів і немає сенсу розписувати все в найдрібніших подробицях.

...

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

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

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

  • Android, iOS та Windows як основні платформи для розробки додатків для мобільних пристроїв. Перелік вимог до програмної системи. Основні вимоги, які є критичними для працездатності мобільного додатку. Аналіз основних напрямків розвитку системи.

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

  • Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.

    дипломная работа [730,9 K], добавлен 21.01.2016

  • Ескізний проект програмного забезпечення для 3D-навігації для мобільних пристроїв під управління ОС Android. Розробка прототипу інтерфейсу. Технічний проект програмного забезпечення. Створення діаграми класів, аналізу, розгортання та кооперацій.

    курсовая работа [880,5 K], добавлен 09.01.2014

  • Характеристика підприємства, основне електронне обладнання. Інсталяція та налагодження програмного забезпечення. Діагностика та усунення неполадок у комп’ютерній мережі. Обслуговування периферійних пристроїв (принтер, сканер): підключення, настройка.

    отчет по практике [38,9 K], добавлен 22.03.2010

  • Алгоритмічна структура алгоритму керування. Вибір конфігурації контролера, схем підключення, технічних засобів автоматизації. Схеми підключення зовнішніх пристроїв. Розроблення прикладного програмного забезпечення для реалізації алгоритму керування.

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

  • Забезпечення захисту інформації. Аналіз системи інформаційної безпеки ТОВ "Ясенсвіт", розробка моделі системи. Запобігання витоку, розкраданню, спотворенню, підробці інформації. Дослідження та оцінка ефективності системи інформаційної безпеки організації.

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

  • Вибір мови програмування та середовища розробки. Основні можливості мови php та сервера MySQL. Основні переваги середовища розробки NetBeans. Macromedia Dreamweaver як один з популярних середовищ розробки сайтів. Розробка програмного коду сайту.

    контрольная работа [3,0 M], добавлен 16.02.2013

  • Розробка програмного забезпечення для управління транспортними платформами на базі програмованого логічного контролера S7-300 в Simatic STEP-7. Аналіз програмного забезпечення, розрахунок показників його надійності. Опис алгоритму функціонування системи.

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

  • Мова VHDL. Створення проекту для моделювання цифрових і аналогових схем. Синтез і моделювання комбінаційних пристроїв, заданих в табличній формі, за допомогою системи Active-HDL 6.1. Створення ієрархічних структур при проектуванні складних пристроїв.

    реферат [287,3 K], добавлен 14.02.2009

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

    реферат [20,7 K], добавлен 24.11.2010

  • Особливості створення та програмний код тестової системи для визначення професійної придатності програмістів на основі тестів IQ, розрахунок кошторису витрат на його розробку. Характеристика та порівняння основних засобів розробки інформаційної системи.

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

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

    курсовая работа [45,8 K], добавлен 06.06.2011

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

    курсовая работа [462,2 K], добавлен 19.12.2013

  • Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.

    практическая работа [1,8 M], добавлен 05.06.2014

  • Аналіз технічного забезпечення, вибір інструментального програмного забезпечення та середовища розробки програм. Створення класів для реалізації необхідних функцій для роботи програмного засобу. Розробка інтерфейсу для користувача та лістинг програми.

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

  • Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи.

    дипломная работа [891,7 K], добавлен 25.10.2012

  • Проблеми розробки компонентного програмного забезпечення автоматизованих систем управління. Сучасні компонентні технології обробки інформації. Аналіз вибраного середовища проектування програмного забезпечення: мова програмування PHP та Apache HTTP-сервер.

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

  • Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.

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

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

    дипломная работа [1,7 M], добавлен 09.07.2015

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