Как стать автором
Обновить
10
0
Роман @r_o_m_k_a

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

Отправить сообщение

Ускоряем OpenVPN за $9.99* или встраиваем Orange Pi One в роутер

Время на прочтение7 мин
Количество просмотров47K
image

Некоторые из нас не пользуются интернетом без VPN по тем или иным причинам: кому-то нужен выделенный IP, и проще и дешевле купить VPS с двумя IP, чем покупать адрес у провайдера, кто-то хочет получать доступ ко всем веб-сайтам, а не только разрешенным на территории РФ, третьим нужен IPv6, а провайдер его не предоставляет…
Чаще всего VPN-соединение устанавливают на самом устройстве, которое используется в определенный момент, что вполне оправданно, если у вас только один компьютер и один телефон, и вы их редко используете одновременно. Если же в вашей домашней сети множество устройств, или, например, есть такие, на которых VPN настроить нельзя, было бы удобнее поднимать туннель прямо на домашнем роутере, чтобы не задумываться о настройке каждого устройства по отдельности.

Если вы хоть раз устанавливали OpenVPN на свой маршрутизатор, вы, вероятно, были неприятно удивлены скоростью его работы. SoC'и даже дешевых роутеров без особых проблем пропускают через себя окологигабитный трафик, за счет выноса функций маршрутизации и NAT на отдельный чип, предназначенный исключительно для выполнения этой задачи, а основные процессоры таких роутеров довольно слабы, т.к. нагрузки на них практически никакой нет. Такой компромисс позволяет достигнуть высокой скорости работы роутера и заметно снизить цену готового устройства — маршрутизаторы с мощными процессорами стоят в несколько раз дороже, и позиционируются уже не только как коробка для раздачи интернета, но и в качестве NAS, торрентокачалки и домашней мультимедиа-системы.

Мой роутер, TP-Link TL-WDR4300, нельзя назвать новым — модель появилась в середине 2012 года, и обладает 560 МГц-процессором архитектуры MIPS32 74Kc, мощности которого хватает лишь на 20-23 Мб/с шифрованного трафика через OpenVPN, что по меркам скорости современного домашнего интернета совсем немного.
Как бы нам повысить скорость шифрованного туннеля? Мой роутер довольно функциональный, поддерживает 3x3 MIMO, да и вообще, хорошо работает, не хотелось бы его менять.
Так как сейчас принято делать 10-мегабайтные интернет-страницы, писать десктопные приложения на node.js и паковать их в 100-мегабайтный файл, наращивать вычислительные мощности вместо оптимизации, мы совершим нечто ужасное — переложим VPN-подключение на производительный одноплатный «компьютер» Orange Pi One, который установим в корпус роутера, не занимая существующие сетевые и USB-порты, всего за $9.99*!
* + доставка, + налоги, + на пиво, + MicroSD.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии72

Система управления умным домом на коленке: Tarantool

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

Но что делать тем, кто не хочет мириться с таким состоянием, и хочет одно кольцо один интерфейс, чтобы править всеми? Конечно же, написать его самим!



Я покажу, как с помощью Tarantool быстро сделать даже не визуализацию, а полноценную систему управления, с базой данных, кнопками управления и графиками. С её помощью возможно управлять устройствами умного дома, собирать и показывать данные с датчиков.

Что такое Tarantool? Это связка «сервер приложений — база данных». Можно использовать её как базу данных с хранимыми процедурами, а можно как сервер приложений со встроенной базой данных. Вся внутренняя логика, будь она пользовательской или в виде хранимых процедур, пишется на Lua. Благодаря использованию LuaJIT, а не обычного интерпретатора, в скорости она не сильно уступает нативному коду.

Еще один важный фактор — Tarantool это noSQL база данных. Это означает, что вместо традиционных запросов вроде «SELECT… WHERE» вы управляете данными напрямую: пишете процедуру, которая переберет все данные (или их часть) и выдаст вам их. В версии 2.x поддержку SQL-запросов добавили, но панацеей они не являются — для высокой производительности часто важно понимать, как именно исполняется тот или иной запрос, а не отдавать это на откуп разработчикам.

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

Поехали!
Всего голосов 36: ↑35 и ↓1+34
Комментарии30

Записки IoT-провайдера. Девайсы и перекупы

Время на прочтение4 мин
Количество просмотров10K

Здравствуйте, уважаемые любители Интернет-Вещей!


