• Допиливание MR3020, пересборка его ядра и конфигурирование инструментария разработчика

      Добрый день, уважаемые хабровчане. Так как в последнее время в DIY-проектах стал набирать популярность китайский роутер фирмы TP-Link TL-MR3020 (или его аппаратный аналог для китайского рынка TL-WR703N), я решил написать статью по вариантам его допиливания и конфигурирования для своих проектов, тем более что по работе я развлекался с ним последние несколько месяцев. В статье я постараюсь рассмотреть аспекты, которые не охватывают в большинстве статей для начинающих – а именно – практические примеры по пересборке его прошивки и конфигурировании для себя удобного инструментария разработчика.
      Читать дальше →
    • Поднимает телефонию с нуля: Asterisk, FreePBX, GSM-шлюз на Huawei E173 в Debian



      Сначала маленькая предыстория. Не так давно наша фирма практически лишилась городской связи, один телефонный оператор, что-то не поделил с другим и в результате между ними перестали проходить звонки. Было принято решение, раз уж так произошло полностью отказаться от обычной телефонной связи и полностью перейти на ip-телефонию.
      Постановка задачи:
      1) Организовать телефонную связь;
      2) Запись разговоров;
      3) Очередь звонков;
      4) Голосовое меню;
      5) GSM-шлюз, так-как должны обрабатываться и звонки с мобильных операторов.
      6) Минимальная стоимость решения, так как ситуация форс-мажорная и бюджет выделен не был.

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

        В этом материале я постараюсь рассказать, каким образом можно с телефона или планшета на iOS и Android удалённо управлять вашим самодельным устройством подключенным к сети. Любой, хоть сколь-нибудь знакомый с темой, к этому моменту уже решил, что речь пойдёт об очередном веб-интрефейсе к вашим Arduino и mbed’ам — спешу перебить ваши мысли — не пойдёт. Способ, о котором я хочу рассказать, быстр, дёшев, имеет готовую обратную связь, удобные контролы и обладает наглядностью, которой позавидует самый вылизанный веб-интерфейс.



        Чтобы материал не показался оторванным от реальной жизни, я покажу, как мы 4 месяца назад проделали этот фокус с нашим Лайтпаком. Эта ситуация немного отличается от сферического сценария применения протокола Open Sound Control (дальше OSC) в вакууме, но тем не менее, является хорошим примером того, как он может быть эффективно использован в быстром прототипировании.
        Итак, задача...
        • +41
        • 12.5k
        • 7
      • Памятка пользователям ssh

          abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

          Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

          Оглавление:
          • управление ключами
          • копирование файлов через ssh
          • Проброс потоков ввода/вывода
          • Монтирование удалённой FS через ssh
          • Удалённое исполнение кода
          • Алиасы и опции для подключений в .ssh/config
          • Опции по-умолчанию
          • Проброс X-сервера
          • ssh в качестве socks-proxy
          • Проброс портов — прямой и обратный
          • Реверс-сокс-прокси
          • туннелирование L2/L3 трафика
          • Проброс агента авторизации
          • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
          Читать дальше →
        • Как из китайского роутера сделать управляемую розетку, или ещё один проект для умного дома и офиса

            Последнее время на Хабре всё больше статей на тему «Умный Дом», «Сделай Сам», и меня это радует. Внесу и я свой скромный вклад в развитие цивилизации. Добро пожаловать в мир умных вещей!

            Читать дальше →
          • Пользовательские атрибуты в Python

            Вы когда нибудь задумывались о том, что происходит, когда вы ставите точку в python? Что скрывает за собой символ str(“\u002E”)? Какие тайны он хранит? Если без мистики, вы знаете как происходит поиск и установка значений пользовательских атрибутов в python? Хотели бы узнать? Тогда… добро пожаловать!
            Читать дальше →
          • Модуль Bluetooth HC-04 на чипе BC417143B компании CSR

              Компания CSR (Cambridge Silicon Radio) выпускает специальные чипы для устройств BlueTooth. Чипы судя по всему довольно недорогие, потому что господа китайцы предлагают миниатюрные (размером несколько больше симкарты) платки Bluetooth HC-04 на основе чипа BC417143B (семейство BlueCore4, см. [1]), которые в России можно купить всего лишь за 6.6 доллара (через dealextreme.com, см. [2] и [3]).

              image

              По умолчанию в память FLASH платки HC-04 записано ПО, которое позволяет связать по радио Bluetooth любой наладонник (или телефон, ноутбук и т. п.) со встраиваемой системой на основе микроконтроллера (робот, плата Arduino, любое устройство на микроконтроллере, имеющее TTL-порт UART RS-232). С помощью пакета CSR CASIRA BLUELAB SDK (в котором есть рабочие примеры программ Bluetooth) можно самому перепрограммировать модуль HC-04 и создавать свои собственные устройства Bluetooth. Программатор и полноценный аппаратный отладчик для модуля можно легко сделать самому, подключается к компьютеру он через порт LPT (см. [4]). В предлагаемой статье краткое описание инструментария разработки для чипов семейства BlueCore компании CSR, которое можно использовать для быстрого начала написания своих программ для модуля HC-04.
              Читать дальше →
            • OpenStreetMap в помощь велосипедистам

                Вступление


                Представьте, что сейчас лето, солнце светит, у вас отпуск, и вы с друзьями — заядлые велосипедисты. Возникает мысль о велосипедном походе куда-нибудь далеко. В этой статье я расскажу о том, как OpenStreetMap-технологии и некоторые другие сервисы упрощают жизнь в такой ситуации, решают проблемы планирования и позволяют быстро и просто поделиться впечатлениями. Упор делается на online, я упоминаю ресурсы:
                Читать дальше →
              • Nmap — руководство для начинающих

                Многие слышали и пользовались замечательной утилитой nmap. Ее любят и системные администраторы, и взломщики. Даже Голливуд знает про нее — в фильме «Матрица» при взломе используется nmap.
                Читать дальше →
              • Прямой московский номер в Skype

                • Tutorial


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

                UPD: Данный способ уже не актуален, всё можно сделать проще habrahabr.ru/blogs/skype/130299/#comment_4599646

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

                Для этого будут использованы два sip-провайдера и собственный сервер asterisk для коммутации.
                Читать дальше →
              • Python-неизвестный

                  На Хабре уже есть несколько статей\переводов, в которых рассказывается о неизвестных фичах\тонкостях\возможностях Пайтона. Я буду пытаться не повторять их, а дополнять, но если уж так случилось, что вы это уже где-то видели — не огорчайтесь. Я уверен, что найдется что-то интересное и для вас.
                  Читать дальше →
                • Выбираем мультиплатформенный движок для разработки мобильных игр (часть 2)

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

                    Первую часть читаем здесь: Выбираем мультиплатформенный движок для разработки мобильных игр (часть 1)

                    В этот раз вводную часть опустим и сразу перейдем к нашим пациентам.
                    Читать дальше →
                  • Three.js — 3D в браузере своими руками или WebGL становится ближе

                    Тема про three.js от mrdoob в свое время проскакивала на хабре, но детально еще не рассматривалась. В этой и(возможно) последующих статьях я постараюсь исправить это упущение. К сожалению, three.js не предоставляет никакой внятной документации, поэтому все знания по нему получены экспериментальным путем и ковырянием спеки WebGL, т.е. любые дополнения автору топика только приветствуются.

                    В этой статье мы создадим простенькое приложение, которое продемонстрирует базовые возможности этого движка, поработаем с камерой, светом и тенью, а также научим наши объекты перемещаться. В конце статьи ссылка на файлы демки и скриншот. Итак, к делу!
                    Читать дальше →
                  • Вышел Voyage Linux 0.7.5

                      Поискал по Хабру, про Voyage ни слуху ни духу. А сегодня как раз вышел очередной релиз этого очень интересного дистрибутива на основе Debian для embedded систем.

                      Версия 0.7.5 основана на ядре 2.6.38 и Debian 6.0.2 «Squeeze».

                      Следующая планируемая версия 0.8, в которую войдет ядро 3.0.x, и Voyage станет одним из первых дистров на этом ядре.

                      Voyage заточен на работу на следующих платформах: PC Engines ALIX/WRAP, Soekris 45xx/48xx и Atom, а также виртуальные машины.

                      Отличается Voyage низкими требованиями к ресурсам. Для типичной инсталляции требуется всего 128MB дискового пространства. А вообще фишка Voyage в том, что он использует unioinfs и монтирует всю систему на read-only, таким образом, система на флешке не запиливается.

                      Обычно на Voyage делают брэндмауэр, беспроводную точку доступа, IP АТС на базе Asterisk, музыкальный проигрыватель, или сетевое хранилище. Лично у меня Voyage работает на ALIX board с тремя ethernet портами и WiFi картой, является точкой доступа в Internet для офиса (eth0), при этом подключено два провайдера (eth1 & eth2) по PPPoE, один для данных, другой для IP телефонии. Voyage раздает WiFi, и к нему подключены офисный IP телефоны (установлен Asterisk). Покупалось это все тут, но дистрибутив Askozia был снесен и установлен Voyage.

                      Выглядит коробочка так:
                      image

                      Далее…
                      Читать дальше →
                    • Реклама для вашего Android приложения

                        Реклама реклама или как заработать на вашем приложении


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

                        Ну что ж поехали.
                        Читать дальше →
                      • Заставим клавишу Switch Display на ноутбуке работать по-своему!

                          Вам нравится как работает gnome-display-properties (это тот, который «Система -> Параметры -> Мониторы») и клавиша переключения монитора на ноутбуке? Да? Тогда можете проходить мимо, топик не для вас :)

                          Самое большое неудобство этого аплета — невозможность вручную настроить порядок переключения режимов: current configuration -> mirror -> extended desktop -> laptop only -> external only -> и снова current configuration. Не слишком удобно, не правда ли?.. Вот эту задачу мы и будем решать.

                          Задача


                          — заставить клавишу Switch Display переключать всего два режима:
                          1) экран ноутбука включен, внешний монитор отключен
                          2) экран ноутбука отключен, внешний монитор включен
                          — сделать так, чтобы ноутбук не уходил в режим ожидания по захлопыванию крышки, если включен внешний экран
                          Читать дальше →
                        • Это должен знать каждый

                            Спрос на Android-разработчиков весьма велик сейчас. Я решил подготовить список того, что нужно знать каждому разработчику под эту платформу. Это не только то, что вас могут спросить на собседовании, а весь спектр знаний, который скорее всего пригодится в работе. Бонусом идет пара интерсных вопросов про платформу.
                            Читать дальше →
                          • Отслеживание установок приложений

                              В официальной Google-группе, посвященной Android'у, время от времени появляются жалобы разработчиков о том, что трудно найти уникальные, надежные и стабильные идентификаторы для Android-устройств.
                              В блоге android-developers был опубликован небольшой топик, посвященный тому, как отслеживать индивидуальные установки приложений. Думаю, кому-то это будет полезно.
                              Читать дальше →
                              • +34
                              • 13.4k
                              • 6
                            • «Правильный» html парсинг

                                Логотип

                                Первый раз я запустил Eclipse еще весной, почитал книжки на английском, поставил SDK, немного поигрался и забросил. В начале зимы я купил себе первый смартфон на базе Android, но вновь вернутся к разработке меня подтолкнул недавний пост, в котором говорилось, что можно обойтись и знанием C#, с которым в отличии от Java я знаком. Мне было достаточно одного вечера, чтобы понять, что за связку Visual Studio и Monodroid я больше не сяду, позже я прочитал этот пост, где полностью согласился с автором.

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

                                Большинство разработчиков, получают html код страницы и перегоняют его в xml, что является неправильным подходом, так как html является «правильным» xml не всегда, вроде на хабре писали, что для браузера не обязателен тег html (современный браузер и без него должен отобразить страницу) или просто будут ошибки, тогда на помощь приходят библиотеки. Из них я выбрал HtmlCleaner.

                                Под катом я расскажу, как подключить эту библиотеку, а также напишем простой парсер stackoverflow.com.
                                Читать дальше →
                              • Простой пример выполнения HTTP-запроса к web-сервису и разбор XML-ответа

                                  Привет всем хабровчанам!

                                  Сразу хочу сказать, что, хотя тема не «Hello world», но рассматриваемая задача довольно проста и приведена здесь на Хабре скорее в качестве средства экономии времени для разработчиков, которым, возможно, надо будет поработать с XML-ответами от web-сервисов. Для XML-разбора я использовал DOMparser (я знаю и про SAXParser, конечно) как это привычно для меня в PHP.

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

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