Pull to refresh
0
0
Send message

Как обновлять информацию о фильмах и сериалах на медиацентре Kodi бесплатно и на русском языке

Level of difficultyEasy
Reading time3 min
Views8K

Kodi это свободный медиацентр, который в том числе можно настроить для красивого отображения локальной медиатеки из фильмов и сериалов в виде вашего собственного кинотеатра без абонентской платы.

Это достигается за счёт того что все файлы уже хранятся на вашем собственном сетевом хранилище с локальным доступом или записаны прямо в памяти Kodi, который может быть установлен практически на любой платформе.

Конечно, чтобы просматривать уже скаченные фильмы Kodi не нужен, ведь можно записывать файлы на флешку и втыкать её в телевизор для просмотра. Но можно действовать более технологично - отдать функцию скачивания обложек и описаний Коди. Примерно год назад я писал, что Kodi перестал обновлять информацию о фильмах, потому что TMDB заблокировал доступ пользователям из России. С тех пор ситуация поменялась и доступ появился, но периодически вся конструкция скрепера, то работает то нет, что очень неудобно.

В этой статье решил разобраться как скачивать обложки и описания не с медиацентра, а используя обычный компьютер и менеджер библиотеки Kodi.

Скачать обложки автоматически
Total votes 6: ↑5 and ↓1+4
Comments15

Сервер Modbus TCP для Simatic S7-1200 / S7-1500

Reading time6 min
Views22K

Первая спецификация протокола Modbus была опубликова в 1979 году. Протокол предназначен для опроса подчиненных устройств по принципу «запрос-ответ». Modbus RTU (Remote Terminal Unit) работает по последовательному интерфейсу передачи данных (RS-232, RS-485, RS-422). Сегодня речь пойдет о немного измененном протоколе, Modbus TCP, работающий на прикладном уровне стека протоколов TCP/IP.

Для начала посмотрим, как настраивается (программируется, если быть точнее) серверная часть. Modbus TCP Server — аналог Modbus RTU Slave, то есть, является подчиненным устройством. Это важно, не путайте. Сервер лишь отвечает на запросы, но не генерирует их.

В данном примере применяется CPU S7-1516 с версией прошивки 2.6. Серия S7-1200 программируется аналогично.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments19

Клиент Modbus TCP для Simatic S7-1200 / S7-1500

Reading time9 min
Views16K

Продолжаем тему программирования протокола Modbus TCP на контроллерах Simatic S7-1500. В прошлый раз речь шла о серверной части, сегодня опишем клиентскую. Клиент Modbus TCP — это узел, который генерирует запросы к серверу, т.е. запрашивает данные и передает уставки/команды. В терминологии Modbus RTU это «мастер», ведущее устройство. В отличии от RTU, в протоколе TCP может быть несколько «мастеров» (правильно — клиентов).

Читать далее
Total votes 2: ↑1 and ↓1+2
Comments5

Быстрый старт с WPF. Часть 1. Привязка, INotifyPropertyChanged и MVVM

Reading time7 min
Views73K

Всем привет!


По разным причинам большинство из нас использует десктопные приложения, как минимум, браузер :) А у некоторых из нас возникает необходимость в написании своих. В этой статье я хочу пробежаться по процессу разработки несложного десктопного приложения с использованием технологии Windows Presentation Foundation (WPF) и применением паттерна MVVM. Желающих продолжить чтение прошу под кат.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments45

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views250K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 273: ↑272 and ↓1+323
Comments344

Тестируем отечественную систему виртуализации: zVirt

Reading time12 min
Views33K

Привет, Хабр!

В первой статье цикла, посвященного тестированию отечественных систем виртуализации, я предложил читателям проголосовать за наиболее интересные для них решения. В топ систем попали: Программный комплекс «Звезда», zVirt, VMmanager 6, РЕД Виртуализация, ПК СВ «Брест», Альт Виртуализация.

Сегодня в центре внимания — zVirt. Обсудим функциональные возможности решения, посмотрим, как оно проходит тот или иной тест, разберем его плюсы и минусы и порассуждаем, кому эта система подойдет. Поехали!

Читать далее
Total votes 17: ↑14 and ↓3+12
Comments52

3. Симулятор Симона. Поиграемся с графиками

Level of difficultyEasy
Reading time5 min
Views1.9K

В предыдущей статье я показал первые шаги создания простейшей схемы и ее частотного анализа. Далее, не спеша, буду показывать как менять параметры схемы в зависимости от желаемого поведения характеристик.

Но, для начала еще раз повторюсь, в прошлой статье я не сразу выложил адрес, где скачать дистрибутив Симоны, поэтому еще раз указываю.

Лезем сюда и качаем версию для радиолюбителей.

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments11

