Pull to refresh
4
0
Влад @ru_vlad

Пользователь

Send message

Wi-Fi термометр на ESP8266 + DS18B20 всего за 4$

Reading time3 min
Views313K


В последнее время всё большую популярность набирают Wi-Fi модули на основе ESP8266. Я тоже решил приобщиться к прекрасному, задумав реализовать термометр, отдающий данные по HTTP. Итак, поехали.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments74

Умный дом или игрушка для мужчин: контроль температур

Reading time6 min
Views40K
Хотел продолжить цикл статей про умный дом выбором системы отопления, т.к. впереди зима, и опрос в одной из предыдущих моих статей показал, что 32% читателей интересна эта тема. Но, подготовив статью, задумался, что сначала нужно договориться о базовых вещах, таких как контроль температур, как он устроен, с какой точностью и скоростью его следует вести, а также контроль электричества и зачем он нужен.

Контроль температур в загородном доме точно нужен тем, кто часто приезжает туда по выходным и праздникам. Также тем, кто не опускает там температуру ниже +5°C. А нужен ли он тем, кто постоянно там проживает или тем, у кого есть возможность поддержания там температуры в районе +20°C?

На вопрос, нужен ли вам умный дом, часто получаешь ответ: у меня котел, температура постоянная, живу в доме постоянно, зачем мне умный дом?

И правда, думаешь, зачем ему еще что-то? Но в глубине сознания гложет мысль, что не может котел с теплыми полами и/или радиаторами дать постоянную температуру в доме из-за высокой инерции. Но ведь человек же говорит, что температура постоянная и нет оснований не доверять ему. Ведь он смотрит на метеостанцию, по его словам. Как тут не поверить?



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

Начинаем изучать STM32 или Управляем светом по-умному

Reading time8 min
Views240K

Небольшое вступление


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

Именно с идеи создания собственного пультика для управления светом в комнате и началось моё увлечение электроникой, микроконтроллерами и различными радиоустройствами.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments203

LibGDX. Практические вопросы и ответы

Reading time7 min
Views11K
imageПривет Хабр!

Закончился конкурс от ВКонтакте и мой 2-х недельный марафон в интернете по поиску нужной информации. Хочу поделится небольшим опытом работы с графическим движком LibGDX. В интернете полно примеров, но большинство далеки от практики (нарисованный спрайт это далеко еще не игра) или уже устарели.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments7

Как написать отличную научную статью по CS

Reading time9 min
Views11K
Здравствуйте!

Недавно я наткнулся на запись очень интересного выступления Саймона Пейтона-Джонса(ведущий разработчик языка Haskell) в Microsoft Research Cambridge. В нём он рассказывает студентам, как проводить научные исследования и писать статьи по Computer Science. Его мысли мне показались очень интересными, причем применимыми не только для области CS.



Исследователей, аспирантов, студентов, и в целом людей, которые пишут статьи в научные журналы или которым это скоро предстоит прошу под кат где вы сможете найти мою русскую адаптацию его выступления.
Поможем Даше написать статью
Total votes 19: ↑16 and ↓3+13
Comments3

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

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

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

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


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

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

Соединения




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

С чего начать молодым разработчикам мобильных игр из России [Часть 3]

Reading time4 min
Views9.3K

Всем доброго!


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



Ранние публикации можно прочитать тут:

Часть 1
Часть 2

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

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

С этим были связаны основные проблемы. Чтобы их нивелировать мы вывели несколько основных правил (многие из них освещались и не раз, но возможно для кого-то они станут новостью):

1) Коммит в репозитории делается после каждого плюс – минус значительного изменения;
2) Тестирование на «живых» устройствах проводится не менее трех раз в день, чтобы в случае чего можно было безболезненно откатить изменения;
3) Разработка ведется небольшими итерациями и продолжается только после полного теста небольшого кусочка;
4) Оптимизация – наше всё;
5) Билд для внешних тестировщиков не заливается раньше, чем выполнен внутренний полный тест и не убраны «жесткие баги»;
6) Глобальное обновление ни в коем случае не должно выходить перед праздниками и выходными.
7) Чем больше внешних тестировщиков – тем лучше;

Пойдем по пунктам:
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments18

Cоздатели «Вконтакте» и Telegram подали иск на 100 млн рублей на экс-сотрудника за разглашение конфиденциальных данных

Reading time6 min
Views54K

Павел Дуров

Вчера Антон Розенберг, который говорит о себе, как о бывшем заместителе технического директора «Вконтакте» и экс-директоре особых направлений в Telegram, рассказал о крупном конфликте с Павлом и Николаем Дуровыми. По словам Розенберга, братья уволили его из Telegram, а теперь пытаются взыскать с него 100 миллионов рублей якобы за разглашение коммерческой тайны.

