Как записать звук на Java в byte массив

28 Август 2016 Нет комментариев

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

Sound recording to byte array

На сайте уже есть пример про запись звука с помощью Java. Пример простой и пишет звук только в файл.

AudioSystem.write(m_audioInputStream, m_targetType, m_outputFile);

Читать далее…

Categories: Soft Tags: ,

Вещание с web-камеры через websocket, реализация на java

27 Август 2016 Нет комментариев

После эксперимента с получением картинки с помощью Java и OpenCV пришла идея организовать вещание видео на сайте своей локальной сети. Но как это проще сделать?

Сейчас Javascript достиг того уровня, когда можно не ограничиваться простой перезагрузкой картинки на странице, а воспользоваться другими более удобными методами. Мой выбор пал на относительно молодую технологию WebSockets. Она позволяет организовать duplex соединение клиент-сервер, что уменьшает потери времени на установление подключения.

Последние версии Application и Web серверов для java приложений уже поддерживают спецификацию JSR356, которая определяет стандартный интерфейс для WebSocket. Поэтому в данном примере будут очень уместно этим воспользоваться на примере Jetty

 Архитектура примера будет следующей:

Вещание с web-камеры через websocket, реализация на java

Камера будет подключена к локальному серверу, который с помощью OpenCV будет забирать картинки и через WebSocket передавать в браузер.

Читать далее…

Categories: Soft Tags: , , , ,

Почему не стоит брать дешевые буры по бетону

10 Август 2016 Нет комментариев

Почему не стоит брать дешевые буры по бетону«Умные учатся на чужих ошибках, а дураки на своих».

Хотелось бы поделиться своим опытом покупки буров по бетону.

Так получилось, что для крепления плинтуса понадобился бур диаметром 5мм, которого не оказалось в наборе инструментов. С мыслями: «они же все одинаковые»  — выбор пал на набор фирмы «Монтаж«. Коробка сразу же выдаёт «дешевый» Китай и сомнительное качество товара, но это меня не смутило — другого просто не было в наличии.

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

Читать далее…

Рассмотрение добровольного страхования дополнительной пенсии

«Как часто мы задумываемся о пенсии? Что нас там ждёт? Какой будет доход?» Примерно такие мысли и посещают меня последнее время.

В Республике Беларусь ответы на эти вопросы просты — пенсию платит государство. В настоящий момент она меньше 150$. Бюджет прожиточного минимума на момент написания статьи составляет около 85$. Глядя правде в глаза, хочется признаться, что этих денег не хватит на достойную старость. Возникает другой вопрос  «Как увеличить эти выплаты?».

Рассмотрение добровольного страхования дополнительной пенсии

Самый простой ответ — копить. Можно собирать деньги в копилку. Это относительно безопасно, но деньги будут обесцениваться и мы не сможем получать процент от банка за хранение свободных средств. Другой вариант — депозит в банке. Это тоже безопасный вариант. Возврат всех депозитов в Республике Беларусь гарантирован государством.  Третий варинт — добровольное страхование дополнительной пенсии. Третий вариант является чем-то новым для меня и его хотелось бы рассмотреть подробнее,  хотелось бы сравнить с депозитом со сложным процентом.

Читать далее…

Простой способ скачать музыку из «вконтакте»

20 Июль 2016 3 comments

Империя зла в лице «Майл.ру» решила нанести удар по пользователям социальной сети «вконтакте». Он выражается в платной подписке на музыку. Сегодня эта инициатива коснулась и меня — часть композиций стала неактивна в списке.

Простой способ скачать музыку из "вконтакте"

Это наводит на мысль, что пора доставать пыльный архивчик с winamp. Остаётся только сделать новую подборку музыки. Многие советуют просто скачать альбомы с торрентов, правда, не хочется на это тратить время и искать целый альбом только ради одной песни. Гораздо проще скачать их из того же «вконтаке». Ниже пойдёт речь, как это сделать только подручными средствами.

Читать далее…

Обзор leakedsource.com

13 Июль 2016 1 комментарий

