Минобрнауки России ЮгоЗападный государственный университет
Скачать 1.36 Mb.
|
4.3 Дисплей Для вывода информации о текущем показании состояния температуры и влажности и вывода значения заряда аккумулятора используется OLED 0.91″ 128х32 дисплей. Для экономии энергии основное время дисплей Изм Лист №докум Подп Дата Лист 48 ЮЗГУ. 120340.014 ПЗ выключен. При нажатии на кнопку SB2 (рисунок 4.4) дисплей включается, после чего на него выводится информаци о текущем показании состояния температуры и влажности, а при нажатии на кнопку SB1 на экран выводится значение заряда аккумулятора. Внешний вид дисплея представлен на рисунке 4.5. Рисунок 4.5 – Внешний вид OLED 0.91″ 128х32 Электрические параметры OLED- дисплея преведены в таблице 4.3 [31]. Таблица 4.3 – Технические характеристики OLED-дисплея Параметр Значение Напряжение питания от 3 до 5В Максимальный ток потребления 20мА Размер 0,91 дюйма Встроенный контроллер SSD1306 Расширение 128х32 Интерфейс I2C На рисунке 4.6 представлена схема включения OLED-дисплея. Изм Лист №докум Подп Дата Лист 49 ЮЗГУ. 120340.014 ПЗ Рисунок 4.6 - Схема включения OLED-дисплея К выводам датчика DHT22 SDA_GPIO, SCL_GPIO подключается wi-fi модуль ESP-12E. Данный дисплей получает информацию по I2C интерфейсу. 4.4 Блок питания В качестве источника питания в устройстве используется литий- ионный аккумулятор. Основными преимуществами данного аккумулятора являются: широкий диапазон рабочих температур (от -20 до +50 °С), выдача более высокого напряжения (по сравнению с аккумуляторами типов NiCd и NiMH), высокая плотность накапливаемой энергии и разрядных токов. Основными недостатками данного аккумулятора являются: низкая устойчивость к избыточному заряду и полному разряду. Несмотря на то, что умные Li-Ion батареи оснащаются встроенными системами автоматического отключения, они также требуют систему управления зарядкой аккумулятора. В качестве такой системы используется интегральная микросхема NCP1835. Внешний вид микросхемы NCP1835 представлен на рисунке 4.7. Изм Лист №докум Подп Дата Лист 50 ЮЗГУ. 120340.014 ПЗ Рисунок 4.7 – Внешний вид микросхемы NCP1835 Так как схема разрабатываемого прибора рассчитана на 3,3 В, а напряжение подаваемое аккумулятором равно 3,7 В, то необходимо использовать стабилизирующий понижающий преобразователь. Основными параметрами выбора стабилизатора является: 1. Выходное напряжение питания; 2. Минимальное падение напряжения на стабилизаторе; 3. Максимальный выходной ток. Первый параметр – выходное напряжение стабилизатора должно соответствовать напряжению питания прибора, а именно 3,3 В. Второй параметр – минимальное падение напряжения на стабилизаторе должно составлять не более 0,2 В. Выбор такого значения обоснован разницей между входным (номинальным напряжением аккумулятора, равным 3,7 В) и выходным напряжениями стабилизатора (или напряжение питания прибора, равное 3,3 В), а также допустимым запасом напряжения в 0,2 В. Третий параметр – максимальный выходной ток стабилизатора должен быть больше, чем максимальное потребление тока разрабатываемого прибора. Для выбора стабилизатора необходимо рассчитать последний параметр по формуле: max wf д ol св ст I I I I I I , (4.1) где Iwf – максимальный ток потребления ESP-12Е, равное 80 мА; Изм Лист №докум Подп Дата Лист 51 ЮЗГУ. 120340.014 ПЗ Iд – максимальный ток потребления датчика DHT22, равный 2,5 мА; Iol – максимальный ток потребления OLED-дисплея, равный 20 мА; Iсв – максимальный ток потребления светодиодного индикатора питания, равный 10 мА; Iст – максимальный ток потребления стабилизатора напряжения, равный 35 мкА. Рассчитанное по формуле (4.1) максимально возможное потребление тока равно max I 112,535 мА. При анализе характеристик существующих стабилизаторов был выбран стабилизатор XC6210B332PR. Внешний вид данного стабилизатора представлен на рисунке 4.8. Рисунок 4.8 – Внешний вид стабилизатора XC6210B332PR Основные технические характеристики данного стабилизатора приведены в таблице 4.4 [32]. Таблица 4.4 – Основные технические характеристики стабилизатора XC6210B332PR Параметр Значение 1 2 Диапазон входных напряжений от 1,5 до 6 В Выходное напряжение 3,3 В Ток потребления 35 мкА Максимальный выходной ток 700 мА Изм Лист №докум Подп Дата Лист 52 ЮЗГУ. 120340.014 ПЗ Продолжение таблицы 4.4 1 2 Падение напряжения 50 мВ Диапазон рабочих температур от -40 до 85 ºС На рисунке 4.9 приведена принципиальная схема блока питания, в состав которой входят микросхемы XC6210B332PR и NCP1835. Рисунок 4.9 – Схема включения Li-Ion аккумулятора со стабилизатором Согласно технической документации [33] к микросхеме NCP1835 подключаются резисторы R1, R2, R6, конденсаторы C1, C2, C5, С6 и светодиоды HL1, HL2. Расчет данных конденсаторов C1, C5, C6 и резисторов R1, R2 не требуется. Расчет конденсатора C2 рассчитывается по формуле: T 14 * С2 , (4.2) где T – время продолжительности зарядки аккумулятора. В случае, когда аккумулятор подключен к зарядке, но при этом он уже долгое время заряжен на 100%, чтобы не перегружать схему и защитить аккумулятор от возможных перезарядок, в микросхеме предусмотрен таймер, который размыкает источник питания от аккумулятора. Время T для таймера задается конденсатором С2. Изм Лист №докум Подп Дата Лист 53 ЮЗГУ. 120340.014 ПЗ Продолжительность зарядки аккумулятора была выбрана T=210 мин (3,5 часа). Выразив из формулы (4.2), получаем емкость конденсатора 15 нФ. Резистор R6 рассчитывается по следующей формуле: 5 0,8 10 I R6 , где I – ток зарядки аккумулятора, равный 1А. Выразив из формулы R6, получено значение сопротивления резистора, равное 80 кОм. Резисторы R1 и R2 последовательно соединенные со светодиодами L1154GT, ток потребления которых составляет 10мА, а напряжение питания 2,2В. Значение номиналов резисторов рассчитывается по формуле: общ св 1 св U U R I , (4.3) где Uобщ – напряжение на выводе модуля, равное 5В; Uсв – напряжение светодиода, равное 2,2В; Iсв – ток потребления светодиода, равный 10мА. Согласно расчету по формуле (4.3), значение резистора R1=R2=280 Ом. На практике данные светодиоды светят достаточно ярко. Чтобы снизить ток и, соответственно, понизить яркость (так как светодиоды выполняют функцию индикаторов процесса зарядки аккумулятора). Сопротивление резисторов были выбраны R1=R2=330 Ом. К входу АЦП ESP-12E подключается дилитель напряжения на резисторах R7 и R8 для контроля напряжения на выходе аккумулятора. Данный контроль необходим для определения оставшегося заряда аккумулятора. В связи с тем, что Wi-Fi модуль питается от 3,3 В, то Изм Лист №докум Подп Дата Лист 54 ЮЗГУ. 120340.014 ПЗ максимальное напряжение на АЦП, к которому можно подать напряжение, составляет 3,3 В, но при полной зарядке аккумулятора его выходное напряжение составляет 4,2 В. Чтобы снизить диапазон измерений, используется делитель напряжения. Расчет данных резисторов производится по формуле: 8 вых вх 7 8 R U U R R , (4.4) где Uвых – выходное напряжение, равное 3,3 В; Uвх – максимальное напряжение, выдаваемое аккумулятором при полном его заряде, равное 4,2 В. Пусть сопротивление R7 равно 10 кОм. Следовательно, выразив параметр R8 из формулы (4.4), получаем значение сопротивления R8=36 кОм. Согласно технической документации [32] к микросхеме XC6210B332PR подключаются конденсаторы C7 и C8. Расчет данных конденсаторов не требуется. Светодиод HL3 рассчитывается аналогично светодиодам HL1, HL2 при напряжении питания 3,3 В. Согласно расчету по формуле (4.3) значение резистора равно R15=110 Ом, но, как и в случае, с предыдущими светодиодами, было принято решение повысить сопротивление резистора до 270 Ом. 4.5 Блок USB-интерфейса В схеме устройства предусмотрен USB интерфейс для загрузки сетевых или иных настроек. Так же одним из назначений блока является обеспечение зарядки аккумулятора (раздел 3). Для реализации данного интерфейса в Изм Лист №докум Подп Дата Лист 55 ЮЗГУ. 120340.014 ПЗ схеме используется микросхема преобразователя «USB/UART» серии «CH340G», характеристики которой приведены в таблице 4.5 [34]. Таблица 4.5 – Основные технические характеристики CH340G Параметр Значение Поддерживаемые интерфейсы на входе USB Поддерживаемые интерфейсы на выходе RS232, RS422, RS485 Скорости передачи данных, бод От 50.75 до 2000000 Тактовая частота, МГц 12 Напряжение питания, В 5 Максимальный потребляемый ток, мА 30 Внешний вид данной микросхемы представлен на рисунке 4.10. Рисунок 4.10 – Внешний вид микросхемы CH340G Согласно технической документации [34] схема включения микросхемы CH340G должна соответствовать рисунку 4.11. Как можно заметить, схема включения микросхемы довольно простая, она не требует дополнительной обвязки и, соответственно, не требует расчетов. Изм Лист №докум Подп Дата Лист 56 ЮЗГУ. 120340.014 ПЗ Рисунок 4.11 – Схема включения микросхемы CH340G Но стоит обратить внимание на вывод TXD микросхемы DD2. Так как питание преобразователя составляет 5 В, соответственно и логический уровень 1-цы на данном выводе также составляет 5 В. Но уровень логической 1-цы ESP-12E составляет 3.3В. То есть, если на вывод ESP-модуля подать напряжение 5 В, то он может выйти из строя. Поэтому для согласования вывода TXD с выводом RX ESP-модуля используется делитель напряжения на резисторах R16 и R17, номиналы которых рассчитаны по формуле: вых вх R3 U U R3 R2 (4.5) где U вых – требуемое выходное напряжение, равное 3.3 В; U вх – входное напряжение, равное 5 В. Пусть резистор R16 имеет сопротивление 1 кОм. Выразив из формулы (4.5) сопротивление резистора R17 и подставив известные значения, получается 2 кОм. В случае с выводом RXD, вывод TX ESP-модуля подключен напрямую, так как, согласно технической документации [34], минимальный порог напряжения, считающийся логической 1-цей для микросхемы «СН340G» имеет значение 2,5 В. Изм Лист №докум Подп Дата Лист 57 ЮЗГУ. 120340.014 ПЗ 5 РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ПРОВЕРКА ЕГО РАБОТОСПОСОБНОСТИ 5.1 Программное обеспечение При создании устройства, основанного на сборе и передаче информации через Wi-Fi модуль, основную роль играет программное обеспечение, при разработке которого необходимо учитывать множество факторов, влияющих на его работу. Правильно разработанная программа должна гарантировать корректную работоспособность устройства в различных ситуация, а также, что является основной целью, безопасность пользователей и персонала, обслуживающего конкретную систему. Интерфейс имеет большое значение для данной программной системы и является неотъемлемой ее составляющей, ориентированной на конечного пользователя, т.е. медицинский персонал. Основными задачами при разработке программного обеспечения (ПО) являются: 1) Безопасность пользователей. Эта задача требует особого внимания ввиду того, что некорректная работа системы может привести к порче имущества; 2) Оптимизация кода. Этот аспект необходимо тщательно рассматривать при расширении задач системы управления, так как он напрямую влияет на скорость отработки системы; 3) Корректность работы системы в экстремальных ситуациях, таких как пожар, перебои в электропитании. Использование в работе в качестве главного управляющего устройства Wi-Fi модуль ESP-12E, разработанного компанией Ai-thinker, позволяет использовать различные языки программирования для написания программного обеспечения системы управления. Изм Лист №докум Подп Дата Лист 58 ЮЗГУ. 120340.014 ПЗ Для реализации данного проекта было выбрано ПО QT Creator. Основными преимуществами данной среды является [35]: 1) Удобный набор библиотек классов; 2) Хорошо продуманный, логичный и стройный набор классов, предоставляющий программисту очень высокий уровень абстракции; 3) Упрощение разработки приложения с помощью фреймворка Qt на различных платформах. 5.2 Назначение устройства Данное мобильное устройство мониторинга температуры предназначено для измерения показателей окружающей среды в медицинском помещении на основе технологии беспроводных сенсорных сетей, в частности для непрерывного контроля температуры и влажности в помещении. Поскольку простое измерение температуры воздуха не достаточно объективно оценивает состояние микроклимата в палате больницы, было принято решение проводить дополнительные измерения показателя влажности. Измерение данных показателей позволит осуществить климатический контроль в палате пациентов. Так же использование данного устройства позволяет дистанционно получать информацию о состоянии микроклимата в палате, способствуя благоприятному течению и исходу болезни пациентов. 5.3 Проверка работоспособности программы Принцип работы ПО представлен с помощью алгоритма (рисунок 5.1- 5.5). Изм Лист №докум Подп Дата Лист 59 ЮЗГУ. 120340.014 ПЗ да нет да нет ошибки нет да 1 да нет 2 Начало 7 Вывод сообщения Цикл основного потока 2 3 Нажата кнопка «устройство»? 1 Инициализация 4 Вывод окна настроек 5 Задание настроек 6 Нажата кнопка «отмена»? 8 Закрытие окна настроек 9 Нажата кнопка «программа»? 10 Вывод окна настроек Рисунок 5.1 – Блок-схема алгоритма программы Изм Лист №докум Подп Дата Лист 60 ЮЗГУ. 120340.014 ПЗ 1 нет да да нет 19 Инициализация 20 Запуск таймера 4 3 18 Создание нового виджета «устройства» в главном окне 5 12 Сохранение 13 Закрытие окна настроек да отмена 11 Настройка произведена? 14 Нажата кнопка «запуск сервера»? 15 Запуск сервера 16 Появилось новое соединение? 17 Запуск нового сокета 2 Рисунок 5.2 – Продолжение блок-схемы алгоритма программы Изм Лист №докум Подп Дата Лист 61 ЮЗГУ. 120340.014 ПЗ 4 да 22 Получены новые данные от устройства? Цикл потока сокета 21 23 Чтение и передача информации в главный поток 24 Передача ответного сообщения устройству 25 Сброс и перезапуск таймера 26 Ошибки при взаимодействии? 27 Передача ошибок в главный поток 28 Прерывание таймера? 29 Запрос данных от устройства 6 нет нет да нет 7 да Рисунок 5.3 – Продолжение блок-схемы алгоритма программы Изм Лист №докум Подп Дата Лист 62 ЮЗГУ. 120340.014 ПЗ 6 30 Есть ответ от устройства? 31 Передача ошибки времени ожидания в главный поток Пока нет команды завершения 32 33 Завершение соединения да нет 7 3 35 Обработка данных 36 Отклонение или ошибка? 34 Получены новые данные от сокета? 8 10 нет да 9 да нет Рисунок 5.4 – Продолжение блок-схемы алгоритма программы Изм Лист №докум Подп Дата Лист 63 ЮЗГУ. 120340.014 ПЗ Конец 40 Остановка сервера 39 Нажата кнопка «остановка сервера»? 8 3 38 Вывод сообщения 37 Ошибки сокетов? 44 Закрытие программы 41 Остановка потоков сокетов 42 Удаление всех виджетов Пока не закрыта программа 43 9 да нет нет да 10 Рисунок 5.5 – Продолжение блок-схемы алгоритма программы Для того чтобы начать работу с программой необходимо ее запустить на ПК (блок 1). Первоначальный вид пользовательского интерфейса представлен на рисунке 5.6. Данный графический интерфейс прост в использовании и не создает перед пользователем преграду, которую он должен будет преодолеть, чтобы приступить к работе. Основная цветовая палитра программы представлена в Изм Лист №докум Подп Дата Лист 64 ЮЗГУ. 120340.014 ПЗ сером цвете, так как нейтральные цвета не оказывают негативного влияние на глаз человека. После запуска программы пользователь может начать работу с ПО (блок 2). Рисунок 5.6 – Вид пользовательского интерфейса Для того чтобы начать использование данной программы, необходимо задать некоторые настройки. Для осуществления настроек устройства (блок 3) пользователю необходимо нажать на кнопку «Настройки – Устройство» в окне программы (рисунок 5.7). Рисунок 5.7 – Настройка устройства Изм Лист №докум Подп Дата Лист 65 ЮЗГУ. 120340.014 ПЗ При нажатии на кнопку «Устройство» (блок 4) выводится окно, в котором пользователь может задать настройку устройства и непосредственно настройку самой программы (рисунок 5.8). Рисунок 5.8 – Конфигурация устройства Конфигурация устройства предусматривает настройку COM-порта и сети (блок 5). Для того чтобы осуществить подключение устройства к программе необходимо выбрать порт. После этого задается имя сети, к которой будут подключено устройство. Это необходимо для осуществления передачи данных между устройством и компьютером. В целях обеспечения передачи информации нужно указать пароль. Затем задается IP-адрес компьютера в локальной сети. Далее необходимо указать порт сервера, к которому будут подключаться устройства по локальной сети. Затем необходимо ввести дополнительные настройки, которые обеспечат идентификацию подключенного устройства. Потом определяем интервал между опросами, т.е. периодичность, с которой устройство обновляет данные в системе. Если все настройки устройства были удачно загружены, то данное окно, после нажатия кнопки «Загрузить», автоматически закроется (блок 8). Пример удачной настройки устройства представлен на рисунке 5.9. Изм Лист №докум Подп Дата Лист 66 ЮЗГУ. 120340.014 ПЗ Рисунок 5.9 – Пример конфигурации В случае нажатия кнопки «Отмена» (блок 6) настройки не будут заданы, так как окно настроек устройства закроется без сохранения введенных настроек (блок 8). В случае неудачной настройки прибора возникает сообщение об ошибке (блок 7). Система оповещения срабатывает сразу после нажатия пользователем кнопки «Загрузить». Прочитав сообщение об ошибке, пользователь может либо исправить допущенные ошибки при настройке, либо нажать кнопку «Отмена». В данном примере пользователь забыл ввести пароль сети и не указал имя устройства (рисунок 5.10). Информация, которую будет передавать устройство, может не дойти до пользователя, соответственно данное устройство будет работать некорректно. Поэтому необходимо вводить пароль, чтобы не произошла утеря информации. В случае, когда не заполнено поле «Имя устройства», пользователь не сможет понять, какое из множества подключенных устройств дало сбой или же предупредило о возникновении критической ситуации в палате пациентов. Изм Лист №докум Подп Дата Лист 67 ЮЗГУ. 120340.014 ПЗ Рисунок 5.10 – Пример неверных настроек Так же существуют другие виды ошибок, например, при неверном вводе IP-адреса или же порта сервера программа оповестит пользователя об ошибке. Так как программой предусмотрено ограничение по формату, то при вводе неверного формата данных будет невозможно осуществить передачу информации между устройством и компьютером. Таким образом, такая система оповещения позволяет правильно сконфигурировать устройство, не пропустив ни одно незаполненное поле. Помимо выше перечисленных ошибок связанных с настройкой устройства, дополнительно программа оповещает пользователя о неисправности работы COM-порта (рисунок 5.11). Существует множество различных ошибок, имеющих непосредственное значение при работе COM- порта. Например, в случае обрыва соединения с устройством или же при неверной передаче данных пользователю программа присылает оповещение. Работа COM-порта является значимой для пользователя, так как именно полученные данные от устройства позволяют проанализировать состояние того или иного медицинского помещения. Получение неточных сведений о состоянии показателя температуры или влажности не позволит создать комфортные условия для пациентов. Соответственно устройство не будет выполнять поставленную ему задачу, связанную с мониторингом Изм Лист №докум Подп Дата Лист 68 ЮЗГУ. 120340.014 ПЗ климатических показателей для обеспечения климатического контроля в помещении. Рисунок 5.11 – Пример обрыва связи с прибором по COM-порту После того как были установлены настройки устройства, необходимо перейти к настройке программы (блок 9). Для этого необходимо нажать на кнопку «Настройки – Программа» (рисунок 5.12). Рисунок 5.12 – Настройка программы При нажатии на кнопку выводится окно настроек (блок 10). Внешний вид данного окна представлен на рисунке 5.13. Изм Лист №докум Подп Дата Лист 69 ЮЗГУ. 120340.014 ПЗ Рисунок 5.13 – Конфигурация программы Настройка программы предусматривает настройку порта сервера, т.е. настройку порта, к которому будут подключаться устройства по локальной сети. Также можно выбрать диапазон допустимых температур. Это необходимо для оповещения пользователя (медицинского работника) в ситуации, при которой показатель температуры устройства выходит за пределы нормальных значений, необходимых для обеспечения температурного контроля в палате пациентов. Далее можно установить диапазон допустимой влажности в палате больницы. Данное действие аналогично предыдущему, т.е. при выходе из установленного диапазона, программа оповестит пользователя о данном нарушении. Когда все необходимые настройки будут произведены (блок 11), пользователь должен нажать кнопку «Ок». Данное действие позволит сохранить введенные настройки (блок 12). После этого произойдет автоматическое закрытие данного окна (блок 13). Если пользователем будет нажата кнопка «Отмена», произойдет закрытие окна настроек без сохранения изменений (блок 13). В данной ситуации параметры настройки программы останутся по умолчанию (рисунок 5.13). После того настройки программы пользователь может перейти к запуску сервера. Это позволит установить соединение между компьютером и Изм Лист №докум Подп Дата Лист 70 ЮЗГУ. 120340.014 ПЗ устройством по локальной сети. Для этого необходимо нажать на кнопку «Меню – Запуск сервера» (рисунок 5.14). Рисунок 5.14 – Запуск сервера Если данная кнопка будет нажата (блок 14), то произойдет запуск сервера (блок 15). Автоматически внизу главного графического окна программы будет установлен статус сервера и будет выведено общее количество подключенных устройств (рисунок 5.15). Рисунок 5.15 – Внешний вид главного окна после запуска сервера Изм Лист №докум Подп Дата Лист 71 ЮЗГУ. 120340.014 ПЗ В случае если кнопка «Запуск сервера» не будет нажата, устройство не сможет передать информацию ПК о состоянии микроклимата в помещении. Для демонстрации работы данного программного обеспечения была написана небольшая программа, позволяющая имитировать работу устройства (рисунок 5.16). Также с помощью данного имитатора устройства появилась возможность протестировать разработанное ПО, написанное для ПК. Рисунок 5.16 – Имитатор устройства Данная программа предусматривает передачу по локальной сети значений параметров температуры, влажности и заряд аккумулятора, так как основное назначение устройства будет заключаться в мониторинге климатических показателей и, соответственно, передачи этих параметров на ПК. Также устройство должно иметь свое имя, чтобы пользователь смог правильно идентифицировать данное устройство. Это позволит избежать ошибок принятия одного устройства, например, установленного в палате №1, за другое, которое установлено в палате №2. Кроме того в данной форме предусмотрено задание сети, по которой будет осуществляться обмен данными. Дополнительно устанавливается интервал опроса устройства, например, по истечении 5 секунд устройство должно прислать актуальные значения климатических показателей и уровень заряда аккумулятора. Изм Лист №докум Подп Дата Лист 72 ЮЗГУ. 120340.014 ПЗ Поскольку при разработке ПО необходимо предусмотреть все возможные варианты работы программы, то было принято решение смоделировать ситуацию «зависания» устройства. С этой целью была добавлена кнопка в программе имитатора. Рассмотрим различные варианты работы взаимодействия ПО и имитатора устройства. При возникновении события подключения нового устройства к программе (блок 16) происходит запуск нового сокета (блок 17), который позволит создать поток для передачи данных от устройства к ПК. Это необходимо для предотвращения зависания устройств и осуществления независимой работы каждого устройства. Например, в ситуации, когда одно устройство каким-либо образом вышло из строя, обмен данными между другими устройствами и компьютером продолжится без перебоя. Это удалось создать благодаря организации многопоточного сервера. После запуска нового сокета создается новый виджет «устройства», т.е. создается новый элемент интерфейса в главном окне программы (блок 18), и программа присылает сообщение пользователю. Отображение данного элемента в окне программы и вывод сообщения оператору представлен на рисунке 5.17. Рисунок 5.17 – Создание нового виджета Изм Лист №докум Подп Дата Лист 73 ЮЗГУ. 120340.014 ПЗ При подключении устройства в окне главной программы слева и справа создаются виджеты (рисунок 5.18). Для того чтобы идентифицировать подключенное устройство, в окне «Список устройств» создается элемент, с помощью которого можно определить в каком помещении установлено данное устройство. Справа в окне «Состояние» пользователь может увидеть информацию, полученную от устройства. Например, данные о состоянии температуры, влажности и заряде аккумулятора. Кроме этого в данном окне оператор может узнать о состоянии обмена между устройством и ПК. На рисунке 5.18 все показатели подсвечены зеленым цветом, это говорит о том, что климат в помещении благоприятный и нет повода для беспокойства, т.е. показатели температуры и влажности не выходят за пределы установленных пользователем значений. Рисунок 5.18 – Отображение нового виджета в окне программы После запуска нового сокета (блок 17) происходит его инициализация (блок 19). Далее выполняется автоматический запуск таймера (блок 20), интервал времени отправления данных от устройства ПК. При получении новых данных от устройства (блок 22) осуществляется их чтение и передача в главный поток, т.е. отображение полученной информации в программе Изм Лист №докум Подп Дата Лист 74 ЮЗГУ. 120340.014 ПЗ компьютера (блок 23). После этого программа отправляет ответное сообщение устройству (блок 24), тем самым сигнализирует о том, что данные были успешно получены ПК. Затем совершается сброс и перезапуск таймера (блок 25). При возникновении ошибки при взаимодействии устройства и ПК (блок 26) осуществляется передача ошибок в главный поток (блок 27). Пример сетевой ошибки взаимодействия представлен на рисунке 5.19. Рисунок 5.19 – Сетевая ошибка Не получив информацию об актуальных данных от устройства (блок 28), ПК начинает отправлять запрос устройству (блок 29). Если по истечении 2-х минут ожидания не были получены данные от устройства (блок 30), то программа присылает сообщение оператору об ошибке (блок 31). В главном окне программы информация о состоянии обмена подсвечивается красным цветом. Так как устройство вышло из строя, то пользователь может удалить его из списка виджетов, тем самым завершить обмен между устройством и ПК (блок 33). При возникновении ситуации зависания устройства (рисунок 5.20), по истечении 2-х минут ожидания данных ПК, программа оправляет запрос Изм Лист №докум Подп Дата Лист 75 ЮЗГУ. 120340.014 ПЗ устройству. Как и в случае возникновения сетевой ошибки, программа оповещает пользователя (рисунок 5.21). Рисунок 5.20 – Имитация зависания устройства Рисунок 5.21 – Ошибка при зависании устройства Если программой были получены новые данные от сокета (блок 34), происходит обработка полученной информации от устройства (блок 35). В случае если полученные данные отклонились от установленных значений или произошла какая-либо ошибка (блок 36), а также, если Передача актуальных данных ПК устройством через 5с Запрос данных ПК от устройства по истечении двух минут Изм Лист №докум Подп Дата Лист 76 ЮЗГУ. 120340.014 ПЗ произошла ошибка при обмене данными между устройством и ПК (блок 37), программа оповестит об этом пользователя (блок 38). Для рассмотрения различного рода ошибок было принято решение подключить три имитатора устройств к ПО (рисунок 5.22). Рисунок 5.22 – Имитаторы подключенных к программе устройств Рассмотрим случай, когда пользователь находится в окне устройства ID-1376, а ошибка отклонения какого-либо из климатических показателей возникла в окне устройства ID-1964 (рисунок 5.23). При возникновении такой ситуации программа оповестит пользователя при помощи сообщения об ошибке. Данная система оповещения позволяет привлечь внимание оператора. Например, если к программе подключено порядка 20 устройств, пользователь может не сразу заметить, какое устройство сигнализирует об отклонении показателей от нормы. Также в списке устройств с целью привлечения внимания виджет устройства, передавший критические климатические показатели, окрашивается в красный цвет. Это позволяет наглядно показать пользователю данный виджет, и тем самым сокращает время поиска устройства в списке. Изм Лист №докум Подп Дата Лист 77 ЮЗГУ. 120340.014 ПЗ Рисунок 5.23 – Оповещение об отклонении показателей Перейдя в окно виджета устройства с ID-1964, можно увидеть информацию о состоянии микроклимата в помещении, в котором установлено устройство (рисунок 5.24). Как и в предыдущем случае, состояние критического показателя подсвечивается красным цветом. Рисунок 5.24 – Отклонение показателя температуры Изм Лист №докум Подп Дата Лист 78 ЮЗГУ. 120340.014 ПЗ Контроль уровня заряда аккумулятора также считается значимым. Поэтому при снижении заряда аккумулятора до 19% программа оповещает об этом пользователя (рисунок 5.25). Рисунок 5.25 – Предупреждение пользователя о низком заряде аккумулятора В данной ситуации значение заряда не является критичным, так как устройство продолжает работать и передает информацию. В связи с этим было принято решение подсвечивать уровень заряда аккумулятора от 19 до 5% желтым цветом, чтобы дать время пользователю поставить устройство на подзарядку. А уровень заряда, который находится ниже 4%, подсвечивается красным цветом, так как наступает критическая ситуация, которая может привести к прекращению передачи информации от устройства к ПК. Так как в данном случае значения показателя температуры находится в критическом состоянии, а показатель уровня заряда в пределах допустимого значения, приоритет при подсвечивании виджета устройства был отдан красному цвету. В ситуации, при которой только заряд аккумулятора предупреждает пользователя о приближении уровня заряда к критическому значению, в списке подключенных устройств данный виджет подсвечивается желтым Изм Лист №докум Подп Дата Лист 79 ЮЗГУ. 120340.014 ПЗ цветом, с целью привлечения внимания, и программа присылает пользователю оповещение (рисунок 5.26). Рисунок 5.26 – Сообщение о низком уровне заряда аккумулятора Для прекращения работы данной программы необходимо нажать кнопку «Меню – Отключить сервер» (рисунок 5.27). Рисунок 5.27 – Отключение сервера Изм Лист №докум Подп Дата Лист 80 ЮЗГУ. 120340.014 ПЗ При возникновении события, связанного с нажатием кнопки данной кнопки (блок 39), происходит остановка сервера (блок 40) и остановка потоков сокета (блок 41). Также осуществляется удаление всех виджетов (блок 42). После осуществления отключения сервера окно главной программы примет первоначальный вид (рисунок 5.6). Для завершения работы данной программы пользователь должен нажать на кнопку закрытия программы (блок 44). |