Грунт
О.С., Сніжко Є.М.
Дніпропетровський національний університет
Телемедична
система передачі біопотенціалів у реальному часі
Метою даної роботи є моделювання ,розробка та дослідження телемедичної
системи передачі даних в реальному часі із застосуванням сучасних програмованих
модулів Arduino [1-3]. Arduino представляє собою обчислювальну платформу на
базі мікроконтролера AVR, що програмується мовою Processing [4,5]. Розглянута можливість комутації отриманої системи
з медичним 8-канальним поліграфом П84-01,
який дозволяє отримувати різні види біологічних сигналів. Для передачі
отриманих даних через мережу Інтернет використовується
плата розширення Ethernet Shield, яка дозволяє також зберігати отримані дані на
карті пам’яті microSD.
Рис.1.
Структурна схема апаратної частини комплексу
Отриманий сигнал поступає на вхідний блок Arduino, що містить шість каналів
10-бітового аналогово-цифрового перетворювача в діапазоні від 0 до 5В. Після
перетворення до цифрового вигляду сигнал у вигляді масива байтів подається на
плату зв’язку з мережею Arduino Ethernet Shield та передається за вказаною
мережною адресою (клієнта чи сервера). Передача даних може відбуватися через
будь-який мережний вузол, що здатний ретранслювати пакети та містить інтерфейс RJ-45. Клієнтська програма ініціює з’єднання
з сервером через сокетне з’єднання, вичитує отримані дані, виводить на дисплей та зберігає в базі даних.
Основою плати Ethernet Shield є мікросхема Wiznet
W5100, яка містить в собі запрограмований стек протоколів TCP/IP. Плата
підтримує до чотирьох сокетних з’єднань одночасно. Робота плати програмується
за допомогою спеціальної бібліотеки Ethernet library, яка входить до середовища
розробки на Arduino. Комутація плати розширення з модулем відбувається через
послідовний периферійний інтерфейс SPI. В мікросхемі апаратно реалізовані
наступні протоколи транспортного, мереживного та канального рівнів системи OSI (Open System Interconnection): TCP, UDP,
IPv4, ICMP, ARP, IGMP та MAC. Також забезпечується апаратна підтримка протоколу
PPPoE (Point-to-point over Ethernet) з
протоколами аутентифікації.
Бібліотека програмування передачі даних по Ethernet дозволяє Arduino
виступати як у ролі сервера, тобто надавати послуги клієнтам, які
під’єднуються, так і у ролі клієнта, тобто отримувати інформацію від інших
серверів. Передача можлива як по протоколу TCP,UDP або з застосуванням
протоколів більш високого рівня. В
даній роботі Arduino використаний в якості сервера, що очікує на клієнтське
з’єднання та після його встановлення починає зчитувати сигнал із аналогових
входів. Зчитування відбувається у масив даних, який після свого наповнення
передається на клієнтську сторону. Після закриття клієнтом з’єднання сервер
переходить в режим очікування.
Після встановлення підключення клієнту починається зчитування даних з
каналів в буфер даних. Отримане значення розбивається на молодший та старший
байти, оскільки в бібліотеці Ethernet для Arduino передбачена передача даних
саме в байтовому масиві.
В реалізації сервер працює
безпосередньо з сокетним з’єднанням та масивом байт. Можливим також є
використання передачі даних з використання протоколів більш високого рівня та
представлення даних у іншому форматі. Так, наприклад можлива передача даних до
веб-інтерфейсу у форматі html або xml, але використання таких форматів не є
ефективним для програм, що пов’язані з виміром сигналів. Такі формати містять надлишкову інформацію і викликають
появу в програмі для Arduino велику кількість операцій зі строковими даними ,
що може значно вповільнити роботу усієї системи.
Для отримання та візуалізації даних був створений клієнтський додаток, що
дозволяє динамічно будувати графіки по мірі надходження сигналу. Для створення
програми використана мова програмування Java. Вибір мови цієї програмування
обумовлений можливістю створення додатку, що не залежить від операційної
системи, в якій він використовується.
Інтерфейс програми дозволяє вводити дані про пацієнта, налаштовувати
параметри отриманого сигналу, проводити візуалізацію сигналу з автоматичним
масштабуванням та динамічним оновленням даних по мірі їх надходження. Після
отримання пакету даних кожне значення
перетворюється з урахуванням зміщення сигналу та рівня його підсилення.
Рис.2.
Візуалізація сигналів на клієнтських комп’ютерах
Висновки та подальші перспективи досягнень
Результатом виконаної роботи стала апаратно-програмна система для передачі
даних електрокардіограми та візуалізації її у реальному часі. Системи передачі
електрофізіологічних сигналів на базі мікроконтролерної
платформи Arduino можуть використовуватися як компактні та надійні інтегровані додатки до існуючих
електромедичних приладів для розширення їхніх функціональних можливостей.
Список літератури
1.
Рангайян Р.М. Аналіз біомедичних сигналів. Практичний підхід. –М:Фізматліт, 2007 – 440с.
2.Нагин В.А.
Распределенная компьютерная система сбора и математической обработки
электрофизиологических сигналов. – М., 2002 – 157с.
3. Казаков В.Н.,
Климовицкий В.Г. Телемедицина –Донецьк, 2002– 102 с..
4. Noble J. Programming interactivity. A guide to Processing and Arduino and openFrameWorks. –
O’Reilly,2011 - 600c.
5. Margolis M. Arduino Cookbook. – Apress,2011 – 400c..