Изучаем веб-сервисы ChatGPT и пробуем программировать

Reading time9 min
Views8.1K


Прямого доступа к сервисам OpenAI в РФ, как известно, нет. Для работы с ChatGPT многие пользуются телеграм-ботами, чаще всего бесплатными. В основном, запросы к ним — непритязательные. Пользователи практикуются в английском и, не раздражая никого пробелами в орфографии, получают списком все свои ошибки. Можно задавать ботам относительно простые вопросы.

Но, боты, в подавляющем большинстве работают на версии GPT3.5, возможности которой ограничены. Поэтому даже на хороший, но не релевантный запрос можно получить очень странный ответ, который начинается чем-то вроде «Да, я просто языковая модель и не могу сделать того, что вы от меня хотите...» и т. д. Нельзя забывать и о том, что телеграм-бот едва ли сможет хранить контекст, размером более 4000 токенов.

Поэтому в некоторых случаях удобнее использовать именно веб-сервисы, у них функции побогаче.
Читать дальше →
Total votes 17: ↑15 and ↓2+20
Comments8

Цифровой двойник буровой установки

Reading time4 min
Views4.7K

На неделе закончили интересный проект - цифровой двойник буровой установки УРАЛМАШ БУ 5000/320ЭУК-Я, которая предназначена для бурения глубоких и сверхглубоких скважин на нефть и газ, с условной глубиной бурения 5000 метров...

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments33

grep в Windows? Легко!

Reading time2 min
Views170K

grep


Многим любителям шела нравится чудная команда grep.
К сожалению, windows нативно не имеет такой команды, по этому некоторые ставят себе наборы различных консольных утилит в *nix стиле, включая grep.

Мне, как любителю посидеть в консоли Windows очень мешало отсутствие грепа, по этому мои скрипты под Win всегда были не так хороши, как могли бы быть. Но мои скрипты должны работать на любой (ну, или почти на любой) Windows, так как же быть?
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments85

Ускоряемся в Entity Framework Core

Reading time15 min
Views67K

Не будь жадиной!


При выборке данных выбирать нужно ровно столько сколько нужно за один раз. Никогда не извлекайте все данные из таблицы!

Неправильно:

using var ctx = new EFCoreTestContext(optionsBuilder.Options);                
// Мы возвращаем колонку ID с сервера, но никогда не используем и это неправильно!
ctx.FederalDistricts.Select(x=> new { x.ID, x.Name, x.ShortName }).ToList();

Правильно:

using var ctx = new EFCoreTestContext(optionsBuilder.Options);  
// Мы не возвращаем колонку ID с сервера и это правильно!
ctx.FederalDistricts.Select(x=> new { x.Name, x.ShortName }).ToList();
ctx.FederalDistricts.Select(x => new MyClass { Name = x.Name, ShortName = x.ShortName }).ToList();

Читать дальше →
Total votes 12: ↑7 and ↓5+4
Comments42

Фильтрация шума сигнала

Reading time7 min
Views43K

Фильтрация шума очень важная вещ, при работе с различными датчиками. Сигнал, получаемый от них всегда приходит с шумами, и важно уметь их грамотно отфильтровать. Качественная фильтрация шума способна уменьшить погрешность и увеличить качество измерения датчика. Этим мы сегодня и займемся.

Читать далее
Total votes 34: ↑29 and ↓5+35
Comments38

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

Reading time24 min
Views28K

Написать эту статью меня сподвигли те сложности, которые пришлось пройти в попытке разобраться, как же именно ядро контроллера STM32F103 работает с драйвером USB, который находится на борту. Имеющиеся туториалы по созданию устройств, в том числе и композитных, в основном сфокусированы на особенностях использования библиотек. Но когда оставшегося места в памяти контроллера мало а парамеры его работы полностью предсказуемы, лучшим решением становится написать собственный обработчик прерываний. А для этого нужно понять,

как же оно всё-таки работает
Total votes 28: ↑26 and ↓2+34
Comments9

Бесплатные пары VID PID для открытых проектов

Reading time2 min
Views28K
Для однозначного определения устройств, интерфейс USB использует 16-битные идентификаторы: VendorID и ProductID. Если ваш проект использует стандартную пару… ну, думаю вы уже знаете.

Однако, опенсорсу иногда везёт, и получить легитимные идентификаторы можно бесплатно.


Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments11

Самоучитель по WinCC OA. Часть 1. Создание проекта и модуль para

Reading time10 min
Views52K

Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде моментов WinCC OA радикально отличается от обычных распространенных SCADA, поэтому для начала необходимо усвоить базис.

