Pull to refresh
0
0
Дмитрий @hdg_79

User

Send message

Пишем бота-кликера на Python для Lineage 2

Reading time7 min
Views164K


Предисловие


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


Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).


В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.

Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments76

Большой тест термосов. Личный опыт и тесты на себе

Reading time13 min
Views106K
Наступила зима и встал вопрос о том, как согреться. Кофе, чай или суп – то, что нужно, а сохранить это горячим поможет термос. И я был бы не я, если бы не стал тестировать термосы, представленные на российском рынке.

Так и родилась эта статья. Какой термос выбрать для автомобильных поездок, взять с собой в путешествие, поход на охоту, подарить другу-заядлому рыбаку, да и просто купить себе любимому, можно узнать под катом.

Если же лень читать, то можно пролистать до конца и посмотреть все то же самое, но в форме видеообзора.


Total votes 64: ↑50 and ↓14+36
Comments199

Самодельный светодиодный индикатор в slim факторе

Reading time4 min
Views18K

Зачем он нужен


Недавно я писал статью про самодельный bluetooth велокомпьютер. Было оживлённое обсуждение. Одним из предложений по модернизации, была идея добавить индикацию или жк экран. Идея мне понравилась. И я решил подумать как её воплотить в жизнь.


Так как велокомпьютеры уже были сделаны, корпус был практически весь занят, то вариант с жк экраном отпадал. Нужен был размер 40х30мм, с учетом всех шлейфов и проводов, и по толщине не больше 2-3мм. Также осталось немного свободных выводов. Различные светодиодные индикаторы (три цифры, шкала) не влезали. Тогда в голову и пришла очень хорошая мысль — сделать самодельный индикатор из SMD светодиодов. Взять тонкий односторонний текстолит, разместить на нём нужное количество светодиодов, в нужном порядке и получится отличный индикатор. Представив, что ко всем светодиодам нужно вести провода, я решил, что на плате поместится и дешёвый микроконтроллер, который будет сам управлять всеми светодиодами, а основной МК велокомпьютера будет управлять индикатором по одному проводу.


В итоге получился очень компактный (толщина всего 3мм) индикатор. Управление по одному проводу, и еще 2 на питание. Если у вас есть уже готовые приборы, или вы планируете сделать прибор, и нужен индикатор, то самодельный индикатор самый отличный вариант. Разберём подробнее как он работает.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments64

Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

Reading time5 min
Views28K
В интернетах не прекращается хайп вокруг чат-ботов (в частности, Telegram) благодаря шуму в СМИ, неоспоримых достоинствах платформы, политике продвижения, средствам разработки и т.д.

Смотришь новости: ну жизни нет без чат-ботов!
Да если их не будет, поезда с рельс сойдут, упадут самолеты, погибнут люди от тоски, когда не смогут найти картинки с котиками.

Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет-магазине через чат-бот?

Кто все эти люди, которые заказывают разработку ботов для своих магазинов?


Типичный чат-бот магазина Vasya Limited:
>> автоматизирует поток водопад заявок из 5 человек в день,
>> сливает 4 из 5 заявок, кровью добытых через Яндекс-Директ,
>> если повезет, человек найдет номер телефона и позвонит,
>> но, вероятней всего, «Эээ, куда жать?», а потом закроет и уйдет гуглить дальше.

Чем занят владелец, когда продажи «автоматизированы»:
>> вносит заказы в excel-таблицу
>> заполняет почтовые бланки на посылках
>> стоит в очереди на почте с кучей посылок (каждый день!)
>> вносит трек номера в excel-таблицу, затем рассылает клиентам

Может, хватит на ровном месте встраивать «технологии» туда, где действительно нужен человек, в то время как люди загружены рутиной для роботов?
Читать дальше →
Total votes 80: ↑73 and ↓7+66
Comments29

Как перетасовать песни?

Reading time4 min
Views14K
Мы здесь в Spotify серьёзно относимся к фидбеку от пользователей. Какое-то время назад мы заметили, что пользователи жалуются на то, что при включенном режиме случайного перемешивания плейлиста порядок песен на самом деле не случаен — например, несколько песен одного и того же исполнителя могут быть воспроизведены одна за другой, при том, что в плейлисте множество песен разных исполнителей. Пользователи спрашивали неужели мы не способны сделать такую простую вещь, как случайный порядок воспроизведения треков? Мы отвечали «Он правда-правда случаен! Мы проверяли!»

Так кто же был прав — мы или пользователи? Как оказалось — и мы, и они. Ну и вообще дело обстояло значительно серьёзнее, чем казалось на первый взгляд.

Наш точка зрения


