# LoRaWAN система за дистанционен електрически отчет
LoRaWAN система за дистанционен електрически отчет представлява комуникационна система, базирана на Long Range LoRaWAN мрежа, която позволява дистанционен отчет на електрическа енергия. Системата се състои от LoraWAN комуникаторно устройство, свързано към стандартен трифазен, или монофазен електромер чрез RS485 интерфейс. LoRaWAN комуникаторното устройството автоматично извършва електрическия отчет през фиксиран интервал от време и изпраща данните към най- близкия LoRaWAN гейтуей, който е част от създадена и настроена LoRa мрежа. Устройството може да се конфигурира от отдалечен приложен сървър. Внедрения в системата LoRaWAN сървър е инсталиран и настроен да комуникира с LoRa комуникаторните устройства, като данните преминават прозрачно през LoRa гейтуеите. От своя страна LoRaWAN сървъра прозрачно обменя информацията двупосочно към допълнителния приложен сървър и по този начин капсулира спецификите на използваната LoRa мрежа. Приложния сървър се свързва към LoRaWAN сървъра чрез MQTT протокол за комуникация. Създадения приложен сървър осигурява WEB интерфейс за достъп от крайните потребители и позволява лесна проверка, сортиране и визуализиране на постъпилата информация от енергийните отчети, както и пълна конфигурция на LoRaWAN комуникаторните устройства.
LoRaWAN комуникаторно устройство

LoRaWAN комуникаторното устройство е съвместимо с монофазни и трифазни електромери, които поддържат RS485 комуникационен интерфейс и комуникация по стандарт IEC62056-21. устройството е проектирано на база 8битов микроконтролер. Фърмуерът е създаден без използване на операционна система за реално време, изпълнявайки имплементирания LoRaWAN фърмуерен стек и приложните задачи. Устройството поддържа както вътрешна спираловидна LoRa антена, така и външна LoRa антена, свързана към SMA съединител. Вградения захранващ модул, който позволява захранване директно от електрическата мрежа с фазово напрежение, допълнително опростява процеса на инсталация. Имплментирания комуникационен протокол на приложно ниво е напълно съобразен с всички ограничения на LoRaWAN стандарта и оптимизиран спрямо функционалните изисквания към системата. Информацията между комуникаторните устройства и LoRaWAN сървъра се обменя само в криптиран вид със специално генериран ключ за системата. Комуникаторите са съвместими с LoRa клас 1 (поддържат непрекъснато приемане) и поддържат OTAA (Over The Air Activation), което значително опростява процеса на първоначално присъединяване към системата.
✓ RS485 интерфейс за връзка към отчитания електромер;
✓ Вграден LoRa приемо-предавател с оптимизирана RF верига;
✓ Враден захранващ модул, позволяващ захранване на устройството директно с фазово напрежение;
✓ Индикаторен светодиод, показващ текущото състояние на устройството и активността на LoRa мрежата;
✓ SMA съединител за външна LoRa антена, позволяващ значително увеличаване на радио обхвата;
✓ Кутия, позволяваща лесен монтаж на устройството на стандартна DIN шина;
✓ Висока надеждност чрез фърмуерен дизайн без използване на операционна система за реално време;
✓ Поддръжка на комуникционен стандарт IEC62056-21 за връзка с отчитания електромер;
✓ Криптиране на данните на база създаден риптиращ ключ, поддръжка на OTAA (Over The Air Activation) за лесно първоначално присъединяване;
LoRaWAN сървър