Розенберг предоставляет большое количество фактического материала о своей работе в обеих компаниях — как в качестве одного из руководителей социальной сети, так и в качестве топ-менеджера Telegram. Оригинал истории, размещенный на известном ресурсе Medium, изобилует огромным количеством деталей биографии Розенберга, с самого детства и до текущего момента. На Geektimes публикуется сокращенная версия развития событий, без совсем уж личных моментов, но с указанием упомянутых в оригинальном посте подробностей работы Розенберга.
Total votes 83: ↑75 and ↓8+67
Comments263

Постъядерный караван в 35 килобайт

Reading time12 min
Views21K
35 килобайт минифицированного кода на обычном JavaScript, семь городов, пустоши, радиоактивные гекконы, съедобные кактусы, встречные караваны и бандиты. Что это? Это небольшая игра, которая запускается в браузере. Ее принципы довольно просты для повторения и в самой примитивной версии ее можно воссоздать, наверное, на любом устройстве, если там есть устройство вывода и генератор случайных чисел. Но сегодня я хочу рассказать, как я реализовал ее для современных браузеров.

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

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

Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments76

Генерация родословного дерева на основе данных Wikipedia

Reading time22 min
Views6.4K
В этой статье я хочу показать, как с помощью фреймворка Selenium Webdriver можно, исходя из данных Wikipedia, составить генеалогическое древо заданной персоны (например, легендарного основателя первой династии русских правителей Рюрика).

В статье будет рассказано, как определить имя персоны, вычислить ссылки на страницы детей персоны, а также будет построен алгоритм генерации генеалогического древа.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments8

ЛУТ на виниле или домашняя Arduino Mini

Reading time4 min
Views227K
Здравствуйте, изначально статья задумывалась как обзор плоттерного винила Oracal 651 в качестве замены фотобумаги для переноса тонера. Однако, в качестве примера я выбрал самодельную версию Arduino Mini (ATMega8) и решил довести статью до логического завершения.



Винил выгодно отличается от фотобумаги и разного рода подложек — процесс изготовления платы становится менее трудоемким и более экономичным, о самом ЛУТ можно почитать здесь.
Внимание, много фотографий!
Total votes 112: ↑109 and ↓3+106
Comments82

Метеостанция (Arduino pro mini, BME280, LCD1602)

Reading time4 min
Views59K
Введение

Что можно вывести на двухстрочный экран, кроме «Hello world!»? Почему бы не отображать температуру влажность и давление?

Датчики предлагаемые как учебное пособие к arduino (DHT11, DHT22) показывают температуру и влажность воздуха. В учебных целях (для университета) понадобилось наблюдать так же и за давлением. Естественно на кафедре есть барометр, но почему бы не собрать свой? К тому же можно в дальнейшем накапливать показания в автоматическом режиме, и это неплохой опыт в изучении arduino.

Так или иначе из Китая были заказаны комплектующие и собрано данное устройство.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments35

Выращивание искусственного интеллекта на примере простой игры

Reading time4 min
Views37K


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

Результатом работы стало то, что ИИ, не зная правил, самостоятельно освоил игру крестики-нолики и нашел слабости ботов, которые играли против него. Но начал я с еще более простой задачи.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments30

Мои 5 копеек про Highload Cup 2017 или история 9го места

Reading time12 min
Views14K
Про Higload Cup уже было несколько статей, поэтому о том, что это было писать не буду, кто пропустил можете почитать в «История 13 места на Highload Cup 2017».

Так же постараюсь не повторяться и поделюсь интересными, с моей точки зрения, решениями. Под катом:

  1. Немного про структуру данных
  2. Парсинг JSON'а на define'ах
  3. URI unescape
  4. UTF decode
  5. HTTP Server
  6. Тюнинг сети

и много кода.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments19

Qook: Портировать старую игрушку на Android и поделиться ей с миром

Reading time24 min
Views22K
КДПВ

На самом деле, я очень люблю логические игрушки. Не, «три в ряд», «найди похожий» и прочие «покорми собачку» меня мало интересуют. А вот по-настоящему сложная штуковина может спокойно утянуть на пару недель. Примерно так и случилось со мной в 2004-м году, когда ко мне в руки попал новенький мобильник от Sony. Способность этого T68I отлично звонить, показывать цветные картинки и, по слухам, даже отсылать свои контакты по BT прошли мимо меня незамеченными. А вот Q – нет. И сколько часов я просидел за маленьким дисплеем, судорожно гоняя шарики туда-сюда я уже и не помню. Зато, прекрасно помню, что, идея написать порт этой игры для какой-нибудь из современных платформ меня не отпускала со времен своего самого первого Hello World. Правда, все мои попытки склепать хоть какой-то игровой движок в те старые-добрые времена разбивались о… в общем обо что-то они разбивались. Зато теперь я давно и прочно пишу на Java, а с некоторых (совсем недавних) пор еще и для Android, так что идея порта игрушки наконец-то нашла возможность быть реализованной. Хотите посмотреть, что оно есть и как оно получилось? Тогда – под кат.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments25

COOLRF WF1: Умный термостат теплого пола

Reading time4 min
Views24K


Прошлой осенью, во время капремонта кухни и коридора, я первый раз столкнулся с электрическим теплым полом. У меня появилось три сегмента теплого пола, а в стенах — три термостата. Керамогранит на полу приятно потеплел, а ежемесячный счет за электричество заметно подрос. Мечта про теплый пол трансформировалась в мечту про умный термостат. Под катом описание девайса, который получился в итоге.
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments120

Охота на кремлевского демона

Reading time4 min
Views70K

image


Нельзя сказать, что я не искал с этим демоном встречи. Я дождался пока он вылезет и выследил его логово. Поиграл с ним немного. Потом демон исчез, как обычно, по расписанию — в 9.00. Я успокоился и занялся своими бытовыми делами.


Дело было в том, что у нас в Питере не найти в книжных магазинах рабочую тетрадь по английскому языку "Планета знаний" 3 класс. Ну как в Союзе было, дефицит. И мне жена дала задание — зайти в книжные в Москве. Дескать, в столице все есть, тетки на форуме оттуда заказывают, платят 500 рублей за доставку, а ты, пользуясь случаем, купишь сам и сэкономишь для семьи. Хоть какой-то толк от неудачника будет. Я включаю Гугль-карту, задаю фразу "книжные магазины" и не понимаю. Ни Красной площади, ни реки, какие-то непонятные улицы.


Черт! Он вылез опять! Я ведь еще успел только до Варварки дойти.


И, повинуясь зову природы, я расчехлил опять свое оружье.

Читать дальше →
Total votes 98: ↑85 and ↓13+72
Comments267

Программирование и обмен данными с «ARDUINO» по WI-FI посредством ESP8266 Часть Первая

Reading time23 min
Views76K
Как и многие другие самоделкины, я регулярно использую микроконтроллеры AVR для всяких разных любительских поделок. А благодаря концепции «Arduino» эти поделки теперь приобретают еще и элегантный вид. Действительно, за какие-то 300-400 рублей мы получаем миниатюрную многослойную плату с маской, шелкографией и с полностью разведенной на ней периферией для микроконтроллера (причем в SMD исполнении!). Я уже не говорю о всевозможных подключаемых модулях этой же «Arduino» серии: датчиках, контролерах, дисплеях и целых наборов, так нужной нам дополнительной периферии. И опять же всё также недорогих и в прекрасном исполнении. Практически уже нет необходимости, что-то разводить и допаивать на «коленке».­­­­­­­­­


Но все эти разнообразные любительские поделки, требуют естественно, предварительного программирования. Да и в последующем при разных усовершенствованиях, постоянно приходится эти поделки перепрошивать. Понятное дело, что удобнее делать это дистанционно, чем постоянно таскать их к обычному программатору. Вообще, благодаря той же платформе «Arduino», вариантов и здесь много: Bluetooth, ZigBee, радиоканал с вашим личным протоколом, IR, и даже Wi-Fi. Все они позволяют наладить беспроводной контакт с вашим микроконтроллером. Но мы же остановимся на последнем варианте. Основных причин здесь четыре:

1: современно, интернет вещей же!

2: беспроводной роутер есть в каждой квартире, регистрируй в домашней сети свои устройства и вуаля!

3: ваши поделки осуществляют революционный скачок в своём развитии; мало того, что их можно программировать на расстоянии, они теперь ещё и сами могут общаться с окружающим их миром: электронные часы самостоятельно берут точное время с часовых NTP-серверов, исполнительные устройства управляются с другого конца города или страны, регистрирующие девайсы сохраняют накопленные данные в облако и т.д. и т.п.

4: есть замечательная серия микросхем ESP8266 на которой не очень легко всё это реализовать.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments73

Spring: ваш следующий Java микрофреймворк

Reading time6 min
Views56K

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

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments42

Структуры данных в картинках. ArrayList

Reading time3 min
Views883K
Приветствую вас, хабралюди!

Взбрело мне в голову написать несколько статей, о том как реализованы некоторые структуры данных в Java. Надеюсь, статьи будут полезны визуалам (картинки наше всё), начинающим java-визуалам а также тем кто уже умеет писать new ArrayList(), но слабо представляет что же происходит внутри.



Сегодня поговорим о ArrayList-ах

ArrayList — реализует интерфейс List. Как известно, в Java массивы имеют фиксированную длину, и после того как массив создан, он не может расти или уменьшаться. ArrayList может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта. Элементы ArrayList могут быть абсолютно любых типов в том числе и null.

Поверить на слово
Total votes 89: ↑82 and ↓7+75
Comments66

Information

Rating
4,501-st
Location
Апатиты, Мурманская обл., Россия
Registered
Activity