Как мониторить загрузку ПК в играх с выводом в оверлей
Вывод информации о мониторинге ПК в игровом окне.
Вывод информации о мониторинге ПК в игровом окне.
По просьбе страждущих в этой теме: #comment_70408960
Скажу сразу: пост пилить не хотел, т.к. уверен, что далеко не всем это будет интересно, но 3 подписчика меня фактически обязали :-)
Некоторое время назад мною был приобретён на Алиэкспрессе такой вот зверь:
С трекером возможно общаться по СМС, так же он может работать в режиме передатчика звука и, что самое для меня интересное, может отчитываться на сервер. Этот вариант мы и рассмотрим подробнее.
Для начала необходимо настроить сам трекер. Делается это с помощью СМС команд, отправленных на номер трекера. Стоит отметить, что они могут значительно отличаться в зависимости от версии и прошивки. Для моего это так:
begin123456 - инициализация. Здесь "begin" - команда, а "123456" - стандартный пароль по умолчанию.
password123456 111111 - смена пароля, но мы для простоты будем со старым.
admin123456 +79119876543 - установка телефона администратора (т.е. вашего). До этого момента трекер принимает команды с любого номера, а после только с установленных. Номеров может быть несколько, но начать лучше со своего иначе рискуете потерять управление.
adminip123456 8.8.8.8 2222 - собственно самое важное для нас - указание IP адреса и порта нашего сервера. IP адрес естественно должен быть статичный и внешний. Живущим за роутерами - не забываем пробросить порт.
apn123456 internet.mts.ru - настраиваем выход в интернет. Для каждого оператора строка разная. У меня мтс. Иногда может потребоваться так же пользователь и пароль. Их пишем через пробел т.е. что-то типа: apn123456 internet.mts.ru mts mts
gprs123456 - собственно переключение на отправку данных с трекера на сервер (тот, что выше указали), а не через СМС.
check123456 - проверка состояния устройства. Ответ придёт в СМС и ОЧЕНЬ сильно зависит от версии/модели/продавца и хрен знает чего ещё. Если на момент проверки у нас УЖЕ работает сервер, о котором ниже, то минимум нам придёт GPRS: OK. Так же обычно есть инфа о заряде батареи и статусе GPS.
t060s***n123456 - собственно интервал отправки данных. 060 говорит об необходимости отправки раз в 60 секунд. *** - количество раз. Если "***" значит бесконечно, но можно указать и число раз. Минимальный интервал около 20 секунд. Я меньше 30 не ставил.
Кроме указанного минимума команд существует ещё множество и они легко гуглятся. Останавливаться тут на них мы не будем. Перейдём к серверу. Тут всё делится на 2 части. 1 часть непосредственно слушает порт, разбирает запросы и записывает это всё в базу. В моём случае рабочая версия у меня на php и пишем в mysql. Делал я это через сокеты. В общих чертах:
Открываем:
$master=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$res=@socket_bind($master, $ip, $port);
и в цикле читаем как-то приблизительно так:
if (socket_select($read, $NULL, $NULL, 0, 10))
if(in_array($master, $read))
$sockets[]=socket_accept($master);
далее обрабатываем и пишем в базу.
Трекер присылает строку такого вида:
(0270*******2BR00160615A5934.7690N03007.2188E005.9174004242.9700000000L00000000)
Строка всегда в скобках.
Начинается с части (или полного) серийного номера устройства. В нашем случае 0270*******2 (замазал). Далее команда. У нас это BR00 (собственно команда отправки координат). Дальше данные в зависимости от команды. 160615 - дата 15-06-2016 года. "А" якобы говорит о том, что данные актуальные (по документации). Дальше идёт широта и долгота: lat:5934.7690 lon:03007.2188 (преобразовать в нужную систему координат ещё надо). Потом скорость: 5.9 км/ч. Затем время: 17:40:04
Периодически трекер требует так называемый handshake (рукопожатие). Если на него не ответить, то требовать он его будет после каждого ответа. Команда-запрос: BP00. Ответ: (серийный номер+AP01HSO) Более подробно по серверу думаю не уложится в рамки данного поста. Спрашивайте - постараюсь ответить.
Вторая же часть отвечает за вывод из базы на карту. Я сделал это через API yandex карт. Выглядит у меня как-то так:
Это я к тёще ехал :-) Каждая точка это минута. Соответственно чем выше скорость, тем больше расстояние между точками. Однако реализация визуальной части у каждого может быть своя. Тут огромный простор для фантазии. Читаем из нашей базы и с помощью API формируем фигурами то, что хотим от точки до точки. Можно учитывать дороги, можно получать ближайший адрес (запрещено в бесплатном API в реальном времени, но может тут есть миллионеры, желающие купить платный доступ для бизнеса). Да хоть расход топлива рассчитывайте. Возможностей масса.
Описание самого API тут: https://tech.yandex.ru/maps/ По Гуглу есть аналогичное на гугле.
В заключении хочу сказать, что данный девайс полностью оправдал лично мои надежды, но тут раз на раз не приходится. Ссылку на продавца оставлю в комментариях. Прошу прощения за столь сжатый пост. Инфы действительно ОЧЕНЬ много и всё сюда вероятно не влезет, да и Лига Лени затягивает в свои сети.
На машине установлен GPS трэкер, решил посмотреть маршрут за последние несколько месяцев. вот что получилось.
Ну прям не все 24 часа в сутки, но большая часть передвижений присутствует.
прямые линии - это глюки были с прибором, успешно устранены около полу года назад
общего пробега по сути не так уж много, чуть больше 7000км
Те, кто помнит 90-е, хорошо знают игру в напёрстки. У ведущего есть три одинаковых напёрстка, под один из которых он прячет маленький шарик, после чего быстро перекатывает шарик между напёрстками или меняет напёрстки местами. Затем игроку предлагается угадать, под каким из напёрстков находится шарик. Обман построен на так называемой мнимой пассировке, при которой нам показывают одно (кажется, что манипулируемый предмет перешёл из руки в руку), а на самом деле делают другое (и в действительности шарик не там, где нам кажется).
Думаете, время пальмировок и пассировок прошло? Нет! Магия рядом с нами!
Всё сказанное дальше не жалоба и, чтобы она таковой не являлась (согласно правилам хабра), цитирования переписок с техподдержками не будет, только факты, цифры и скрины.
Также, возможно, статья не совсем в формате хабра, но думаю, что большинство его пользователей пользуются электронными обменниками, потому — поехали.
Дальше много изображений.
Давеча понадобилось мне купить NN-ю сумму в криптовалюте. Я точно знал сумму, которая мне требуется, поэтому, как обычно, отмониторив курсы на changeinfo.ru, выбрал обменник, которым пользуюсь не первый год. Вообще, приемлемые курсы были на первых 4-х и их всех мы и посмотрим:
Алгоритм со всеми одинаковый. На первой странице в окошке желаемой к покупке суммы вводим 0,04 BTC и нажимаем получит/купить.
exchanger1.com
Вводим сумму:
Магия ловко «съела» 25% суммы.
obmenka24.com
Вводим сумму:
Вводим сумму
obmenka.me
И мой любимый smartwm.biz (он же smartwm.ru)
Вводим 0,04:
Ну, согласитесь, часто ли вы проверяете сумму на каждом этапе платежа? Или рассчитав её на первой странице просто машинально щёлкаете на остальных?
Исследовав дальше выяснилось, что магия творится не только при нажатии на кнопку «поменять». Пример приведу только на последнем обменнике:
То есть:
курс покупки: 30706 за 1 BTC
за 1228 рублей нам предлагают купить 0,03 BTC
В то время как 30706*0,03=921.18
Магия снова «съела» 300 рублей.
Может, это просто глюк отображения?
Совершаем платёж в одном из обменников и действительно получаем меньше чем нам показали на первом этапе.
Может, это глюк расчётов? Спросим у техподдержки обменника. Может вернут разницу, скажут «спасибо» за найденный баг?
Не цитирую, но суть ответа «всё верно, перечислено именно столько сколько и обещали».
Апеллирую к системе мониторинга обменников, но обращение быстро исчезает из публичного просмотра.
Хотелось бы верить, что это просто случайность и сразу несколько обменников «поломались». Но когда обменники «ломаются» на этапе расчёта сумм, т.е. неверно работает именно тот функционал, который у них априори является основным, закрадываются недобрые мысли — напёрсточники вновь тебя поимели.
https://habrahabr.ru/post/282313/
P.S. Пост не рекламный. Это всего лишь мониторинг обменников и при обмене нужно ставить галочку в поле "Учитывать комиссию 6,13 RUR"
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.