Внедрения LoRaWAN сървър капсулира цялата LoRaWAN мрежа с нейните мрежови специфики и настройки и по този начин позволява прозрачната обмяна на отчетите и потребителските данни прозрачно между крайните устройства и приложния сървър. Сървърът поддържа всички изисквания към LoRa мрежата, криптиране на информацията с крайните устройства и LoRa гейтуеите, ползвайки уникален за мрежата генериран ключ. Позволява лесно добавяне на нови гейтуеи и комуникаторни устройства по време на работа на системата, модифициране на мрежата според текущите изисквания за териториално покритие и брой устройства. Поддържа неограничен брой LoRa гейтуеи и крайни устройства и единственото ограничение би дошло от ограниченията на използвания хардуер, като в този случай сървъра позволява лесно хоризонтално скалиране на мрежата. Използваният LoRaWAN сървър поддържа много различни протоколи за връзка с приложен сървър: WebSocket, HTTP, MQTT, AMQP 0-9-1 към RabbitMQ. За комуникация с LoRa гейтуеите, сървърът поддържа Packet Forwarder и Basic Station LNS Protocol, които са най- често използваните стандарти за връзка в LoRa инфраструктура, поддържани от всички гейтуеи.
✓ Изграден на база език за програмиране Erlang, силно оптимизиран за комуникационни приложния;
✓ Поддръжка на неограничен брой LoRa гейтуеи и крайни устройства;
✓ Поддържа криптиране до крайните устройста, ползвайки специфичен ключ за създадената мрежа;
✓ Позволява връзка с LoRa гейтуеи, които поддържат „Packed Forwarded“ и „Basic Station LNS Protocol“ протоколи за връзка;
✓ Поддържа протоколи за връзка към приложния сървър: WebSocket, HTTP, MQTT, AMQP 0-9-1 към RabbitMQ;
✓ Поддържа изпращане на съобщения към сървърния администратор за събития в LoRa мрежата, гъвкава настройка на събитията и вида съобщения;
✓ Поддържа промяна в мрежовата инфраструктура, добавяне на гейтуеи и крайни устройства по време на работа;
Приложен сървър

Приложния сървърен софтуер е основния модул за конфигуриране и използване на системата. Съдържа няколко софтуерни подмодула. SQL database подмодул съхранява в база данни всички настройки на крайни устройства и всички направени отчети на електрическа енергия. Сървърът осигурява потребителски достъп чрез WEB интерфейс, който е автономен подмодул и поддържа пълен набор от потребителски права и приоитети. Всички налични отчети могат да се сортират според всеки от параметрите им, като WEB интерфейса предоставя лесна визуализация на данните под формата на графики и ЛОГ файлове на избраните и сортирани данни.
Приложният сървър позволява пълна конфигурация на крайните устройства. Подмодула за комуникация с LoRaWAN сървъра използва MQTT протокол за връзка. Заложените модели на базата данни позволяват гъвкавост при дефиниране на точки на измерване, LoRa крайни устройства и електромери, като модела позволява групиране на електромери и LoRa крайни устройства в една точка на измерване. Използвания модел на измерване е изцяло съобразен със специфичните функционални изисквания към истемата.
✓ Поддържа MQTT и RabbitMQ за връзка с LoRaWAN сървъра;
✓ Осигурява WEB интерфейс за достъп от крайните потребитли;
✓ Поддържа SQL база данни за съхранение на всички енергийни отчети и настройките на комуникаторните устройства;
✓ Поддържа пълна конфигурация на крайните устройства в реално време с WEB интерфеса чрез специализиран панел за конфигурация;
✓ Поддържа гъвкаво сортиране на отчетните данни на база на отчетно време, време на получаване на отчета в сървъра, тип и стойност на измервания параметър;
✓ Поддържа изчертаване на графики и запазване в XLS файлове на сортираната получена отчетна информация;
✓ Поддържа създаване на потребители и управление на потребителкси права чрез WEB интерфейса;
Извършени дейности
✓ Проучване и създаване на цялостната архитектура на системата, на база на функционалните изисквания към нея;
✓ Създаване на постановка за тест на концепцията на системата, тест на избрания LoRaWAN сървър, създаване на LoRa тестова мрежа и извършване на стрес тестове за работоспособност;
✓ Дизайн на хардуера на LoRaWAN комуникаторното устройство, принципна схема, печатна платка, механичен дизайн, на база на избраните основни компоненти и кутия. Създаване на PDF потребителска документация за преглед;
✓ Дизайн на фърмуера на LoRaWAN комуникаторното устройство. Внедряване на LoRaWAN софтуерня стек за използвания микроконтролер. Внедряване на модул за работа с електромера и създаване на фърмуера на приложно ниво;
✓ Осъществяване на тестове на създадена тестова LoRa мрежа. Оценка на постигнати резултати за типичен радио обхват и максимално разстояние между крайните устройства и гейтуеи;
✓ Създаване и имплементиране на комуникационен протокол на приложно ниво, според функционалните изисквания към системата и спецификата на използвания LoRa стандарт;
✓ Внедряване на избрания LoRaWAN сървър, създаване на нова LoRa мрежа;
✓ Дизайн на приложния сървър и неговите подмодули: База данни, WEB интерфейс, подмодул за комуникация с Lora сървъра;
✓ Производство на прототипи на LoRaWAN комуникаторните устройства, поръчка на печатни платки и компоненти, организиране на производство;
✓ Интегриране на създадената система в инфраструктурата на клиента;
✓ Създаване на документация за поддръжка на LoRaWAN мрежата, добавяне на нови устройства и промяна на инфраструктурата;
✓ Създаване на потребителска документация за работа с точките на измерване, добавяне на електромери, сортиране и обработка на отчетите;
# GPRS система за дистанционен електрически отчет
GPRS системата за дистанционен електрически отчет представлява комуникационна система, базирана на клетъчна GPRS услуга, която позволява дистанционен отчет на електрическа енергия. Системата се състои от комуникаторно устройство, свързано към стандартен трифазен, или монофазен електромер чрез RS485 интерфейс. Комуникаторното устройство автоматично извършва електрическия отчет през фиксиран интервал от време и изпраща данните към отдалечен сървър, използвайки TCP сесия върху GPRS клетъчна услуга. Устройството може да бъде конфигурирано чрез предвиден RS232 конфигурационен интерфейс, както и от отдалечения сървър. Системата включва както софтуер за конфигуриране чрез RS232, така и софтуер за визуализиране на получените данни в отдалечения сървър. Използвания комуникационен протокол е специфично създаден за да покрие всички функционални изисквания към системата. Комуникаторното устройство притежава релеен контакт, който може да бъде управляван от отдалечения сървър. Два индикаторни светодиода дават информация на потребителя за състоянието на връзката с отдалечения сървър и за активността на RS485 интерфейса.
GPRS комуникаторно устройство

