Raspberry Pi: Как работать с Bluetooth на Java

Продолжая работать над своей задумкой, настало время получить доступ на Raspberry Pi к Bluetooth, используя Java.  Bluetooth API для Java описан в спецификации JSR-82. Поиски в Internet выдали, что сейчас широко распространена библиотека BlueCove, которая реализует JSR-82. Её настройке и будет посвящена эта статья.

Raspberry: Как работать с bluetooth на java

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

Categories: Hard, Soft Tags: , , ,

Создание панорамы с помощью OpenCV и Java

15 Декабрь 2016 Нет комментариев

OpenCV позволяет не только определять движение, но и создавать панорамы. Данной теме и будет посвящен текущий пример.

Создание панорамы с помощью OpenCV и Java Создание панорамы с помощью OpenCV и Java
Создание панорамы с помощью OpenCV и Java

Для примера будет использоваться библиотека версии 2.4.3. Это связанно с тем, что из-за лицензионных ограничений версия 3.1 не содержит некоторых алгоритмов (типа SURF) для детектирования ключевых точек.

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

Categories: Soft Tags: ,

Пирамида уравнений

10 Декабрь 2016 1 комментарий

Ещё одна интересная задача.
Пирамида уравнений
Дана пирамида уравнений, нужно вывести формулу суммы левой или правой части N-го уровня.

Занятная задача размяться

29 Ноябрь 2016 1 комментарий

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

Занятная задача

Arduino и Lego: управление через инфракрасный приёмник

10 Ноябрь 2016 Нет комментариев

Многим из нас знаком конструктор Lego, который стал известным благодаря качеству деталей, которые могут комбинироваться в разных конфигурациях. Среди всех серий этого конструктора особого внимания заслуживает Technic. Благодаря технической направленность эта серия популярна даже у взрослых. С 2008 года серия Technic была дополнена  компонентами Power Functions, которые позволяют строить уже с применением моторов, сервоприводов, света или инфракрасного управления. Это позволило расширить варианты моделей, которые можно построить. Но взрослые тем и отличаются от детей, что они хотят большего.

В этом примере будет описан способ управления Lego мотором с помощью инфракрасного приемника от Lego (version 2) и передатчика на основе Arduino Uno.

 Arduino и Lego: управление через инфракрасный приёмник Читать далее…

Categories: Hard Tags: , ,

Heroku.com: как получить реализацию Websockets на java (JSR-365 подход)

23 Октябрь 2016 Нет комментариев

Я уже описывал, как удалось запустить java веб-приложение с Websockets на Heroku. Этот подход основывается на запуске war файла со legacy кодом для tomcat 7. Для современных приложение такое решение не подходит. Хочется, чтоб код использовал JSR 365.

Heroku.com

 

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

Categories: Soft Tags: , , ,

Heroku.com: как получить реализацию Websockets на java (native подход)

22 Октябрь 2016 Нет комментариев

Для реализации одной идеи возникла потребность разместить в интернете где-нибудь приложение с поддержкой Websockets, которое будет доступно из любого места. Главное условие — бесплатно. Ранее я уже делал вещание с камеры на websocket и java. Этот пример с небольшими изменениями я планировал попробовать разместить в глобальной сети. В качестве целевой площадки выбор пал на Heroku.com.

Heroku.com: как получить Websocket на java

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

Categories: Soft Tags: , , , ,

Впечатления от Питера: год спустя

16 Октябрь 2016 Нет комментариев

Уже становится традицией выбираться осенью за пределы Беларуси. В прошлом году был  Санкт-Петербург и Москва, в этот раз только Санкт-Петербург. Хочется поделиться очередной порцией впечатлений.

Впечатления от Питера: год спустя

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

Получение картинки с помощью Java на Raspberry Pi

25 Сентябрь 2016 Нет комментариев

Ранее я пытался получить картинку с помощью Arduino Uno, но больше одной картинки за три секунды передать на компьютер не получилось. При попытке передать через Bluetooth ситуация оказалась намного хуже — около 15 секунд. Потом была попытка воспользоваться Arduino Due, которая имеет более мощный микроконтроллер.  Но и тут меня ждала неприятность — более 4-х секунд, что было связанно с проблема со скоростью UART. Поэтому я решил переключиться на другую платформу — Raspberry PI.

Получение картинки с помощью Java на Raspberry Pi

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

Categories: Hard Tags: , , ,

Вещание звука через websocket, реализация на java

5 Сентябрь 2016 Нет комментариев

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

Вещание с звука через websocket, реализация на java

Сигнал с микрофона поступает прямо на сервер, где он считывается и отправляется через websocket клиенту. В качестве сервера для обработки запросов WebSocket будет использоваться Jetty, поэтому вещание звука хорошо дополняет вещание картинки. Будет достаточно доработать прошлый пример.

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

Categories: Soft Tags: , , ,

Как записать звук на 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: , , , ,