Научная статья на тему 'Open source computer system for data acquisition - MTR'

Open source computer system for data acquisition - MTR Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
182
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
COMPUTER SYSTEMS / DATA ACQUISITION SYSTEM / RASPBERRY PI / PYTHON

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Maksimova Rositsa, Kolev Krassimir

The paper focuses on an approach for using modern open-source data acquisition systems with a drone. A variant of using one board computer Raspberry Pi 3 for implementing a data acquisition system is presented. An analysis and comparison is made with existing opensource systems. A suitable periphery is chosen. An algorithmic diagram of the computer system is given. The application software is implemented on Python 3. A functional analysis of the presented computer system is made.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Open source computer system for data acquisition - MTR»

Научни трудове на Съюза на учените в България - Пловдив. Серия В. Техника и технологии. Том XVII, ISSN 1311 -9419 (Print); ISSN 2534-9384 (Online), 2019. Scientific Works of the Union of Scientists in Bulgaria - Plovdiv. Series C. Technics and Technologies. Vol. XVII., ISSN 1311 -9419 (Print); ISSN 2534-9384 (Online), 2019

КОМПЮТЪРНА СИСТЕМА С ОТВОРЕН КОД ЗА СЪБИРАНЕ НА ДАННИ - MTR Росица Максимова, Красимир Колев Университет по хранителни технологии - Пловдив

OPEN SOURCE COMPUTER SYSTEM FOR DATA ACQUISITION - MTR Rositsa Maksimova,Krassimir Kolev University of Food Tkch nologies - Plovdiv

Abstract: The paper focuses on an approach for using modern open-source data acquisition systems with a drone. A variant of using one board computer Raspberry Pi 3 for implementing a data acquisition system is presented. An analysis and comparison is made with existing open-source systems. A suitable periphery is chosen. An algorithmic diagram of the computer system is given. The application software is implemented on Python 3. A functional analysis of the presented computer system is made.

Keywords: Computer systems, Data acquisition system, Raspberry Pi, Python.

Въведение

Хардуерните решения и софтуерните реализации с „отворен код" са тенденция в развитието на съвременните компютърни системи и технологии днес (OSHW, 2018). В настоящата разработка е приложена тази концепция при цялостна реализация и използване на компютърна система за събиране на данни от околната среда. За реализация на такава система е избрана хардуерна платформа Raspberry Pi 3 (Charleston, 2016) заедно с още два разширителни модула - PiJuice (PiJuice, 2018) и Sense HAT (Sense HAT, 2018). Предоставяните свободи на отворения код и езика Python 3 ни позволяват да реализираме система, която е полезна за изследване на различни условия на околната среда, не само чрез данни, които се записват и съхраняват локално, а също така посредством отдалечен безжичен достъп чрез мобилни устройства.

Материали и методи

Съвременните компютърни системи за събиране на данни от околната среда трябва да притежават по-голяма функционална мобилност, а именно:

- да имат възможност за безжична мрежова свързаност;

- да имат възможност за малка консумация с цел батерийно захранване за непрекъсната работа;

- да снемат и дискредитират съответните технологични сигнали, описващи състоянието на околната среда (температура, налягане, влажност и др.);

- да имат възможност за локално буфериране на получените данни;

- да имат възможност за дистанционен контрол;

- да имат ниска цена;

- да имат малки размери за интеграция в летящи автономни системи (дронове).

Наред с тези основни изисквания и след преглед на системите с отворен код е синтезирана структурна схема на компютърната система за събиране на данни, показана на фиг.1.

Auaio

Ethernet, USB

Фиг.1. Структурна схема на компютърна система MTR

Като ядро на разработената система е използван едноплатков компютър Raspberry Pi 3B (Monk, 2016). За постигане на автономно захранване е използван модул PiJuice, управляван от съвременен микроконтролер STM32F030. Предимството на избрания модул е наличието на вграден часовник за реално време (RTC), който се използва в нашата система. За реализиране на тензорната част е използван модулът Sense HAT. Сензорният модул позволява да се измерват, посредством вградени интегрални сензори, следните физични величини - атмосферно налягане (260 - 1260 hPa), относителна влажност (20-90 %rH), ускорение (+/-2/4/8/16 g), магнитно поле (+/-4/8/12/16 gauss). Предимството на този интегриран модул е наличието на локална индикация, джойстик и 32КB EEPROM памет. Всеки сензор има индивидуален I2C адрес.

Резултати и обсъждане