GPRS комуникаторното устройство е съвместимо с монофазни и трифазни електромери, които поддържат RS485 интерфейс и комуникация според стандарт IEC62056-21. Устройството притежава индустриален GSM/GPRS сертифициран комуникационен модул, който предоставя надеждна GPRS комуникационна услуга. Захранването на устройството е с фазово напрежение от електрическата мрежа, като по този начин се опростява инсталирането му и не е необходим външен захранващ адаптер. RS485 интерфейсът притежава верига за галванична изолация. Два светодиода дават информация в реално време за състоянието на връзката с отдалечения сървър и актовността на RS485 интерфейса.
Фърмуерът на устройството е изцяло разработен и оптимизиран според специфичните функционални изисквания към системата. Базиран е на операционна система за рално време FreeRTOS, която дава както голяма гъвкавост, така и притежава голяма надеждност.
Използваната TCP сесия за връзка с отдалечения сървър се инициира от комуникаторното устройство и нейните параметри могат да се конфигурират. В устройството е заложена енерго-независима памет, която позволява съхраняване на всички отчети от електромера за период от една седмица, като при отпадане на връзката с отдалечения сървър, всички неизпратени отчети се изпращат автоматично след нейното възстановяване.
✓ RS485 интерфейс за връзка към електромера, обезпечен с галванична изолация;
✓ RS232 интерфейс за първоначална конфигурация;
✓ Сертифициран GPRS модул с поддръжка на външна GSM антена;
✓ Наличие на енерго-независима памет за съхраняване на направени отчети;
✓ Вграден мрежови захранващ модул, позволяващ захранване без външен захранващ адаптер;
✓ Държач за SIM карта тип „Mini“ (25мм x 15мм);
✓ Заложен релеен контакт, позволяващ дистанционно управление на външно свързана верига;
✓ Светодиодни индикатори за състояние на връзката и активност на RS485 интерфейса;
✓ Джъмпери за разрешаване на връщане към фабрични настройки и определяне на режима
✓ SMA съединител за външна GSM антена;
✓ Кутия за монтиране на DIN шина, улесняваща процеса на монтаж и инсталация;
✓ Фърмуер на база на надеждна и гъвкава операционна система за реално време;
✓ Поддръжка на комуникационен стандарт IEC62056-21 за връзка с електромер;
✓ Поддръжка на TCP сесия, както и DNS протокол за връзката с отдалечения сървър, която се инициира от устройството;
Софтуер за конфигурация

