Search
Write a publication
Pull to refresh
3
0
Roman Sorokin @r1000ru

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

Send message

SIPML5 — SIP клиент для браузера на базе WebRTC

Reading time2 min
Views43K
Свершилось!

WebRTC (Web Real Time Communication) — это расширение HTML5 для передачи голоса и видео напрямую из браузера, через «нативные» средства.

Официальный сайт проекта — http://www.webrtc.org (тестирование на Chrome)

И вот сегодня, молодая телекоммуникационная компания Doubango Telecom объявила о выпуске свободного клиента для общения по протоколу SIP, написанного на JavaScript / HTML5, — sipML5, исходный код которого распространяется на условиях лицензии GNU GPLv3 и доступен на code.google.com/p/sipml5

Поддерживаемые возможности:

* Аудио / Видео звонок
* Обмен мгновенными сообщениями
* Присутствие
* Удержание звонка / Возобновление
* Передача вызова
* Поддержка нескольких линий и multi-account
* поддержка DTMF используя SIP INFO

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

Пишем плагин для jQuery

Reading time8 min
Views248K
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →

Музыкальный дверной звонок в стиле Star Wars на Arduino

Reading time9 min
Views78K
Всем привет, не так давно я рассказал, да и показал на видео, как можно прошить Attiny13 при помощи Arduino, а теперь покажу практическое применение этому.

Скажу сразу, фьюзы, прошивку в виде hex-файла, код на Си, скетч для Arduino IDE, файлы для Proteus 7 можно скачать в конце статьи.

Ну, что уж тянуть, покажу как работает:



Давно хотел себе такой музыкальный дверной звонок, чтобы при нажатии на кнопку играл марш империи(Imperial March or Darth Vader's Theme) из «Звёздных войн», очень нравится эта мелодия.
Читать дальше →

mysqlnd — проводник между PHP и MySQL

Reading time16 min
Views67K


Расширение mysqlnd появилось ещё в PHP 5.3, но до сих пор малоизвестно среди разработчиков. Однако оно незаменимо, если ваша система основана на MySQL. Если вы хотите узнать, почему это расширение так важно, что оно собой представляет, как его использовать и какие оно даёт преимущества — читайте статью.
Читать дальше →

SEO в разработке eCommerce проектов (20 правил для разработчика)

Reading time4 min
Views22K
В последний год мы написали много статей по UX / UI проектированию eCommerce проектов и не только. Концепция проекта и интерфейсы – это, безусловно, очень важно, однако есть еще несколько крайне важных вещей, которые нужно учесть. Не важно, кто их будет учитывать: UX / UI Designer, SEO Specialist, Web Developer, Project Manager или кто-то еще, важно на каком этапе жизни проекта. А сделать это нужно задолго до запуска проекта, на этапе разработки.

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

  1. Robots.txt. Файл для правил индексации поисковыми системами. Создать и положить в корень сайта. В идеале индексация должна быть открыта всем поисковым системам и всему сайту (за исключением закрытых разделов, таких, как личный кабинет).
  2. Файл Sitemap.xml. Карта сайта для поисковых систем. Создать и положить в корень сайта. Сделать автогенерацию с заранее заданным весом страниц разбитым по типам информации (например, страница товара 8, страница категории 9, страница статьи 7 и т.д.). Загрузить файл в поисковые системы.
  3. Карта сайта. Кроме Sitemap.xml еще желательно сделать отдельную страницу на сайте, дать ссылку на неё в нижней части сайта и также поместить ссылки на основные страницы. На одной странице не должно быть больше 300 ссылок. Если на сайте больше страниц, то проблему можно решить через пагинацию внизу страницы «Карта сайта».

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

Раскрываем возможности map в nginx

Reading time6 min
Views142K
map — мощная директива, которая может сделать ваши конфиги простыми и понятными.
Возможно, это самая недооцененная директива, из за того, что не все знают всех её возможностей.
Она в компактной форме помогает обрабатывать переменные, GET параметры, заголовки, куки и наборы бекендов (upstream).
Попробую раскрыть её возможности хабрапользователям.
Раскрыть возможности map

Erlang для самых маленьких. Глава 4: Система типов

Reading time4 min
Views14K
imageХороший понедельник, Хабр! Мы продолжаем изучение Erlang для самых маленьких.

В прошлой главе мы разобрались с синтаксисом функций. В этой главе мы познакомимся с системой типов языка.


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

25+ видеоуроков по Android для начинающих

Reading time2 min
Views415K

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

Опыт производства партии Wiren Board Smart Home

Reading time5 min
Views31K


Краткая предыстория


На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home, к которому можно подключить кучу проводных и беспроводных устройств от разных систем и производителей. В устройстве есть ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01 — полное описание здесь.

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

Создание полноценного видеохостинга своими руками (nginx+php5-fpm+ffmpeg+cumulusclips)

Reading time10 min
Views68K
Добрый день, хабровчане!

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

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

STM32 и USB-HID — это просто

Reading time14 min
Views384K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

COOLRF: Перезагрузка

Reading time6 min
Views38K


Многие хабравчане уже успели заметить необычно большую паузу в наших регулярных публикациях «из жизни COOLRF». За прошедшие более чем полтора месяца случилось много важных событий. Мы потеряли, но потом нашли и благополучно получили посылку с «редкоземельными» компонентами нашего диммера. Компания JetStyle нарисовала отличный дизайн для нашего сайта. Хабрахабр продлил наш бесплатный корпоративный аккаунт (да, полгода пролетели махом!). Мы решили одну аппаратную проблему диммера, но пока не смогли решить другую. Поняли, что текущий аппаратный дизайн диммера не совместим с программным стеком Atmel BitCloud. Расстались с одним участником. Решили вернуться к разработкам на базе NRF24LE1. Начали разработку одного нового интересного решения с новым разработчиком.

Интересно? Добро пожаловать под кат (осторожно, неожиданно много букв)!
Читать дальше →

Конкурс летающих роботов, этап №2: теперь не миллион, а 5 раз по 200 тысяч

Reading time4 min
Views21K
В прошлом году мы проводили конкурс летающих роботов. Нужно было быстро пролететь по лабиринту, обойти препятствие, после разглядеть маркер посадки, приземлиться на него, взлететь и вернуться. В рамках конкурса всё это прошёл один робот из 536 заявленных.


Вот эти парни выиграли миллион

Их робот прошёл лабиринт за 6:45. Это немало, но дрон делал несколько заходов на финишный маркер (принимал его за стартовый, на который нужно было приземлиться в конце).

Наш робот пролетел вне конкурса за 4:01. Вот его код на Гитхабе.

На этот раз мы всё так же не можем претендовать на приз, но играем вместе с вами. Задача нового этапа — пролететь быстрее 6:15 минут, за которые мы пролетели обновленный полигон (про то, как именно мы его обновили, ниже) и забрать, наконец, свои 200 тысяч рублей.
Читать дальше →

Физика радиационных эффектов, влияющих на электронику в космосе

Reading time14 min
Views291K
Технологический процесс с проектными нормами 32 нм.
Два ядра ARMv7 с тактовой частотой 1,3 ГГц
Оперативная память – 1 Гбайт.


Технологический процесс с проектными нормами 150 нм.
Одно ядро PowerPC с тактовой частотой 200 МГц.
Оперативная память – 256 Мбайт.


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

Микроэлектроника для космоса и военных

Reading time13 min
Views308K
Возможное, многие из вас думали после ситуации с Фобос-Грунтом — что такого особенного в микросхемах для космоса и почему они столько стоят? Почему нельзя поставить защиту от космического излучения? Что там за история с арестом людей, которые микросхемы экспортировали из США в Россию? Где все полимеры?

На эти вопросы я и попробую ответить в этой статье.

Disclaimer: Сведения получены из открытых источников и могут быть не вполне точными. Я лично с военной электроникой не работаю, а кто работает — те статьи писать не могут. Буду рад дополнить и исправить статью.
Читать дальше →

ИК пульт для ПК и розеток. Часть 1

Reading time9 min
Views168K
У меня нет телевизора. Совсем. На антресолях где-то лежит старый маленький пузатик, но кабель антенны давно свернут, а телевизор этот — скорее издевательство, разве что на кухне поставить и то маловат.
Поэтому в качестве музыкального центра и телевизора я использую свой ПК. И все бы хорошо, но лень — это не только двигатель прогресса, но и фактор, который портит удовольствие, заставляя встать с дивана, на котором уютно устроился с кружкой чая, чтобы запустить программу или выключить колонки после просмотра фильма перед сном.
Существует множество ИК приемников, практически все они могут управлять компьютером и даже могут его выключить, но не могут его включить. И вот в этот момент компьютер перестает быть столь же удобным сколь телевизор или музыкальный центр. Но и проект Igor HID не порадовал своим софтом. Вроде все умеет, а неудобно. И не влезешь в него, исходников нет. Вот поэтому я собрался и сделал свой проект, открытый и доступный всем.
Сделал я его с нуля до законченного комплекта. А поскольку мой опыт в разработке и программировании электронных девайсов до него можно сказать был нулевым, то я считаю, что повторить это сможет каждый, кому это интересно.
image
Называется он USB-IRPC (USB Infrared Remote Personal Computer Control — «Юэсби-ИРПиСи» или ИРПЦ, кому как больше нравится :). Буква R на самом девайсе — просто сокращение от моего ника.
Важным преимуществом девайса является то, что он программно совместим с Arduino и в случае отсутствия уверенности в своих силах в ЛУТ может быть сделан на основе Arduino на макетной плате. Это, конечно, не так компактно и аккуратно, не так дешево, но зато доступно практически всем, даже навыки пайки особые не потребуются.
Если стремление к комфорту вам не чуждо и идея превратить свой компьютер в медиацентр, а заодно поуправлять электророзетками с пульта вам интересна, тогда вперед.

Просьба, если соберетесь делать устройство после прочтения статьи, задавайте вопросы в комментариях. По опыту предыдущих статей: вас довольно много и вопросы вы задаете одинаковые :)
Я лучше один раз отвечу всем, добавив в статью или в комментариях. Уведомления о комментариях с вопросами я просматриваю и стараюсь отвечать.
поехали, делаем USB-IRPC