Ещё в самом первом релизе нашего плеера в нём была функция случайного перемешивания плейлиста. Мы использовали для этого алгоритм Фишера-Йетса — и он давал идеально случайное перемешивание. Но что такое «идеально случайное»? Это значит, например, что мы можем получить один из двух нижеуказанных порядков песен с одинаковой вероятностью (разные цвета означают треки разных исполнителей):

image
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments52

Решаем проблему шума ПК самодельным устройством, а заодно «с нуля» учимся делать красивые корпуса для DIY-проектов

Reading time7 min
Views57K

Привет, Гиктаймс!

Собрать абсолютно бесшумный ПК — можно. Можно и купить. Но что делать, если к нему нужна профессональная или мощная игровая видеокарта с активным охлаждением? А может у Вас нет Windows/Linux медиаплеера, но есть лишний старый шумный ПК и помещение, куда его можно убрать? Или просто хочется минимализма на рабочем столе и вокруг него?

Итак, много статей и комментариев было посвящено выносу компьютера подальше от рабочего места — это ещё одна. В ней

а) будет описан процесс создания устройства, помогающего перенести кнопку включения ПК, индикатор питания и два независимых USB на расстояние до 10 метров с использованием стандартного Ethernet-кабеля;

б) будут даны общие рекомендации по проектированию DIY корпусных деталей, изготавливаемых из металла методом лазерной резки и гибки, фрезерованием, точением.

Суровые профессионалы найдут здесь много огрехов и недоработок, но… ЕСКДшные чертежи и teardrops у контактных площадок оставим для более интеллектуально-ёмких продуктов.
Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments153

Автоматный практикум — 1. Пример «Дисплей», разработка ОА и УА

Reading time28 min
Views6.4K
Тесты в предыдущей статье убедительно показали высокую эффективность «автоматной» реализации примера «Дисплей» по сравнению с условно названной «неавтоматной» версией. Вкратце итог: обе реализации автоматные, но разница в эффективности многократна и глубинная причина видится в том, что вариант А1 («автоматный») изначально проектировался как автомат, а вариант А2 («неавтоматный») нет. Не столько автоматная реализация, сколько автоматное проектирование является основой высокой эффективности. Для простых алгоритмов автоматные реализации получаются сами собой. Есть смысл говорить о том, что автоматное программирование, это не столько реализация программы в виде конечного автомата, сколько автоматное проектирование, фундаментом которого является конструктивная декомпозиция. Я несколько раз касался темы автоматного проектирования и конструктивной декомпозиции, но чтобы раскрыть эту тему нужны практические примеры. В этой и следующих нескольких статьях я проведу практикум, покажу процесс автоматного проектирования, пытаясь по возможности приводить ход рассуждений присущих автоматному проектированию.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments24

Как программно управлять WiFi маршрутизатором TP-Link с помощью Python requests

Reading time11 min
Views34K
Однажды передо мной встала задача реализации программного управления одним из распространенных домашних Wi-Fi маршрутизаторов TP-Link TL-WR841N, у которого, к сожалению, нет интерфейса управления через командную строку (telnet, SSH). Я хотел, чтобы мой Telegram бот, реализованный на Python на базе SBC в локальной домашней сети, на основе моих команд выполнял следующие функции управления маршрутизатором:

  • Перезагрузка маршрутизатора
  • Открытие/закрытие NAT Port Forwarding к внутренним WEB-сервисам
  • Открытие/закрытие удаленного доступа к маршрутизатору из WAN (интернет)
  • Определение устройств, зарегистрированных в локальной WiFi сети маршрутизатора
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments20

Программные кошельки для Bitcoin и безопасность

Reading time12 min
Views34K


Поговорим немного про кошельки в криптовалютах. Под “криптовалютой”, я, в первую очередь, буду иметь ввиду Bitcoin. В других криптовалютах дело обстоит похожим образом и если вас интересуют детали, то можете покопаться самостоятельно.

Несмотря на продолжающийся хайп вокруг криптовалют и блокчейн как технологии, на мой взгляд, очень мало кто говорит про безопасность этих решений. Все концентрируются на различных плюсах, которые дает технология блокчейн, обсуждают майнинг и скачки курсов криптовалют, в то время как именно безопасность является критически важной, особенно когда речь идет о деньгах или о распределенных реестрах собственности. Вся информация для статьи взята из открытых источников, таких как https://bitcoin.org, https://en.bitcoin.it/wiki, https://bitcointalk.org, https://github.com и других.

Ниже будет неглубокий обзор кошельков криптовалют и их безопасности. Чем больше я погружался в эту тему при написании статьи, тем больше удивлялся тому, что в мире происходит так мало взломов и увода средств у пользователей того же Bitcoin. Но обо всем по порядку.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments1

Ардуино головного мозга: импульсный датчик положения

Reading time6 min
Views50K

Задача на сегодня: как определить угол поворота инкрементального энкодера?


Сегодня в серии публикаций про ардуино головного мозга коротенькая статья с небольшим экспериментом и парой рецептов. В комментариях к одной из моих прошлых статей меня обвинили в том, что ардуиной подсчитывать импульсы энкодера — фу так делать:
Оптически энкодер 1000/оборот и ATMega не имеющая аппаратной схемы работы с энкодером (как у серий STM32, например) — это тупик.
Дальше в комментариях было много теоретизирования, которое лучше пропустить. Давайте лучше попробуем протестировать в железе, насколько это тупик. Для начала, что такое инкрементальный энкодер? Тот, кто помнит эпоху до-оптических мышек, ответ знает точно. Внутри энкодера есть диск с прорезями, вот для наглядности я сделал фотографию диска с пятьюстами прорезями:


Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments87

Дешево и красиво — Wi-fi камера Xiaomi Xiaofang

Reading time3 min
Views20K
Последнее время после использования девайсов Xiaomi все чаще остаются двойственные ощущения, так вышло и сейчас: с эстетической точки зрения — камера отличная, по характеристикам — претензий нет, всего хватает, но есть все-таки нюансы…


Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments12

Нейросеть выполняет 3D-реконструкцию лица по фотографии

Reading time3 min
Views15K

Некоторые результаты применения метода VRN — Guided на изображениях из набора AFLW2000-3D

В интернете есть ряд стартапов, в том числе российские, которые занимаются восстановлением 3D-структуры лица по фотографиям. Например, VisionLabs со своим приложением Face.DJ умеет выполнять 3D-реконструкцию по единственной фотографии. Такая трансформация (3D-моделирование по фото) имеет практический смысл. После создания модели появляется возможность, например, изменить причёску, примерить очки, отрастить бороду и т. д. Технология может использоваться в системах проверки и распознавания лиц.

Но теперь бизнес подобных стартапов под угрозой: их работу легко выполняет новая нейросеть VRN (Volumetric Regression Network), которую выложили в открытый доступ на GitHub. Прямо на сайт вы можете загрузить свою или любую другую фотографию — и нейросеть осуществит преобразование в онлайне за несколько секунд (демо).
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments10

Децентрализованные электронные валюты — когда придут в обычную жизнь?

Reading time11 min
Views8.3K
В настоящее время в финансовой, банковской, юридической, и многих других сферах деятельности назревает настоящая революция, которая вызвана появлением ДЭВ (децентрализованных электронных валют) и программисты, её пропустившие, могут потерять очень интересную и прибыльную нишу, в которой закрепятся первопроходцы.

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

Как оказалось, чтобы сделать качественный справочник, нужна уйма времени. Поэтому решено выпустить первую версию статьи, а потом несколько раз её переписать, добавить в обзор множество других ДЭВ, объективно их сравнить по многим параметрам (с помощью таблиц, графиков), без маркетинга и восторженных рекламных заявлений. Чем больший интерес проявят люди к этой статье, тем более полный и качественный справочник получится.

Также автор планирует написать продолжение, в котором предложит модель ДЭВ, использующий принцип, отличный от ProofOfWork и ProofOfState. И эту статью можно рассматривать как подводящую ко второй статье.
Читать дальше →
Total votes 23: ↑16 and ↓7+9
Comments110

Robo(Mini) sumo, что это и с чем его едят?

Reading time7 min
Views16K
Привет, Geektimes!

image

Вступление


Мы давно все знаем о том, что роботы это наше будущее. Существует очень много направлений робототехники. Военные разработки, социальные, развлекательные и просто рабочие роботы.
Но в этот раз я хочу поведать от лица команды Колледжа при МИРЭА о соревновательной составляющей, а в точности про роботов сумоистов.

Немного о нашей команде


Существуем мы с 2014 года. Победители и призеры большинства соревнований Робофинист, Робофест, Спартакиады МФТИ и более мелких турниров, а также являемся абсолютными чемпионами России на 2016-2017 год в номинации мини-сумо.

Кто такие вообще эти роботы сумоисты?


Изначально, когда мы только узнали о таких соревнованиях, сумоистов делали преимущественно из лего. Но это довольно плохая идея, об этом далее.
Полный текст под катом
Total votes 15: ↑15 and ↓0+15
Comments38

Перестаньте травить печатные платы дома — заказывайте их на производстве

Reading time3 min
Views99K
В последней своей статье про Домофон с MQTT я проводил опрос на тему того, какую статью написать следующей. Выбор пал на заказ производства печатных плат, вот собственно немного расскажу об этом. Если статья зайдет, напишу по следующей теме из голосовалки.

Я ни в коем разе не принуждаю сразу выливать ваше хлорное железо / перекись водорода, оставьте их для макетирования. Я лишь хочу показать, что заказать платы на производстве в наше время совсем не сложно, как может показаться начинающему радиолюбителю. Есть в этом что-то магическое — подержать в руках красивую плату собственного изготовления.
Читать дальше →
Total votes 69: ↑65 and ↓4+61
Comments381