Перед усвоением этого базиса я рекомендую в общем ознакомиться с архитектурой построения WinCC OA. Лучший способ такого ознакомления — найти в Интернете записи вебинаров и выступлений эксперта по WinCC OA Кондрашкина Андрея. Андрей Геннадьевич — очень мощный специалист и прекрасный докладчик. Настоящий цикл заметок, собственно говоря, и основан на его двухдневном вводном обучении. Рекомендую эту запись.

Можно углубиться в изучении вопроса и дальше, например — ознакомиться с аддонами SmartSCADA или Preactor, но это выходит очень далеко за рамки базового понимания системы. Самое главное, что необходимо вынести из этого ролика — это понимание архитектуры WinCC OA. Например, то, что система состоит из отдельных законченных функциональных единиц, которые называются «менеджерами». Менеджер выполняет строго свою заданную роль. Центральным звеном всей системы является менеджер событий (event manager или EV). Есть менеджер визуализации, User Interface или ui. Есть драйвера, например — s7. Есть менеджер для выполнения скриптов, control. Все менеджеры общаются друг с другом посредством центрального EV по стандартному протоколу TCP/IP, вне зависимости от того, находятся они на одном физическом ПК, или разнесены на несколько.

Вторая важная отличительная черта, которую необходимо понять. OA — это система событийная. В ней почти отсутствует постоянный polling данных. Изменение показаний на экране оператора произойдет только в случае изменения значения соответсвующей переменной в контроллере.

Третье. Все или почти все реализовано скриптами (»Что нельзя запрограммировать на Ассемблере, можно спаять» (с) ) и текстовыми файлами. Необходимо зажечь лампочку на мнемосхеме? Скрипт. Причем скрипт, который подвязывается к изменению переменной и выполняющий определенные действия только по этому изменению автоматически.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments32

Как я делал user-control на WPF (VS2019, c#)

Reading time8 min
Views12K

Всех приветствую, решил выложить свой первый пост на Хабре, не судите строго - вдруг кому-нибудь да пригодится =)

Исходная ситуация: в рамках проекта по разработке декстопного приложения под винду заказчиком было выражено фи по поводу деталей интерфейса, в частности кнопок. Возникла необходимость сделать свой контрол а-ля навигационные кнопки в браузерах.

Задача: сделать контрол кнопки (WPF): круглая, с возможностью использования в качестве иконки объекта Path, с возможностью использовать свойство IsChecked, и сменой цветовых схем при наведении/нажатии.

Читать далее
Total votes 11: ↑9 and ↓2+9
Comments9

Псевдо ООП в C

Reading time3 min
Views71K


Язык Си не является объектно-ориентированным языком. И значит все что будет описано ниже это костыли и велосипеды.
ООП включает в себя три столпа: инкапсуляция, наследование, полиморфизм. Ниже я покажу как этих вещей можно добиться в С.
Читать дальше →
Total votes 41: ↑31 and ↓10+21
Comments26

Перенаправление IP-пакетов (IP Forwarding) для S7-1500 (FW2.8 и выше)

Reading time6 min
Views3.6K

В данной заметке рассмотрим функционал, появившейся в «прошивке» 2.8 (поддерживается в Step 7 версии 16 и выше) серии контроллеров S7-1500, а именно — перенаправление (форвард) ip-пакетов между интерфейсами.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments2

Маршрутизируемые S7-коммуникации на примере Profinet<->Profibus в «тысячной серии» Simatic

Reading time3 min
Views5.9K

Связи S7 лет уже много. И многие про него знают тоже много. И даже много используют. Работать с ними весьма легко - создал S7 connection, разместил, где надо, функциональные блоки PUT/GET (самый простой вариант) или BSEND/BRECEIVE, выполнил download, и все - полный превед, знай только, контролируй состояние флагов NDR и Error.

Чаще всего оба коммуникационных партнера находятся в одной сети. А что делать, если CPU находятся в разных сетях Profinet? Или, еще круче, один участник обмена подключен к некоему промежуточному узлу по Profinet, а второй - к этому же промежуточному узлу по Profibus.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments4

Цифровой вытрезвитель

Reading time17 min
Views20K

Обычно я продумываю свои статьи годами. Сегодня я собираюсь поделиться идеями, крайне далёкими от завершённости. Многие из них требуют доработки напильником размером с самолёт, а некоторые не взлетят вообще. Но я полагаю, что если не поделиться ими сейчас, то другой возможности может не наступить никогда.

Я верю в "частичные идеи". Бывает, человек крутит в голове половину чего-то важного. А у кого-то есть вторая половина. Чтобы мысли встретились и "клацнули", кто-то должен свою половину опубликовать. Сегодня это делаю я. Считайте это скорее приглашением к обсуждению, нежели готовым рецептом.

Читать далее
Total votes 34: ↑30 and ↓4+37
Comments49
1

Information

Rating
Does not participate
Registered
Activity