Первая частьВторая частьТретья частьЧетвертая частьПятая частьШестая часть

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


Ни в коем случае! Проект растет и развивается. На данный момент мы запустили и запускаем несколько пилотных зон в тех местах, где я бы еще год назад и не подумал применять LoRaWAN. Я обязательно расскажу про эти пилоты как только они дадут какой-то результат.

Так же у нас на финишной прямой разработка собственного устройства. Завершен период тестирования, выпускаем первую партию мелкой серией, расставляем абонентам. Этому устройству я так же посвящу отдельную статью. Полдела не показывают, потому будет это только тогда, когда мы все окончательно отладим.


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


1) GPS-трекер с передачей данных через LoRa-сеть. Мы купили его у одной из российских фирм, не буду говорить названия. Хотя он подозрительно напоминает товар с той же Алибабы.



Слева трекер на сайте российского поставщика, справа — Алибаба

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии54

Что я слушаю, когда занимаюсь спортом

Время на прочтение8 мин
Количество просмотров17K
На своей третьей статье я осмелел настолько, что решил слегка поэкспериментировать со стилем. Совсем чуть-чуть. Сделать обзор книг более авторским – в конце концов, я даю рекомендации основываясь на своих предпочтениях. Читателей, которых это раздражает я прошу перейти в конец статьи – книжные советы будут там.

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

— Здравствуй Гиктаймс. Меня зовут Вишманатанам Капут и я индус. И я пишу наш национальный код. Раздается нестройный хор голосов, в котором преобладает «Бывает», «Не вини себя», «Все мы индусы, в какой-то мере».
— И я написал вот это, — продолжил ободренный Вишманатанам, продемонстрировав залу листок с записью:

x = 73;
if (x != 73) {
x = 73;
}

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

— Но ты ведь больше не будешь? — спрашивает ведущий?
— Я, я, я …постараюсь, — неуверенно промямлил индус.
— Проходи и садись. Следующий.

— Здравствуй Гиктаймс. Я админ Роскомнадзора. Я понимаю, что я делаю, но мне были очень нужны деньги, чтоб эмигрировать в Канаду….

В зале поднялся глухой ропот. С галерки слышались отдельные, несвязанные выкрики: «Анус», «Заблокировать», «Чтоб не повадно было»…

— Мы вне политики, —перекрывая гул сказал ведущий, — проходи и садись.
Админ РКН сел посередине стихийно образовавшего вокруг него пустого пространства.
Дальше была моя очередь.

— Здравствуй Гиктаймс. Мне 45 лет и я качок…
Читать дальше →
Всего голосов 41: ↑29 и ↓12+17
Комментарии46

Доработка китайского ST-Link v2: добавляем интерфейс вывода отладочной информации SWO и ногу Reset

Время на прочтение2 мин
Количество просмотров110K
image Привет, Geektimes!

Сегодня хочу рассказать про доработку паяльником китайского ST-Link v2. В него можно допаять вывод SWO для получения отладочной информации и ногу управления Reset’ом для микроконтроллеров STM32 (та нога Reset, что уже есть — для STM8). Возможно для многих это не открытие, но пусть будет информация для начинающих. Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии26

Ломаем Android. Как глубока кроличья нора?

Время на прочтение22 мин
Количество просмотров111K

image


Мой первый Android телефон Galaxy Note N7000 был приобретен сразу после анонса в октябре 2011 года. Благодаря одному немецкому умельцу под ником bauner, у меня была возможность использовать последнюю версию CyanogenMod (ныне LineageOS). До тех пор, пока полтора года назад телефон не умер от китайской автомобильной зарядки.


Замену искал долго и остановился на Kyocera (да, они и телефоны выпускают) KC-S701. Он отличается брутальным внешним видом и отсутствием сенсорных кнопок. О root доступе к телефону я тогда даже и не задумывался, полагая, что нынче каждый телефон тем или иным способом имеет возможность получения root. И найдется умелец, который сможет под него портировать CyanogenMod. Я ошибался.


За полтора года было выпущено всего одно обновление — фикс падения ядра от специально сформированного ping пакета. А Android KitKat уже год назад был не первой свежести. Root доступ на этот телефон так никто и не получил, и никакой информации о нем не было. Отмечу, что тоже самое железо используется в американской версии телефона Kyocera Brigadier E6782, в котором по-умолчанию активизирован режим fastboot и нет ограничения на запуск неподписанных ядер (именно запуск, а не прошивку, и только при использовании непропатченного bootloader'а, CVE-2014-4325) и присутствует возможность загружаться в эти режимы путём зажатия кнопок телефона. Стараниями Verizon (а может Kyocera?) версия Android на Brigadier была обновлена до Lollipop.


Итак, я решил разобраться с процессом получения root на Android самостоятельно.

Читать дальше →
Всего голосов 113: ↑110 и ↓3+107
Комментарии46

Поддержание положения в сервоприводе: подчинённое регулирование vs шаговый режим

Время на прочтение22 мин
Количество просмотров78K

После выхода предыдущих статьей о векторном управлении электродвигателями поступило много вопросов о позиционном приводе – как приводом отрабатывать заданное положение? Как работает сервопривод в современных станках, как использовать сигнал с датчика положения, чем отличается шаговый привод от сервопривода с подчиненным регулированием? Давайте всё покажу в виде картинок и видео.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии63

Векторное управление для асинхронного электродвигателя «на пальцах»

Время на прочтение9 мин
Количество просмотров131K

В предыдущей статье «Векторное управление электродвигателем «на пальцах» рассматривалась векторная система управления для синхронных электродвигателей. Статья получилась большой, поэтому вопрос про асинхронные электродвигатели (induction motors) был вынесен в отдельную публикацию. Данная статья является продолжением предыдущей и опирается на приведенные там объяснения принципов работы электродвигателей. Она расскажет об особенностях работы асинхронного двигателя применительно к векторному управлению, а также покажет отличия в структуре векторной системы управления между синхронной и асинхронной машиной.
Как работает асинхронный электродвигатель? Наиболее популярное объяснение говорит что-то типа «статор создает вращающееся магнитное поле, которое наводит ЭДС в роторе, из-за чего там начинают течь токи, в результате ротор увлекается полем статора и начинает вращаться». Лично я от такого объяснения всю физику процесса понимать не начинаю, поэтому давайте объясню по-другому, «на пальцах».
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии24

Векторное управление электродвигателем «на пальцах»

Время на прочтение17 мин
Количество просмотров329K
— Что такое векторное управление?
— Держать ток под 90 градусов.


Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии48

Эволюция животных как серия технологических прорывов

Время на прочтение12 мин
Количество просмотров36K


В школьные годы изучение различных классов животных воспринималось как тяжкая повинность. То немногое, что было вызубрено в школе, благополучно забылось, и до недавнего времени я вряд ли мог бы причислить улитку или пиявку к тому или иному классу – как, вероятно, и большинство завсегдатаев Хабра и ГТ. Да и зачем вообще это помнить?

Но вот недавно попалась в руки книга Николая Александровича Бернштейна, написанная в 40-е годы XX века и изданная только в конце прошлого столетия. Название книги – «О ловкости и её развитии». Книга полна всевозможных открытий, и я рекомендую прочесть ее всем и каждому.

А в этой небольшой заметке попробую вкратце изложить взгляд автора книги на то, как эволюция животного мира стала результатом целой серии ключевых «технологических прорывов», нацеленных на развитие движений. Очень надеюсь, что этот реферат поможет привлечь внимание к научному наследию блестящего физиолога Н.А.Берштейна.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии41

Настольная робо-рука манипулятор из оргстекла на сервоприводах своими руками или реверс-инжиниринг uArm

Время на прочтение5 мин
Количество просмотров86K
Привет, гиктаймс!

Хочу поделиться с вами результатами реверс-инжиниринга uArm – простого настольно манипулятора из оргстекла на сервоприводах.

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

Сейчас моя робо-рука выглядит так:



Работая не спеша за два года я успел сделать четыре версии и получил достаточно много опыта. Описание, историю проекта и все файлы проекта вы сможете найти под катом.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии22

PPM-to-USB адаптер на STM32F3Discovery, или Подключаем авиамодельный пульт к компьютеру как HID-джойстик с STM32Cube

Время на прочтение22 мин
Количество просмотров40K


В этой статье я расскажу, как:
  • Создать проект в STM32CubeMX и настроить таймеры для захвата внешних сигналов.
  • Декодировать PPM-сигнал с авиамодельного пульта.
  • Сделать Human Interface Device на STM32 и написать свой HID Report Descriptor.
  • Полетать в симуляторе на гоночном квадрокоптере. :)
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии6
12 ...
8

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность