• Какие лёгкие дашборды есть для работы с modbus?

    @sirocco Автор вопроса
    Инженер АСУТП
    Обыскал весь рунет и даже чуть дальше, ничего лёгкого не нашёл. Зато на шёл то, что надо под Андроид. Есть больше пяти приложений которые позволяют легко и за 10 минут накидать нужные теги и кнопки. И даже не нужен ноут. Только осталось намутить шлюз Wi-Fi to rs485.
    Ответ написан
    Комментировать
  • Как рисовать прямоугольники в ffmpeg?

    @sirocco Автор вопроса
    Инженер АСУТП
    Разобрался. Вроде всё просто. Но не пойму как устранить ошибки.
    ffmpeg -i /media/01.jpg -vf "drawbox=x=1400:y=200:w=200:h=500:t=3:c=yellow" -frames:v 1 /media/77772.jpg

    Ругается:
    The specified filename '/media/77772.jpg' does not contain an image sequence pattern or a pattern is invalid.
    Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
    Как указать, что обрабатываться будет только один кадр?
    Ответ написан
  • Как передавать сеть GSM или подключить симку из точки А в точку В (и обратно) через интернет?

    @sirocco
    Инженер АСУТП
    Изобретите сами. Два SDR приёмо-передающих, с одной стороны ловите, в другую передавайте. Есть много решений, где это работает, но не через интернет, а через радиочастотные репитеры. Вам надо радиочастоту завернуть в интернет. Подобное давно сделано для радиостанций и аналоговых и цифррвых, но там всё в сотни раз проще, например шифрования нет, нет критичности к задержкам, и вообще, там только голос бегает. Подводных камней, вероятно, будет очень много. Но логически, если бы оно работало, мы бы уже имели виртуальные сети от иностранных провайдеров и российских в обход роуминга у себя дома, пусть это и не дёшево. А сейчас, если надо организовать связь в местах где её нет, ставят либо репитеры, либо опосовские мини базовые станции.
    P.S. если теорию знаете, то можно прикинуть какая ширина полосы, какая частота, и какая скорость интернета потребуется, чтоб этот raw трафик просунуть с Ethernet. Мне кажется, в гигабит не влезет.
    Ответ написан
    Комментировать
  • Как вернуть старый интерфейс Google Chrome?

    @sirocco
    Инженер АСУТП
    Раньше это работало. Сейчас браузер сам обновился до 125.0.6422.113 и это уже не работает.
    Ответ написан
  • Существует LTE-модем с eSIM?

    @sirocco
    Инженер АСУТП
    Сейчас появились. Не много, но есть и с АКБ/WiFi, и в качестве плат. Мой выбор пал на Foxconn T77W968 DW5821e eSIM LTE Cat16 M.2 4G. На Али есть, сейчас за 6000р с доставкой.
    Ответ написан
  • Что нужно для конвертации потока с IP камер в поток IPTV?

    @sirocco Автор вопроса
    Инженер АСУТП
    Решил за деньги покупкой железки:
    6360c0dfa90e5470042683.png
    Аппаратный декодер, который берёт из сети поток во многих форматах разрешением до 4k, и конвертирует поток отдавая его в разрешениях 1080p и ниже также по разным форматам, в iptv, hls, mjpeg, rtsp... И также отдаёт видео в HDMI(со звуком по HDMI).
    Отличное устройство. И бонусом получил то, что хотел - задержку на 20 сек. в формате iptv. То есть устройство берёт поток, преобразует и через 20 сек начинает трансляцию, которая от реальности отстаёт как раз на эти 20 сек. То есть такой кейс - позвонили в звонок, я подхожу к телику, включаю iptv, и как раз вижу как только человек подходит к двери и нажимает кнопку звонка.
    Если нужна онлайн трансляция, то переключаюсь на HDMI - там отставание от онлайн около 0,2 сек.
    Ещё можно использовать DVB-T модулятор, и принимать свой поток видео как обычный канал телевизора, максимум в 1080p.
    Ответ написан
  • Есть ли IPTV приставка с удобным интерфейсом?

    @sirocco
    Инженер АСУТП
    Selenga HD980D имеет кнопку на пульте "TV/R". Нажатие кнопки циклически переключает, телевидение DVB-T2 / Радио по DVB-T2 / IP TV. При включении приставка остаётся там, где была до выключения. Если работает в режиме IPTV, то по нажатию кнопки "Ok" на пульте слева вылезает прозрачное меню выбора каналов, а на фоне идёт текущая телепередача. Это точно так же как в режиме просмотра DVB-T2. Канал можно выбрать введя цифры, или просто перелистывая. Ну то есть после настройки IPTV каналов и добавления плей листов нет необходимости выходить на IPTV через дебри меню.
    Там же ещё есть ютуб, и он прекрасно работает.., но залезть можно только через меню.
    Ответ написан
    Комментировать
  • Можно ли восстановить mikrotik, который не пищит второй раз?

    @sirocco
    Инженер АСУТП
    Вчера прямо после отключения питания, всё включилось, а микротик нет. Мигает всеми индикаторами и не загружается. Ну как оказалось в постоянной перезагрузке. Воткнул в него шнурок от свитча на 12В, всё заработало. Так что смотрите сначала питание.
    Ответ написан
    Комментировать
  • Как с микротика отправить GET/POST?

    @sirocco Автор вопроса
    Инженер АСУТП
    Сам допёр. Перез знаком вопроса нужно поставить " \ "
    Так работает:
    /tool fetch url="http://192.168.XXX.XXX/Rx.php\?Rx=&str" mode=http\
    Ответ написан
    Комментировать
  • Можно-ли поднять сеть по двум жилам?

    @sirocco Автор вопроса
    Инженер АСУТП
    М-да... Значит по простому не получится, а то думал ещё модем найти и заработает. Тогда новый кабель кидать придётся, а про этот забыть... WiFi такую планировку не пробьёт, если только точки доступа на крыше ставить, что, возможно, вариант.
    Ответ написан
    Комментировать
  • Какой роутер выбрать?

    @sirocco
    Инженер АСУТП
    DSL-2600U, если он пятилетней давности, это WiFi G: www.dlink.ru/ru/products/3/810_b.html . Сейчас же в каждой железке есть "N", который по дальше пробивает.
    Ответ написан
  • Есль-ли лёгкий web сервер под Windows?

    @sirocco Автор вопроса
    Инженер АСУТП
    Иногда на работе бывают простои, заняться нечем, играюсь ардуинкой. На рабочие компы ничего не установишь. А портабельного не нашёл. В общем вышел из ситуации так: на роутер поставил openWRT, поднял там сервер. Моим условиям удовлетворяет.
    Ответ написан
    Комментировать
  • Как парсить курс валют и записывать в БД?

    @sirocco Автор вопроса
    Инженер АСУТП
    Допёр с Вашей помощью, товарищи. СПАСИБО. Вот оно, решение:
    <?php
    
    $file='btc_status.lock';
    if(!flock($lock_file = fopen($file, 'w'), LOCK_EX | LOCK_NB))
      die("Already runninng\n");
      
    include 'config_db.php';
    include 'safemysql.class.php';
    $db = new SafeMysql();
    
    $fl=json_decode(file_get_contents("https://btc-e.com/api/3/ticker/btc_usd-ltc_usd?ignore_invalid=1"));
    
    $btc=$fl->btc_usd;
    
    if($btc->last>0)
    	{
    	//$sql = "INSERT INTO kurs SET mark = 'btce', date=NOW(), ?u"; // Для чего это?
    	$db->query("INSERT INTO kurs (mark, sell) VALUES ('btce',{$btc->sell})");
    	}
    mysql_close();
    ?>

    Вроде работает. Надеюсь с точки зрения безопасности и эстетики тоже всё верно.
    Ответ написан
    2 комментария
  • Как парсить курс валют и записывать в БД?

    @sirocco Автор вопроса
    Инженер АСУТП
    Ничего не получается.
    <?php
    
    $file='btc_status.lock';
    if(!flock($lock_file = fopen($file, 'w'), LOCK_EX | LOCK_NB))
      die("Already runninng\n");
      
    include("config_db.php");
    include 'safemysql.class.php';
    $db = new SafeMysql();
    
    $fl=json_decode(file_get_contents("https://btc-e.com/api/3/ticker/btc_usd-ltc_usd?ignore_invalid=1"));
    
    $btc=$fl->btc_usd;
    if($btc->last>0)
    	{
    	$sql = "INSERT INTO kurs SET mark = 'btce', date=NOW(), ?u";
    	$db->query->("INSERT INTO kurs SET ?u", $btc);
    	}
    mysql_close();
    ?>

    safemysql.class.php скачал...
    Вылетает ошибка: Parse error: syntax error, unexpected '(', expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /volume1/web/0test/12.php on line 17
    Строка 17 это
    $db->query->("INSERT INTO kurs SET ?u", $btc);
    Что с синтаксисом не так?

    Пробовал так изменить:
    .......
    if($btc->last>0)
    	{
    	$sql = "INSERT INTO kurs SET mark = 'btce', date=NOW(), ?u";
    	$result = $db->query("kurs");
    		while ($row = $db->fetch($result))
    		{   
        	echo $row['name'];
    		}
    	}
    mysql_close();

    Тогда такую ошибку даёт: Fatal error: SafeMySQL: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'kurs' at line 1. Full query: [kurs]. Error initiated in /volume1/web/0test/12.php on line 17, thrown in /volume1/web/0test/safemysql.class.php on line 601
    Строка 17:
    $result = $db->query("kurs");
    Строка 601 в файле safemysql.class.php:
    trigger_error($err,E_USER_ERROR);
    Что нужно исправить?
    Таблица в БД называется "kurs", поля - mark, date, sell.
    Ответ написан
  • Хитрая домашняя бухгалтерия

    @sirocco
    Инженер АСУТП
    Я параноик, и выбрал систему для собственного сервера, исходники открыты. Изучаю...
    abricos.org/blog/vozmozhnosti_platformy/42
    Ответ написан
    1 комментарий