Софтуерът за начална конфигурация използва RS232 интерфейс за връзка с комуникаторното устройство. Софтуерът позволява пълна конфигурация на всички заложени параметри, може да прочита, променя и записва всяка група параметри на устройството: Интервала на вземане на отчет, настройки на GPRS, настройки на TCP сесията, както и параметрите при комуникция с електромера по стандарт IEC62056-21. Чрез софтуера може да се изпълняват сервизни команди за връщане към фабрични настройки и рестартиране на устройството.
✓ Използва RS232 интерфейс за връзка с устройството;
✓ Осигурява четене, промяна и запис на всички параметри;
✓ Настройка на времето за вземане на отчет от електромера;
✓ Настройка на параметрите на GPRS връзката;
✓ Настройка на параметрите на TCP сесията за връзка с отдалечения сървър;
✓ Настройка на параметрите на комуникация със свързания електромер;
✓ Изпълнение на сервизни команди за връщане към фабрични настройки и рестарт на устройството;
Софтуер за визуализация на данните

Софтуерът за визуализация на данните изгражда отдалечената връзка с устройството и показва получените отчети. Софтуерът изгражда TCP сървър, който приема TCP сесията, инициирана от едно устройство. Софтуерът може да конфигурира всички настройки на устройството, време за отчет, GPRS настройки, настройки на TCP сесия, настройки за връзка с електромера. Всички настройки могат да се променят в реално време, като новата стойност се прилага след рестартиране на устройството. Софтуерът за визуализация демонстрира използвания комуникационен протокол и е създаден по специфичните изисквания към системата. Като допълнение, комуникационният протокол позволява четене и сверяване на часовника за реално време в свързания електромер. Данните от един отчет се получават както във вид на текст, който се показва в текстова конзола, така и в цифров вид, който се показва в съответните предвидени полета. Данните, получени от паметта на устройството са само в цифров вид, те не се визуализират, а се съхраняват за бъдещ анализ. Всички получени данни в реално време, както и данните от паметта на устройството се добавят в два отделни ЛОГ файла за получени данни. Всеки ЛОГ файл съдържа данни за едно денонощие от време, като в него се съдържа както времето на отчет, така и времето на получаване на данните. Тези данни могат да бъдат сортирани според всички налични параметри на отчета, според времето на отчет, или времето на получаване в софтуера
✓ Изгражда TCP сървър, който приема инициирана от устройството TCP сесия;
✓ Възможност за четене, промяна и запис на всички параметри на устройството;
✓ Настройка на периода за вземане на отчет;
✓ Настройка на параметрите на GPRS връзката;
✓ Настройка на параметрите на TCP сесията;
✓ Настройка на параметрите за връзка с електромера;
✓ Възможност за изпълнение на сервизни команди – връщане към фабрични настройки и рестартиране на устройството;
✓ Възможност за четене и сверяване на часовника за реално време в електромера;
✓ Възможност получаване и визуализиране на отчетите в реално време в текстов вид според стандарт IEC62056-21;
✓ Възможност за получаване и визуализиране на отчетите в реално време в цифров вид на предвидените полета за визуализация;
✓ Съхраняване в ЛОГ файл на всички получени данни в реално време и от паметта на устройството, с добавено времето на получаване в сървъра;
✓ Възможност за заложено двупосочно следене на TCP сесията и установяване на липса на връзка, при което се прави опит за рестартиране на връзката до успешно изграждане на нова TCP сесия;
Извършени дейности
✓ Създаване на крайно техническо задание за разработка и избор на основни компоненти, на база на предоставените функционални изисквания;
✓ Създаване на концепцията за комуникация и използвания комуникационен протокол;
✓ Дизайн на принципната схема на комуникаторното устройство на база на избраните основни компоненти, предоставяне на PDF документация на схемното решение;
✓ Дизайн на печатната платка на комуникаторното устройство, внедряване в избраната кутия за монтаж на DIN шина;
✓ Производство на първа ревизия на прототипи, поръчка на печатни платки и компоненти, организиране на производство на прототипната серия;
✓ Дизайн на фърмуер. Дизайн и интегриране на базовите фърмуерни модули и основни блокове за работа. Дизайн на основното приложение, реализиране на комуникацията. Настройка и оптимизиране;
✓ Дизайн на софтуер за конфигурация, на база на избрания RS232 интерфейс за начална конфигурация на комуникаторното устройство;
✓ Дизайн на софтуер за визуализация на данните на база на избраната концепция за връзка между комуникаторното устройство и отдалечения сървър;
✓ Създаване и предоставяне на пълна производствена документация, инструкция за инсталиране, документация на комуникационния протокол за връзка;
✓ Създаване и предоставяне на пълна потребителска документация за работа със системата;
