Есть компьютер, который работает в режиме сервачка на базе Windows 10 x64, где
крутится определенная программа. Так вот, чтобы контролировать работу системы, удаленно стоят несколько программ, но
у
двух из них есть какая-то проблема, связанная с внезапным завершением их процессов, т.е. по непонятным причинам в
случайно рандомный момент времени они могут завершить свою работу. Это довольно неудобно!
Попытка решения проблемы
Эти две программы TeamViewer v12.0.83369 (удаленное управление компьютером) с
бесплатной лицензией и RealTemp 3.70 (мониторинг температуры процессоров и видеочипов).
В логах этих программ я ни чего не нашел, о причинах завершения работы, в журналах Windows тоже не было информации и
интернет мне тоже не смог помочь, в результате пришла идея смастерить некий костыль на базе скрипта для перезапуска
процессов, в случае если они внезапно прекратили работать
Скрипт
Скрипт создается довольно просто: открываете блокнот, забиваете текст и сохраняете файл с расширением
BAT.
Ниже я привел пример скрипта для программы RealTemp
@echo off
TITLE = reStart RealTemp
set executable=D:\Download\RealTemp_370\RealTempGT.exe
TITLE = reStart RealTemp
- задаем название консольного окна, у меня два таких скрипта
крутится, поэтому мне их нужно различать, это исключительно для удобства
set
executable=D:\Download\RealTemp_370\RealTempGT.exe
- указываем путь для исполняемого файла нашей
программы
set process=RealTempGT.exe
- указываем название процесса, который хотим
контролировать
&& echo %date%, %time%, start
RealTempGT.exe
- это вывод в консоль информации
когда и во сколько произошел перезапуск процесса (после echo можете написать все что угодно)
timeout /t 3 /nobreak >nul
- мониторинг процесса выполняется раз в 3
секунды
Отдали в ремонт Arduino Nano V3.0 с miniUSB разъемом на базе ATmega328 и конвертером USB - UART CH340G, со словами: перепутал полярность питания, теперь не работает.
При собственноручной проверке "мертвость" объекта подтвердилась.
Вооружившись схемой на плату, у меня в первую очередь вызвал подозрения диод D1 (после него не было напряжения). Замкнув пинцетом диод, светодиод питания загорелся.
Сбрасываем феном диод
Замыкаем площадки из под диода
Все заработало
В конечном итоге дополнительно проверил связь с ПК:
Иногда нам необходимо получить channel_id канала, но на целевом канале отображается user_name. ID канала можно получить штатным запросом через браузер: для этого необходимо в строку браузера (где отображается адреса сайтов) вбить следующий запрос:
Попросили отремонтировать светодиодный светильник Jazzway. На вопрос: как он отказал? Был дан ответ что он изначально не работал. Я уж не стал задавать вопросов почему не сдали обратно неисправный светильник, ибо время все равно упущено и я его уже разобрал, в общем не стал тратить время и задавать уже глупых вопросов.
Внутри однослойная плата со светодиодами (LF0404-22S3P 007) и плата с вторичным источником питания и led драйвером (CL1502)
На плате со светодиодами я разметил секции светодиодов карандашом, но об этом позже.
Первая попытка
Во общем в тот момент не было у меня желания и настроения разбираться в этой ерунде поэтому "пошел" по методу "все что подозрительное, все заменяем", благо не за мой счет. Схема почти полностью повторяет рекомендованную схему для CL1502 из спецификации.
Проверки:
мультиметром в режиме прозвонки проверил все светодиоды, все светятся, да и выглядят они нормально, меньше всего я на них грешил, но проверить стоит, к тому же это быстро
проверил все номиналы резисторов, все хорошо
проверил диодный мостик (DB1), работает
проверил предохранитель (он с обратной стороны, не сфоткал), работает
проверил диод D5, все хорошо
проверил дроссель на обрыв (с обратной стороны), все отлично
проверил обмотки трансформатора на обрыв (с обратной стороны), обрыва нет
Заподозрил я драйвер CL1502. Нашел на Aliexpress, купил.
При снятии микросхемы оказалось что она приклеена чем то, но в принципе отдираемо
Во общем запаял я уже новую микросхему (на картинке не почистил от паяльной жидкости)
Итог: не заработало
Вторая попытка
То было уже другое время и данная неудача меня лишь раззадорила. Начал я внимательно рассматривать этот кусок мусора.
Плата со светодиодами сделана максимально просто: однослойная плата с последовательно подключенными сегментами светодиодов по три в параллель. Ранее я сами светодиоды уже проверил, однако целостность дорожек не проверял, да и проверить их сложно ибо рассмотреть их довольно проблематично, но т.к. ремонт данного куска мусора у меня не получался это уже стало для меня делом чести.
Карандашом разметил сегменты светодиодов и начал разглядывать дорожки. Так вот оказалось что в некоторых местах дорожки подходят очень близко к отверстиям в плате (грамотные конструктора обязательно оставляют зазор между отверстием и дорожкой), но это не тот случай, это дешевый китай, кстати с этого момента я разочаровался в Jazzway, почему-то я раньше полагал что это нормальная контора с нормальным качеством, а оказалось делают мусор.
И в одном и таких мест увидел повреждение дорожки, по всей видимости это произошло во время сборки на какой нибудь китайской фабрике, где видимо нет ОТК (отдел технического контроля), это объясняет почему он не работал изначально.
Восстанавливаем дорожку проводом (забыл я сделать фотографии) и все заработало
Архивирование отдельной папки с полным путем на латинице
@Echo Off "C:\Program Files\7-Zip\7z.exe" a -mx9 -mmt -pXXX "D:\Temp_garbage (%date%).7z" "E:\Temp_garbage\*"
где в первых скобках указан полный путь до исполняемого файла архиватора -mx9 это степень сжатия (от 1 до 9), в данном случае максимальная степень сжатия -mmt это мультипоточная обработка -pXXX это пароль "ХХХ"
в последних скобках указан путь и название файла-архива, где %date% это дата создания архива
Архивирование нескольких папок с полным путем на латинице
@Echo Off "C:\Program Files\7-Zip\7z.exe" a -mx9 -mmt -pXXX "D:\Work (%date%).7z" "D:\Arduino" "D:\ArduinoIO"
где последние где скобки это две папки, которые необходимо запаковать
Архивирование папки, где в полном пути присутствуют кириллические символы
для этого необходимо, создаваемый скрипт, открыть файл в редакторе, который позволяет сохранять в разных кодировках (например Notepad++). Перевести файл в кодировку OEM 866 и сохранить.
Настройка планировщика задач
Когда у нас готов скрипт(ы) нам необходимо настроить планировщик задач, чтобы все происходило в нужный нам момент, без нашего вмешательства (автоматизируем процесс).
Переходим в Управление: Этот компьютер -> Управление
Переходим в библиотеку планировщика заданий
Далее в правой колонке нажимаем "Создать задачу"
Во вкладке "Общие" называем задачу, если необходимо добавить описание и обязательно поставьте галку "Выполнить с наивысшими правами"
Во вкладке "Триггеры" нажимаем кнопку "Создать" и настраиваем график архивирования
Далее нажимаем кнопку "ОК" и переходим во вкладку "Действия", там нажимаем кнопку "Создать". Из выпадающего меню выбираем "Запуск программы", далее через кнопку "Обзор" выбираем наш, ранее созданный, скрипт и нажимаем "ОК"
Все, с этого момента вы автоматизировали процесс архивирования.
Если вы размоете цветную картинку в графическом редакторе вы увидите темную границу между цветами. В ролике я расскажу как это исправить в Adobe Photoshop.
Делается это так: Редактирование -> Настройка цветов -> Наложение цветов RGB с гаммой (галка)