eddy_em: (Default)
[personal profile] eddy_em
Оставлю это здесь, в этом случае проще будет найти в случае необходимости.

Так как датчик облачности и all-sky камера являются независимыми устройствами, разработанное ПО состоит из четырех частей, входящих в совместную клиент-серверную архитектуру:
  • (сервер) подключение по последовательному соединению к камере и выдача клиенту полученных изображений;

  • (сервер) подключение по последовательному соединению к датчику облачности и выдача клиенту данных;

  • (клиент) подключение к серверу камеры для сохранения (и возможной архивации) изображений в различных форматах (raw + гистограмма, fits, tiff), а также дебайеризация полученных снимков и сохранение их в формате jpeg;

  • (клиент) подключение к серверу датчика облачности, отслеживание обновлений файлов, сохраненных предыдущим клиентом, добавление в FITS-шапку файлов последних данных с датчика облачности и архивация их.

1. Камера all-sky


Программное обеспечение для работы с камерой использует следующие библиотеки:
  • cfitsio — для сохранения изображений в FITS-формате;

  • libtiff — для сохранения изображений в формате TIFF;

  • libraw — для дебайеризации изображений;

  • libgd — для добавления к изображениям надписей (время и дата получения изображения, длительность экспозиции) и сохранения файлов в формате JPEG.

Возможна условная сборка ПО без поддержки данных библиотек (и соответствующих форматов). Доступны следующие ключи make:
  • NOLIBRAW=1 — без поддержки библиотек libraw и libgd (соответственно, без сохранения дебайеризованных изображений);

  • NOTIFF=1 — не использовать библиотеку libtiff;

  • NOCFITSIO=1 — не использовать библиотеку cfitsio.

Данные опции позволяют минимизировать зависимости для сборки серверного демона для запуска его на любом одноплатном компьютере.
У make есть три цели сборки:
  • sbig340_daemon — основной демон сервера, подключающийся к камере и отдающий полученные снимки клиенту;

  • sbig340_client — клиент, забирающий по сетевому соединению снимки с сервера и сохраняющий их в указанном формате;

  • sbig340_standalone — автономное приложение, позволяющее запускать экспозицию отдельных снимков на машине, непосредственно подключенной к камере.

Сервер и автономное приложение имеют параметры командной строки, позволяющие задавать имя устройства последовательного соединения, длительность экспозиции, скорость соединения с камерой, включать/выключать подогрев камеры, открывать/закрывать затвор и выбирать параметры элемента изображения и/или биннинга.
Помимо прочего, сервер предоставляет возможность автоматического сохранения «темновых» кадров, давая возможность задавать интервал между сохранением «темновых» и минимальную экспозицию, при которой будут получаться «темновые».
Сервер и клиент позволяют выбрать порт соединения (по умолчанию 4444). Клиент может работать как в режиме демона, так и запускаться однократно.
Клиент и автономное приложение позволяют выбрать формат, в котором будут сохраняться изображения (возможно задание нескольких форматов) и префикса имени выходного файла. Файлы могут сохраняться как с замещением предыдущих, так и с добавлением временнóй метки.
Серверный демон на основе гистограммы распределения яркости в полученном изображении вычисляет время экспозиции для следующего снимка. Существует возможность получения «сырых» данных с сервера при помощи браузера.
Сервер передает данные клиенту в виде «параметр=значение», содержащем такие поля:
  • binning — значение биннинга,

  • exptime — время экспозиции (в секундах),

  • imtype — тип изображения: 0 — с автоматическим извлечением «темновых» (отсутствует для полнокадрового изображения), 1 — обычный режим, 2 — темновой кадр.

  • imW — ширина изображения,

  • imH — высота изображения,

  • exsposetime — время (UNIX time), когда была начата экспозиция,

  • imdata — само изображение (16-битное, little-endian).

Сохраняемое клиентом дебайеризованное изображение используется для вывода в веб-интерфейсе, отображающем состояние метеопараметров на ВНП.

2. Датчик облачности


Серверный демон для работы с датчиком облачности имеет наименьшее количество аргументов: задание имени устройства последовательного соединения, номера порта (по умолчанию 55555) и возможность работы в режиме терминала.
Так как параметры окружающей среды, получаемые датчиком, могут обрабатываться на соответствие пороговым величинам в любом внешнем ПО, нет необходимости аппаратно задавать пороги. Серверный демон лишь принимает данные от устройства и передает их клиенту. Данные передаются клиенту сразу в момент поступления по последовательному соединению (один раз в 2-3 секунды). Формат данных имеет следующий вид:
humidstatTempCode=0
rainCond=1
skyMinusAmbientTemperature=-2.9
ambientTemperature=18.9
windSpeed=0.0
wetState=0
relHumid=28
dewPointTemperature=0.3
caseTemperature=32.9
rainHeaterState=0
powerVoltage=24.4
anemometerTemeratureDiff=24.9
wetnessDrop=2
wetnessAvg=179
wetnessDry=180
daylightADC=613
tmsrment=1492697510

Значения параметров и их величин можно прочитать в файле Protocol.md.

3. Клиент-архиватор


Архивирующий клиент отслеживает (при помощи inotify) изменение указанного fits-файла и производит его архивацию по заданному в параметре командной строки пути в формате YYYY/MM/DD/hh:mm:ss.fits.gz, где YYYY — год, MM — месяц, DD — день месяца, hh — часы, mm — минуты, ss — секунды начала экспозиции.
В FITS-шапку архивируемых файлов добавляется вся информация с датчика облачности на момент архивации файла. Для этого клиент подключается к серверу датчика облачности по заданному в параметрах командной строки адресу и порту. Также в командной строке можно задать минимальный интервал архивации — обновления изображений внутри этого интервала архивироваться не будут. «Темновые» кадры архивируются независимо от значения этого интервала.

Боюсь, это так и останется единственной документацией (кроме комментариев в коде) к этим демонам.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 09:48 am
Powered by Dreamwidth Studios