Доступен выпуск проекта NightShift 0.9.1, развивающего реализацию сервера для приборов охранно-пожарной сигнализации Астра Дозор. Сервер реализует такие функции, как ведение лога и разбор сообщений от прибора, а также передачу команд управления на прибор (постановка и снятие с охраны, включение и выключение зон, реле, перезагрузка устройства). Код написан на языке Си и распространяется под лицензией GPLv3...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=53681
На чей то дипломный проект похоже, судя по коду...
Реверс протокола таких систем большая редкость, нужно это ценить. Так что пусть человек пилит раз нравится. Может кто-нибудь поможет и что-то путное получится.
Да, чувак молодец. Поделки примерно того же уровня (даже хуже наверно) есть для продукции корсаров (писишные железки), там тоже проприетарный протокол, usb-serial переходники, и всё такое подобное. При этом есть отлично работающая формошлёпская (по типу типичного ПО от китайских вендоров) софтина для венды (мб там даже кути были), правда, с омерзительным дизайном и ещё более омерзительными "шкурками", но для линукса только реверсом добытые полторы поделки, которые тебе придётся пилить самому если хочешь, чтобы что-нибудь заработало.Казалось бы, 2020 на дворе, проприетарные поделки с проприетарными протоколами пора оставить где-то 40 лет в прошлом, но нет, жадность и старые привычки ведения бизнеса никуда не делись.
> Казалось бы, 2020 на дворе, проприетарные поделки с проприетарными протоколами пора оставить
> где-то 40 лет в прошлом, но нет, жадность и старые привычки
> ведения бизнеса никуда не делись.Для того что бы старые привычки куда то делись вам необходимо выробатывать новые у новых. Например старая "купил там за $1, продал здесь за $3, вот на эти 2% и живу" на новую более сложную тратегию борьбы брони и снаряда. А тех кто сильно высунулся топить как ведьм и посыпать новичком.
Например старая "купил пальмовое масло там за $1, продал здесь как сливочное за $3, вот на эти 2% и живу". А тех кто сильно высунулся топить как ведьм и посыпать новичком.
> купил там за $1, продал здесь за $3, вот на эти 2% и живу"Это 200%
Нужно знать классику анекдотов 90-х
Бесспорно это большой труд, который уже проделан. И судя по роадмапу ещё есть планы. С кодом могу периодически помогать на досуге.
Спасибо за теплые отзывы! И, разумеется, за предложение помочь :-)Я начал потихоньку избавляться от небезопасных методов работы с памятью, но это не быстро (на основной работе дел хватает). Для оценки утечек и т.п использую valgrind (ну как использую... учусь на самом деле)
По возможности набивайте руку на документировании коммитов в плане "зачем" и "почему" -- "как" написано в коде, это имеет смысл дублировать разве что в виде схемы крупным штрихом, а вот задумку из кода выводить не всегда так уж просто.Порой эти "заметки на манжетах", пусть даже вида "странно глючит железка, надо бы вернуться к этому вопросу" или там "здесь возвращают 0,1 вместо ожидаемого 0,2 -- не знаю, почему" могут сэкономить время на повторные разборки год спустя Вам же самому...
Позавчера на ту же тему коллеге писал: http://lists.altlinux.org/pipermail/devel-distro/2020-Septem...
> По возможности набивайте руку на документировании коммитов в плане "зачем" и "почему"
> -- "как" написано в коде, это имеет смысл дублировать разве что
> в виде схемы крупным штрихом, а вот задумку из кода выводить
> не всегда так уж просто.
> Порой эти "заметки на манжетах", пусть даже вида "странно глючит железка, надо
> бы вернуться к этому вопросу" или там "здесь возвращают 0,1 вместо
> ожидаемого 0,2 -- не знаю, почему" могут сэкономить время на повторные
> разборки год спустя Вам же самому...
> Позавчера на ту же тему коллеге писал: http://lists.altlinux.org/pipermail/devel-distro/2020-Septem...Да, согласен. С одной стороны. С другой, "отец" Фаулер предостерегает от комментариев в коде... по его мнению, код начинает "дурно пахнуть". Тут как всегда, "все есть яд и все есть лекарство".
> С другой, "отец" Фаулер предостерегает от комментариев в коде...Уж не знаю, кто его так травмировал -- вряд ли именно бессмысленные "комментарии ради комментариев" (по формальным требованиям) вида "увеличиваем i на единицу", хотя тоже нельзя исключать.
Но сам стараюсь различать "архив" и "поток", состояние и изменение. В том числе и в коде. И где-то поставить предупреждение комментарием (себе же, в конце концов), где-то просто назвать повыразительней переменную или функцию -- а что-то описать в коммите, но не в самом коде.
Так-то можно из bugzilla сделать систему документации, а из mediawiki -- систему технической поддержки, но заточка у них немножко под другое.
Ну и в любом случае это сугубо личный навык и почерк, так что мнения других тут стоит принимать лишь как их опыт (мой тоже) -- может, применимый, а может, и нет.
Дерзайте :-)
Лет 10 назад "реверснул" какую-то простую пожаро-охранную железку (Контакт) и написал сервер на python + postgres, под GPL. Все работало. Клиент закрытый, другой человек на Делфи разрабатывал.Вам интересно добавить поддержку другого железа?
Клиент открытый для вашего сервера есть?
Лучше микросервис отдельный написать для вашей железки, уж сильно у этих "ребят" (производителей оборудования для ОПС) протоколы взаимодействия отличаются.Если говорить о клиенте, то именно эта версия позволяет реализовать "клиент" на основе популярных решений домашней автоматизации - OpenHab, HomeAssistant и т.п., поддерживающих MQTT-протокол.
> На чей то дипломный проект похоже, судя по коду...Главное чтобы по итоге оно работало без сбоев, и то что GPL это просто замечательно, всё лучше кривой китайской блоботы.
Так помоги человеку, раз видишь чем
> Астра Дозор
> NightShiftНадо было назвать Ночной дозор.
Ага, NightDozor, лол)
Ты не въезжаешь. Как я интерпретирую название -- это ночная смена (night shift) астра-дозора, то есть как раз тот самый ночной дозор, о котором ты говоришь. Но не совсем, потому как shift нагружен другими смыслами, в нём есть немного от поворота/смены направления, а shifty это "выглядящий подозрительным", ну и тп. Впрочем, я не натив-спикер в отношении английского, и не возьмусь говорить определённо.
Да тут все просто) Писалось натурально ночами и вечерами. Поэтому - "Ночная Смена"
> реализована базовая поддержка MQTT-протокола для управления сигнализацией - публикация сообщений в топики, получение и обработка команд по протоколу MQTTО, обобрямс. Теперь можно к чему угодно прикрутить.