Уже не первый раз в новостных лентах проскакивают новости про украденные пароли от «контакта», linkedin, badoo и других популярных сервисов. Иногда появляются новости о покупке такой базы ресурсом leakedsource, который за определённую плату позволяет посмотреть украденные пароли. О нём и пойдёт речь.

Обзор leakedsource

Читать далее…

Arduino Due и камера ov7670 — пример использования

3 Июль 2016 2 comments

Arduino Due и ov7670 - пример использоватья В предыдущей статье я уже описывал способ подключения камеры ov7670 к Arduino Uno. Теперь получилось подключить камеру  ov7670 к Arduinoe Due.

Arduino Due имеет больше преимуществ, чем Arduino Uno:

1. Большая рабочая частота.  84МГц для Due, 16MГц для Uno/Nano. Это позволяет без проблем получить большую скорость обработки сигнала, большую свободу в выборе скорости для сопряжения с bluetooth модулем HC-06.

2. Рабочее напряжение: 3v для Due, 5V для Uno/Nano. Это позволяет избавиться от резисторов для делителя напряжения, чтоб подавать на камеру безопасные 3V.

3. Больший объём памяти. 512 KB для Due, 32 KB для Uno/Nano. Это позволяет выделить буфер для картинки и уменьшить искажения при движение камеры.

4. Встроенные подтягивающие резисторы TWI интерфейса Arduino Due позволяют полностью исключить дополнительные резисторы при подключении камеры.

Читать далее…

Categories: Hard Tags: , ,

Программисты Беларуси

Недавно в сети появился данный рейтинг компаний Беларуси по числу сотрудников.

Программирование в Беларуси

Это наводит на мысль, что белорусские программисты делятся на три вида:

те, кто работал в Epam
те, кто работает в Epam
те, кто будет работать в Epam

Чтение регистров: Arduino due и ov7670

26 Июнь 2016 2 comments

Не прошло и полгода, как в руки мне попала плата Arduino Due. Работая на частоте 84МГц. она кажется больше подходящей для доступа к камере ov7670. Кроме высокой частоты достоинством является и рабочее напряжение 3V. Теперь оба устройства будут работать при одинаковом напряжении, что снижает риск испортить камеру при неправильном подключении резисторов.

Начать работу в камерой можно с простого упражнения  — чтение регистров.

Чтение регистров arduino due + ov7670

Читать далее…

Categories: Hard Tags: , ,

Как запустить FrameGrabber для OV7670

6 Июнь 2016 5 comments

В одной из своих статей я приводил пример, как работать с камерой OV760. Для облегчения понимая, клиентская программа была реализована на Java, который проще в использовании, чем C++. Но это вызвало трудности у новичков. Ниже будет описано, как правильно запускать программку FrameGrabber из примера.

frame-grabber-main

Читать далее…

Categories: Hard, Soft Tags: ,

Простой способ управлением сервоприводом SG90

24 Апрель 2016 Нет комментариев

IDE для Arduino предлагает готовую библиотеку Servo для управления сервоприводами. Это хорошее решение, если надо управлять ими в простом проекте. При работе над более сложной задумкой приходится бороться за каждый байт кода и думать над нестандартными решениями.

В предыдущих статьях была описана работа с камерой OV7670 . Данный пример основан на одном из таймеров Arduino Uno, для которого была изменена частота и отключены прерывания. Из-за этого и неудачи при портировании библиотеки Servo в AtmelStudio от готового решения пришлось отказаться.

Ниже будет предложен альтернативный способ управления сервоприводом SG90 без библиотеки Servo.

Сервопривод SG90

Читать далее…

Categories: Hard Tags: , ,

Детектирование звука на Java

22 Март 2016 3 comments

После небольших экспериментов с детектором движения на java пришла пора детектировать звук. Для этой задачи можно воспользоваться Java SDK, пакет «javax.sound.sampled». Работа будет основана на примере записи звука в javа. Для этого придётся разобраться, какая информация приходит в AudioInputStream.

Sound detector

Читать далее…

Categories: Soft Tags: ,