На база на предложената структура е реализирана компютърна система за събиране на данни - MTR. За пренос на компютърната система е използван дрон Phantom 3 Standard, произведен от известната компания за производство на летателни апарати DJI. Всички елементи в сглобено състояние са показани на фиг. 2, а визуализация на работната среда е извършена посредством приложение DJI Go както е показано на фиг. 3.

Фиг.2. Хардуерна реализация на MTR

Ready to'Gô (GPS)

о (0)

m

gj gg

Фиг.3. Визуализация наработната зона

Алгоритмичната диаграма на реализираното приложно програмно осигуряване на програмата MTR е показана на фиг. 4.

(НАЧАЛО)

V

Създаване на Shebang-ред

звяне на модули

Дефиниране на функция за образуване на името на файла

Дефиниране на функция за

събиране на данни от сензорите на Sense HAT с закръгляне до първи знак и връщане на лист от стойностите

Записване на стойн стта кат о

N o rma l: G = 1

г

Създаване на обект от класг

SenseHat

Изчистване на екран а на Sen e

HAT

Деклариране на пром ленливи на

циклите за ръчно въвеждане на

стойности с джо йстика

4

Инициализиране с начална

стойност 1000 на променлива

за QNH-фактс

Инициализиране на променлива за интервала от

време за записване в CSV файла + ~

Деклариране на променлива името на файла чрез извикване на функция

Завъртане на цикъл, докато не се натисне джойстикът на SenseHat н ал я во или надясно

П оказване полученатг QNH и и;

а ди стойност за изане от

Завъртане втори цикъл, докато не се натисне джойстикът на SenseHat наляво или

Инкрементиране на началната стойност на времевия интервал

Инкрементиране на началната стойност на QNH-фактора

Декрементиране на началната стойност на _QN H-фа кто ра_

Показване на дисплея получената стойност за времеви интервал и излизане от цикъла

Стартиране на програмата MTR

Отваряне и записване във файла през зададения с джойстика рвал от време

С КРАЙ )

оказване на текст на дис на SenseHat

Фиг.4. Алгоритмична диаграма на приложно програмно осигуряване наMTR

Програмното осигуряване на компютърната система е разработено на база на програмния език Python 3 (Blum, 2016) на среди за разработка Python 3 IDLE (на Raspberry Pi 3B) и PyCharm (на лаптоп с Windows 10 Education). Програмното осигуряване на системата MTR се съдържа в няколко на брой скрипта: MTR.py,

CLEAR_SENSE_DISPLAY.py, STATUS.py, CHARTS_PYGAL.py, WUNDERGROUND.py и програмен скрипт с графичен интерфейс GUI_MTR.py, обединяващ действието на всички скриптови програми и предлагащ визуално управление на системата. Реализираният графичен потребителски интерфейс и организацията на файловете в системата MTR са представени на фиг.5.

Фиг. 5. Реализирано програмно осигуряване

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

Заключение

Интересът към създаване на съвременни системи за събиране на данни налага използването на съвременни вградени компютърни системи и програмни среди от ново поколение, позволяващи реализиране на графичен потребителски интерфейс. Предложената система е хардуерно отворена и позволява да се разширява с различни видове сензори. Предложената компютърна система за събиране на данни притежава пълна гама интерфейси за получаване на директна сензорна информация за околната среда и може да се използва за провеждане на лични и научни експерименти в различни интердисциплинарни области и природни среди, благодарение на факта че процесите за записване на данните и обработването им са автоматизирани чрез скриптове. Съществено предимство на реализираната система е нейната мобилност и възможност за дистанционен контрол. Записаните данни може да се преглеждат и съхраняват през времето като архивни. В случай че се изисква специфичен набор от сензорни данни, езикът Python с лекота осигурява гъвкавостта на кода за последващи модификации и разширяване на системата. Представената публикация предоставя резултати от дипломната работа на Росица Максимова с научен ръководител доц. Красимир Колев.

Библиография

1. Blum R., Christine Bresnahan, Sams Teach Yourself Python Programming for Raspberry Pi in 24 Hours, SAMS, 2016

2. Charleston Th., RASPBERRY PI 3:2016 USER GUIDE FOR BEGINNERS, CreateSpace Independent Publishing Platform, 2016

3. Monk S., Raspberry Pi Cookbook, O'REILLY, 2016

4. OSHW - Definition of Free Cultural Works, https://freedomdefined.org/OSHW, достъпен на 03.10.2018 г.

5. PiJuice/Hardware at master ■ PiSupply/PiJuice, https://github.com/PiSupply/PiJuice/tree/master/Hardware, достъпен на 11.10.2018 г.

6. Sense HAT - Raspberry Pi, https://www.raspberrypi.org/products/sense-hat/, достъпен на 07.08.2018 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.