Блокчейн вместо нотариального заверения

Reading time1 min
Views10K


Известны способы подтверждения авторства изобретения до того, как автор раскроет его патентному поверенному, регистрирующему органу или другим лицам:

  1. Отправить самому себе заказное письмо. В конверте будет описание изобретения, а на конверте отметка почтовой службы с датой отправки.
  2. Заверить копию описания изобретения у нотариуса.

В этих случаях автор сможет подтвердить приоритет принадлежащей ему идеи. Однако оба способа отнимут у вас несколько часов времени. Это не рационально в век цифровых технологий. Есть более простое решение: использовать вместо нотариуса блокчейн.
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments14

Прототипирование в среде Python-Arduino

Reading time5 min
Views24K
Привет, Хабр! Хочу на примерах рассказать о самом простом способе создания чего то сложного. Суть страшного слова «прототипирование» сводится к использованию аналогий или шаблонов в проекте Arduino.

Не хочу пугать длинными словами начинающих пользователей Python-Arduino, по-этому идем сразу по примерам.

Зуммер — генерирует звуковой сигнал тревоги


Зумер [1]. выдает звук, когда снабжен цифровым значением HIGH (то есть, +5 В), которое может быть обеспечено с помощью цифровых выводов Arduino [2].

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

Соединения




Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments2

Обзор online-курса по ардуино/робототехнике от МФТИ (третья неделя)

Reading time5 min
Views9K

Мы продолжаем обзор бесплатного online-курса Строим роботов и другие устройства на Arduino. От светофора до 3D-принтера (предыдущие обзоры: неделя 1, неделя 2)


Третья неделя


Всем привет! Задумывались ли вы когда-нибудь, что может быть общего между Валли и шлагбаумом?



Как минимум, они оба являются роботами.


До того, как я записался на курс робототехники от МФТИ я представлял себе роботов почти исключительно как


человекоподобных машин

Но оказалось, что определение роботов гораздо шире:


Робот – автоматическое устройство, созданное по принципу живого организма, предназначенное для осуществления производственных и других операций, которое действует по заранее заложенной программе и получает информацию о внешнем мире от датчиков, робот самостоятельно осуществляет производственные и иные операции, обычно выполняемые человеком. При этом робот может как иметь связь с оператором (получать от него команды), так и действовать автономно.

Как видим, определение гораздо шире, чем мое стереотипное представление о том, что такое робот.


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


Что получилось по результату третьей недели
Total votes 10: ↑9 and ↓1+8
Comments0

Еще один беспроводной датчик температуры и влажности. Z-Wave плата Z-Uno + Sensirion SHT20

Reading time5 min
Views18K
Как положено порядочному гигу у меня есть метеостанция, которую я собрал сам из DHT22, Raspberry Pi и экранчика Nokia, это решение на постоянном питании, передающее данные по Ethernet.

Но теперь мне понадобилась мобильная метеостанция на балкон беспроводная и на батарейках.
В качестве радио модуля я использовал Z-Wave плату Z-Uno, в качестве датчика температуры и влажности решил попробовать Sensirion SHT20 работающий по I2C.



Материалы и цены:
Материал Магазин Цена
1 Z-Wave плата Z-Uno 5smart.ru 3500 р
2 Датчик Sensirion SHT20 voltmaster.ru 72 р
3 Корпус Gainta G517B voltmaster.ru 160 р
4 Батарейный отсек BH421 2xAAA voltmaster.ru 14 р

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments79

SportIduino — система электронной отметки на Arduino для спортивного ориентирования

Reading time5 min
Views21K


Выбраться на природу всегда замечательно, но с картой в руках и с осознанной целью всегда интересней. Существуют такие виды активного отдыха, как ориентирование, рогейны, мультигонки, участвуя в которых можно хорошо провести время. Задача ориентировщика заключается в том, чтобы за минимальное время посетить обозначенные на карте контрольные пункты (КП). Для того, чтобы доказать факт их посещения, используются как т.н. «традиционные» системы отметки: цветные карандаши, кодовые символы, компостеры и т.д., так и электронные системы. Несмотря на удобство последних, в любительских соревнованиях по-прежнему широко используются традиционные способы. Связано это со стоимостью оборудования (от 3500 рублей за станцию отметки и от 450 рублей за один чип), с возможностью кражи станций, установленных в общедоступных местах, необходимостью брать залог за чип. Поэтому я поставил себе цель создать более доступную альтернативу. Ниже описана её реализация в среде Arduino.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments58
1
23 ...

Information

Rating
Does not participate
Location
Киров (Кировская обл.), Кировская обл., Россия
Registered
Activity