C++ парсер JSON и легкое извлечение данных

Представляю вам маленькую библиотеку для парсинга структуры JSON документа и легкого извлечения данных, написанную на C++. Репозиторий vCjson на GitHub. git clone https://github.com/as-yuschenko/vCjson.git Парсинг Во время парсинга структуры документа JSON данные разбиваются на узлы. Каждый узел представляет собой тип данных в соответствии с https://www.json.org/ и может являться объектом, массивом, строкой, числом, парой ключ — значение, TRUE, FALSE, NULL. Все узлы выстраиваются иерархически, в соответствии с глубиной вложенности. Для парсинга документа JSON используется метод: /** Makes parsing of json data. * ATTENTION!!! * When data parsing complete, cursor located on root position. * Use go_next_sibling() to move to the first sibling.... Читать далее...

Физическое подключение С2000-ПП к одноплатному компьютеру.

Как физически подключить С2000-ПП к одноплатному компьютеру (Orange Pi, Raspberry Pi и т.д.)? Способ 1. Преобразователь USB RS485. Можно использовать практически любые преобразователи этого типа. Тестировались C2000-USB (старого и нового типа) компании Болид, а так же различные преобразователи из Китая. Например вот такое многофункциональное чудо: Здесь и далее работа с одноплатником проводится от пользователя root, если настраиваете подключение под другим пользователем, используйте команду sudo. Для работы с С2000ПП нам нужно узнать путь к файлу терминала. Подключимся к консоли и введем команду: root@valrond:~# ls -l /dev/tty* crw-rw-rw- 1 root tty 5, 0 Oct 27 20:05 /dev/tty crw--w---- 1 root tty 4,... Читать далее...

Динамические запросы к БД Орион Про с выводом в Ексель (MS Excel). Поиск по времени и фамилии.

В продолжение темы динамических запросов к БД Орион Про с выводом в excel и по просьбе одного из участников группы в Телеграм, пишу небольшую заметку. Коллеге было необходимо составить отчет о проходах определенного сотрудника за определенный промежуток времени. В простейшем случае запрос к БД Орион будет выгдядить так: SELECT TimeVal ,pList.Name + ' ' + pList.FirstName + ' ' + pList.MidName ,Remark   FROM pLogData   LEFT JOIN pList ON pList.ID = pLogData.HozOrgan   WHERE TimeVal BETWEEN 'начало интервала' AND 'конец интервала'   AND pList.Name LIKE '%Фамилия%' AND pList.FirstName LIKE '%Имя%' AND pList.MidName LIKE '%Отчество%'   AND pLogData.Event = 32... Читать далее...

Орион Про. Учет рабочего времени своими руками. Информационная модель.

Анализ логики работы системы Орион Про и связей таблиц в БД показал, что учет рабочего времени сотрудников вполне возможно реализовать своими силами. Ниже представлена информационная модель системы так, как я ее вижу. Информационная модель состоит из двух частей: 1. Процесс верификации персонального идентификатора (карты), принятия решения о предоставлении доступа и записи в таблицу pLogData результата. 2. Процесс расчета отработанного сотрудниками времени на основании записей в таблице pLogData. Процесс верификации персонального идентификатора (карты), принятия решения о предоставлении доступа и записи в таблицу pLogData результата. После предъявления карты считывателю, обработки контроллером кода карты и передачи его серверу в базе данных происходят следующие... Читать далее...

Таблица с результатами выполнения запроса

Динамические запросы к БД Орион Про с выводом в Ексель (MS Excel)

Как вывести данные из базы данных Microsoft SQL Server в Excel с помощью динамического запроса, получая данные прямо из ячеек? Об этом пойдет речь в этой статье. Данный кейс позволяет установить на компьютерах заинтересованных лиц своеобразный «Модуль отчетов», не покупая его. Для этого нам понадобятся: рабочая станция заинтересованного лица под управлением ОС Windows и установленным Microsoft Excel, доступ к БД Орион Про. В качестве простейшего отчета мы будем использовать запрос, который выводит первый проход сотрудника через определенную точку доступа на установленную дату. Собственно, эту дату мы и будем задавать в отчете в файле Ексель. Текст запроса приведен ниже. SELECT pLogData.HozOrgan... Читать далее...

Подключение к Orange Pi, Raspberry Pi через интернет

Думаю многие задаются вопросом: как подключиться к Orange Pi, Raspberry Pi через интернет? Как правило, при подключении к сети интернет провайдер использует серый IP адрес или динамический белый IP. Вторая ситуация несколько лучше, т.к. с помощью сервисов DDNS все-таки можно достучаться до своей внутренней сети. В случае серого IP нам «мешает» NAT провайдера, сквозь который пробиться практически не возможно. Конечно, можно купить себе белый статический IP адрес, но не всегда есть такая возможность. Возникает потребность с каком-нибудь проски с известным IP, к которому могла бы подключаться Orange или Raspberry и устройство с которого мы хотим ими управлять и выполнять какие-то... Читать далее...

Подключаем БОЛИД к LINUX. VPROGS. Лог событий и управление устройствами по сети и через интернет.

В этом видео я рассказываю о как ведется лог событий возникающих в системе Орион Болид, а так же о том, как управлять устройствами через сеть с помощью преобразователя протокола С2000-ПП через интерфейс командной строки. Скачать ПО vprogs Читать далее...

Подключаем БОЛИД к LINUX. ПО VPROGS. Запуск сервера vserv и сканирование шины Modbus с помощью vscan.

В этом видео я рассказываю о том, как запустить сервер vserv на Orange Pi, смотреть его логи и использовать программу vscan для сканирования шины Modbus для поиска преобразователей С2000-ПП на шине. Скачать ПО vprogs Читать далее...

Как прописать (добавить) карты в вызывную IP видеопанель Dahua VTO2111D.

Вызывная панель Dahua VTO2111D имеет на борту встроенный считыватель карт формата MIFARE, что очень удобно — не нужно устанавливать дополнительный считыватель и контроллер для отпирания замка. В этом посте я расскажу как прописать карты в панель VTO2111D. Начнем. Для начала подключимся по веб-интерфейсу и залогинимся. Переходим на вкладку Монитор видео и удаляем запись по умолчанию. Нажимаем кнопку Добавить Заполняем поля. К данной панели можно подключить только 1 монитор, поэтому в поле Короткий № монитора мы прописываем адрес подключенного монитора, значение по умолчанию 9901, так же прописываем IP адрес (не обязательно). Переходим на вкладку Локальные настройки -> A&C для считывания карт.... Читать далее...