Как мы первый прототип строили

Reading time5 min
Views23K
Привет Хабр! Это наш второй пост, он открывает серию технических публикаций. Мы решили рассказать подробнее про архитектуру CamIRa, используемые компоненты и технологии, а так же про то, как мы к этому пришли. Настала пора чем-то поделиться с сообществом, тем более уже много всего накопилось, с чем пришлось столкнуться в ходе реализации нашего первого прототипа. В этой статье мы расскажем, как прошли путь от простой программы с одним ИК-изображением, до полноценной облачной системы с личным кабинетом.
Заинтересованных просим под кат!
Читать дальше →

Маленький сетевой одноплатный компьютер за 20 USD

Reading time2 min
Views42K
Ну вот, наконец-то, у меня в руках первый полноценно работающий экземпляр нашего одноплатного компьютера.

Полгода разработки, два месяца ожидания (пока изготовят первых 20 экземпляров и доставят в Москву), неделя непрерывного секса (чтобы запустить)… И вот оно — наше маленькое чудо!

image

Это не «самый маленький в мире компьютер». И не самый дешевый. И уж конечно не самый мощный. Но он достаточно маленький, довольно дешевый и не такой уж медленный. Чип Qualcom Atheros AR9331, 64 Мб DDR2, 16 Мб NOR flash. WiFi, один гигабитный Ethernet и до пяти 100мбитных, USB, UART, SPI, I2S, 20+ GPIO, OpenWrt на борту — что еще нужно для счастья? Зажечь в первый раз светодиод по команде со смартфона — ни к этому ли мы все стремимся?

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

Первые подробности — под катом.
Читать дальше →

Драйвера на С++ для STM8L051F3

Reading time9 min
Views16K

Проблемы и требования к драйверу


Каждый опытный программист микропроцессоров сталкивался с написанием драйверов. При реализации небольших проектов или при переносе уже готового отлаженного кода на другой процессор, написание и отладка драйверов может занимать 50% и больше времени разработки. Причем процесс написания драйвера, для нового процессора, и состыковка существующего кода может быть очень не приятной из-за отсутствия структуры и общности в драйвере. Для программиста это становится нервной рутиной. Определим важные проблемы, при написании драйвера:

  1. Отсутствие структуры драйвера. Решение данной проблемы позволить лучше ориентироваться по драйверу, следовательно, отладка становится проще.
  2. Отсутствие общности драйвера. То есть интерфейс драйвера должен быть одинаковый, для, хотя бы, линейки процессоров, и в идеале для аналогичных процессоров разных фирм. Это позволит переносить код, завязанный на драйвер, без изменений или с минимальными изменениями.
  3. Сохранение эффективности по скорости выполнения драйвера.
  4. Оптимальное использование памяти.


В данном посте я покажу, как можно ликвидировать эти проблемы и сделать процесс написания драйвера более приятной задачей на примере двух драйверов UART и DMA реализованных на языке С++. Для этого я сформулировал требования, для драйвера:
Читать дальше →

Maxmertkit. Идеальный css-фреймворк

Reading time29 min
Views48K


Всю документацию на английском языке вы сможете прочесть на maxmert.com.

Требования и задачи


При создании версии 1.0 мне пришлось пересмотреть основные требования к фреймворку:

  • Возможность легко добавить/удалить размер или тему. Json-файл с прописанными темами и размерами для каждого виджета. Таким образом можно конфигурировать фреймворк исправляя json-файл.
  • Модульность. При отключении или добавлении любого виджета фреймворк должен стабильно работать (привет bootstrap).
  • Особое именование классов для избежания переопределения пользовательских классов.
  • Javascript компоненты без jQuery (но с возможностью его использования, если он подключен).


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

Осторожно! Трафик.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity