Jasper linux что это

Software Install Guide

There are three ways to install Jasper on your Raspberry Pi.

The quickest way to get up and running with Jasper is to download the pre-compiled disk image available here for Model B. There is also an unofficial image for the B+ available here. After imaging your SD card, clone the repository and install the Python dependencies as described in Install Jasper. Then, skip to Configuration.

If you want to understand how all of the supporting libraries are compiled on the Raspberry Pi, Method 3 may be to your liking (or, at the very least, helpful for debugging).

Method 2: Installation via Package Manger

Debian/Raspbian

Unfortunately, there are currently no packages available for Debian or Raspbian. Please use Method 3.

ArchLinux/ArchLinuxARM

If you’re using ArchLinux, there are packages available in the Arch User Repository. To install them:

You’ll also need a Text-to-Speech (TTS) and a Speech-to-Text (STT) engine. Check out the configuration section to learn what STT/TTS engines are and what you need to do to use them.

After you’ve done that, you can start Jasper as a systemd service:

If the systemd service keeps failing, your audio device might already be in use by MPD, Pulseaudio, your Desktop Environment or some other process. In this case, start Jasper as your current user:

Method 3: Manual Installation

Follow these instructions only if you wish to compile your Jasper software from scratch. These steps are unnecessary if you follow the recommended “Quick Start” instructions above.

Burn Raspbian image onto SD card

We’ll first clear the SD card using GParted on Ubuntu, but you can use an equivalent utility or operating system. In GParted: right-click on each partition of the SD card, then select ‘Unmount’ and ‘Delete’. Apply the changes with Edit > Apply All Operations.

Download Raspbian Wheezy from http://downloads.raspberrypi.org/raspbian_latest. While we’ve tested Jasper on the 2014-01-07 release, newer releases may also work.

We’ll use dd to burn the image to the disk. Obtain the address of the SD card with:

Our address was ‘/dev/mmcblk0’, so the following command burns the image to the disk:

When it’s done, remove your SD card, insert it into your Raspberry Pi and connect it to your computer via ethernet.

Configure Raspbian

We’re now going to do some basic housekeeping and install some of the required libraries. You should SSH into your Pi with a command similar to the following. The IP address usually falls in the 192.168.2.3-192.168.2.10 range.

Run the following, select to ‘Expand Filesystem’ and restart your Pi:

Run the following commands to update Pi and install some useful tools.

Plug in your USB microphone. Let’s create an ALSA configuration file:

Add the following lines:

Back in the shell, restart your Pi:

Next, test that recording works (you may need to restart your Pi) by recording some audio with the following command:

Make sure you have speakers or headphones connected to the audio jack of your Pi. You can play back the recorded file:

Add the following line to the end of

/.bash_profile (you may need to run touch

/.bash_profile if the file doesn’t exist already):

And this to your

With that, we’re ready to install Jasper.

Install Jasper

In the home directory of your Pi, clone the Jasper source code:

Jasper requires various Python libraries that we can install in one line with:

Sometimes it might be neccessary to make jasper.py executable:

You’ve now installed the Jasper core software. If you’re following Method I (Quick Start), continue with Configuration. Otherwise, continue with the dependency installation below.

Installing dependencies

To be able to understand what you say, Jasper still needs a Speech-to-Text (STT) engine. Jasper also needs a Text-to-Speech (TTS) engine to answer to your commands. Jasper aims to be modular and thus gives you the choice which STT/TTS engine you want to use. Depending on your choice, it may be required to install additional software.

Читайте также:  Cmd для windows mobile

Head over to the Configuration section. During configuration, you’ll learn what STT/TTS engines are and chose your flavour. You can then come back here and install the required dependencies for the STT/TTS engine of your choice (if neccessary).

Install Dependencies for PocketSphinx STT engine

Note: Installing pocketsphinx will take quite some time because you need to compile some stuff from source.

Jasper can use PocketSphinx for voice recognition. If you want to use Pocketsphinx as STT Engine, you’ll have to install:

  • sphinxbase & pocketsphinx
  • CMUCLMTK
  • MIT Language Modeling Toolkit
  • m2m-aligner
  • OpenFST & Phonetisaurus

If you’re using ArchLinux, you’re lucky: Just install the according AUR package and you’re done:

Everyone else needs to install the above tools manually:

Installing Sphinxbase/Pocketsphinx

First, you need to install Pocketsphinx. If you’re using Debian Sid (unstable) or Jessie (testing), you can just do:

If you’re not using Debian Sid/Jessie, you need to compile and install them from source:

Installing CMUCLMTK

Begin by installing some dependencies:

Next, move into your home (or Jasper) directory to check out and install CMUCLMTK:

Then, when you’ve left the CMUCLTK directory, download the following libraries:

Installing Phonetisaurus, m2m-aligner and MITLM

To use the Pocketsphinx STT engine, you also need to install MIT Language Modeling Toolkit, m2m-aligner and Phonetisaurus (and thus OpenFST).

On Debian, you can install these from the experimental repository:

If you’re not using Debian, perform these steps:

Источник

Carpe diem (Felix’s blog)

I am a happy developer

Setting Up Jasper Server on Linux

Feb 26 th , 2014

Jasper is one of the standard report generator in the industry. However, setting up Jasper is a pain of ass. This post is my note for setting up Jasper on Linux, in case I have to do it again in the future…

Setting up an Ubuntu instance on Amazon

The first thing you need to do when you launch an Amazon EC2 instance is add the hostname to hosts. Copy /etc/hostname to /etc/hosts like so:

The ip-10-0-0-1 is the host name in your /etc/hostname . You’ll need this setup else the jasper installation script might fail.

Update aptitude and install PostgresQL

This section is referenced from Ubuntu PostgreSQL HowTo

After Postgres is installed, you’ll need to setup its permission and password, so that jasper can connect to it.

First, enable postgres to be reached from localhost. Edit /etc/postgresql/9.1/main/postgresql.conf and un-comment this line:

Then, login to postgres using postgres user:

You should be able to login without using password. Now, update your password:

After setting the password, edit the file /etc/postgresql/9.1/main/pg_hba.conf and set the postgres user to use md5 authentication.

Finally, restart the postgres server:

Download and run jasperserver install script

Got to Jaspersoft Downloads and get the jasperreports-server-cp-5.5.0-linux-x64-installer.run script. In our case we run it as super user.

You’ll go through several steps:

It prints out the license. Read through it and select y when the prompt Do you accept this license? [y/n]: y shows up.

It asks you to choose complete install or custom install. Choose custom.

It asks you to select a folder for install destination. I chose the default /opt/jasperreports-server-cp-5.5.0 .

It asks you to use bundled tomcat or existing one. Choose bundled.

It asks you to use bundled postgres or existing one. Choose existing.

It asks you the Tomcat server port. Just use the default 8080 .

It asks you postgres binary location. Use /usr/lib/postgresql/9.1/bin .

It asks you host and port for postgres server. Use the default 127.0.0.1 and 5432 .

It asks you the postgres password. Type it in.

It asks you whether to install sample database and sample reports. Pick whatever you like.

Proceed the rest of the installation.

Once you’re done with the installation. You can start the tomcat server using the command

Setup plsql query adapter

This section is referenced to Jaspersoft wiki. We found that when selecting query language as plsql , jasperserver rejects the uploaded report.

To solve the issue, you’ll need to extend jasperserver with this plugin: jasperreports-extensions-3.5.3.jar. Download the jar, and place it to /opt/jasperreports-server-cp-5.5.0/apache-tomcat/webapps/jasperserver/WEB-INF/lib/ .

Now, cd to /opt/jasperreports-server-cp-5.5.0/apache-tomcat/webapps/jasperserver/WEB-INF , and add one line to classes/jasperreports.properties .

Edit flows/queryBeans.xml . Change the line

Edit applicationContext.xml . Search for supportedQueryLanguages and change it to the following.

Finally, restart the jasper server.

Increase Jasper memory usage

More specifically, tomcat’s memory usage. The default memory setting is quite low and jasper is pretty in-responsive to user clicks. To change the setting, edit /opt/jasperreports-server-cp-5.5.0/apache-tomcat/scripts/ctl.sh and change the two JAVA_OPTS to

Читайте также:  Windows 10 убивает hdd

Relaunch your jasper server again. Now it should run more smoothly.

Conclusion

ITS A PAIN TO RUN JASPER…

Thanks to all the people that wrote wiki and articles to help me out. I hope I’ll never need to set it up again.

Posted by dryman (Felix Ren-Chyan Chern) Feb 26 th , 2014 Jasper, Java

Источник

Работа с отчетностью в системе управления данными

Всем привет! В этой статье мы хотим рассказать о том, каким образом мы в платформе «Юнидата» формируем отчетность. Любая работа с данными неизбежно ведет к построению специализированных отчетов, в которых пользователи могут эффективно эти данные обрабатывать и принимать на их основе бизнес-решения.

Как выбирали систему построения отчетности

Создавать модуль построения отчетов в платформе – задача нетривиальная и дорогостоящая, поэтому возникла необходимость поиска подходящего инструментария для построения отчетов. Главными нашими критериями были:

Бесплатное использование ПО в коммерческих проектах с открытым исходным кодом

Инструмент для построения данных должен работать с основными форматами источников данных, а так же напрямую БД.

Использование языка Java для построения отчетов

ПО должно быть поддерживаемым и обновляемым c поддержкой обратной совместимости

Редактор построения отчетов должен быть удобным и понятным

Инструмент должен позволять создавать шаблоны отчетов всех основных форматов: excel, csv, pdf, html, и т.д

Богатые возможности визуализации и построения дашбордов.

Мы провели исследование части наиболее известных open-source систем построения отчетов, и результаты нашего исследование мы собрали в таблицу, которой хотим поделиться.

Наименование

Производитель

Лицензия

Возможности и достоинства

Недостатки

The Business Intelligence and Reporting Tools (BIRT)

Eclipse Public License

Последняя версия 4.5.0 (Июнь 24, 2015) т.е. проект живой;

Есть визуальный редактор отчетов в среде разработки Eclipse IDE;

Сконструированные отчеты BIRT сохраняются в XML и имеют доступ к целому ряду различных источников данных, включая хранилище данных JDO, JFire, Plain Old Java Object, SQL, database, Web Service и XML;

Содержит технологию построения графиков, которая полностью интегрирована в дизайнер отчетов и может использоваться автономно для интеграции графиков в приложение;

Сырой и неудобный редактор;

Ставится отдельным web-приложением;

Для использования необходим Eclipse;

Отчеты, созданные в разных версиях несовместимы;

GNU Lesser General Public License

Последняя версия 6.2.2 (6 мая 2016 года)отчёты могут выводиться на экран, принтер, либо в форматы PDF, RTF,HTML, XLS, CSV и XML;

Использование динамических языков JavaScript и Groovy при реализации логики отчета;

Реализация диаграмм (charts) на основе библиотеки JFreeChart;

Реализация подотчётов (subreports) с неограниченной глубиной вложенности;

Реализация кросстаблиц (crosstabs);

Pentaho Reporting JFreeReport

Pentaho Community Edition (CE): Apache version 2.x; Pentaho Enterprise Edition (EE): Commercial License

Гибкое позиционирование элементов дашборда на макете;

Развитые инструменты визуализации отчетов;

Возможность вывода отчетов в форматах HTML, Excel, csv, xml, PDF, текстовых форматах;

Мало информации о применении;

Все основные фичи реализованы в коммерческой версии от Hitachi Group Company;

Apache 2.0 License

Генерировать отчет в формате шаблона или конвертировать результат в PDF;

Создавать шаблоны отчетов в привычных и распространенных форматах: DOC, ODT, XLS, DOCX,XLSX, HTML;

Создавать сложные XLS и XLSX шаблоны: с вложенными областями данных, графиками, формулами и т.д.;

Использовать в отчетах изображения и HTML-разметку;

Хранить структуру отчетов в формате XML;

Запускать standalone приложение для генерации отчетов, что делает возможным использование библиотеки вне Java-экосистемы (например для генерации отчетов в PHP);

Интегрироваться с IoC-фреймворками (Spring, Guice).

Нет внятного редактора;

Есть UI, который предоставляет платформа CUBA;

Как видно из нашего небольшого исследования, наиболее подходящим инструментом для нас стал JasperReports. В пользу этого open-source инструмента говорит наличие весьма удобного визуального редактора проектирования отчетов, богатого набора визуализаций, включая кросстаблицы, а самое главное — наличие REST API. Проектирование макетов отчетов в JasperReports не требует особых глубоких знаний, а результаты проекта сохраняются в xml-формат. Так же мы ориентируемся на опыт коллег, например, наши партнеры КРОК в своей статье https://habr.com/ru/company/croc/blog/244085/ рекомендуют использовать Jasper. «JasperSoft наибольшим образом подходит для построения фиксированной отчетности. Интересны любой компании, которой необходимы инструменты анализа данных». Конечно, у jasper есть определенные проблемы, когда требуется сделать гибкий шаблон, например, когда необходимо сделать гибкий вывод полей в таблице, но в нашей практике мы сталкиваемся как правило с фиксированными отчетами, которые обозначает заказчик.

Взаимодействие клиент-сервер с Jasper reports

Мы полагаем, что может быть интересным то, как именно мы встраиваем jasper отчеты непосредственно в платформу без лишних запросов к Jasper Server. JasperReports Server – это основной компонент системы. Его задача — хранить отчеты, которые будут встраиваться в платформу, а так же предоставлять возможность просмотра отчетов напрямую через специальный интерфейс. Вот пример как это выглядит в платформе

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

Читайте также:  Latte dock windows 10

Для того, чтобы получить отчет необходима авторизация в Jasper Server. Авторизация происходит путем передачи пары логин/пароль, а в ответ Jasper создает сессию и сохраняет session_id в куках. В обычном случае для того, чтобы напрямую взаимодействовать с JasperServer из JavaScript, нам необходимо авторизоваться, получить session_id из куки и запросить сам отчет. Однако на практике мы столкнулись с проблемой, что в случае использования кластера серверов с дублированием Jasper на всех инстансах, jasper отчеты то доступны, то недоступны для пользователя. Проблема заключается в том, что балансировщик, получив запрос от клиента, запрашивает ответ с разных JasperServer, но использует session_id только одного инстанса . То есть мы авторизовались в JasperServer на первом инстансе, получили от него session_id, затем c этим же session_id мы идем на другой инстанс и получаем ошибку доступа «с сообщением «Авторизуйтесь на JasperServer». Для решения этой задачи мы используем специальный проксировщик, который по сути является расширением бэкэнда платформы и устанавливается на все ноды кластера. Так как проксировщик установлен на том же сервере, что и Jasper server, ему нет необходимости обращаться по IP к ноде, а достаточно обратиться по localhost. Таким образом, балансировщик, передавая запрос от клиента на ту или иную ноду, запрашивает у проксировщика авторизацию уже на месте и гарантировано Jasper Server вернет ответ. Ниже представлен код проксировщика.

Проксировщик получает на вход некий URL отчета, который собирается из параметров на клиенте. По этому URL происходит авторизация в jasperServer, далее проксировщик достает из куки session_id и уже по нему запрашивает ответ непосредственно самого отчета. Ответ от jasper приходит виде html-страницы. Именно эту html-страницу мы передаем в iframe для отрисовки на клиенте, а не url, как это обычно бывает. Таким образом мы один раз запрашиваем отчет, далее вся работа с ним идет уже непосредственно на клиенте платформы.

Подкладываем html страницу от Jasper Server

generateReportUrl — метод, который генерирует URL с нужными параметрами для отчета и session_id.

Cоздание отчета в JasperReports

Далее поговорим про непосредственно создание отчетов и дашбордов в Jasper. Создание jasper отчета состоит из набора визуализаций, скомпонованных на едином макете: Для создания макета отчета мы используем визуальный редактор JasperSoft Studio, который может быть отдельным приложением или плагином для eclipse. Подробнее об этом инструменте можно легко найти информацию в документации и открытых источниках, Нам же важно выделить то, что в данном редакторе достаточно легко можно построить дашборд, а сам редактор достаточно удобен и понятен. Достаточно выбрать нужные визуализации, перетащить их на макет, заполнить параметры и функциональные элементы. Построение дашбордов не требует навыков программирования и каждый может разобраться с ними в достаточно короткое время. Ниже пример простого отчета в JasperStudio.

После того, как создали макет отчета, переходим к построению логики самого отчета. Jasper отчет представляет xml-файл в специальном формате jrxml. Структура jrxml файла условно можно поделить на три части: в первой части определяются параметры отчета, во второй части пишется запрос к данным, в третьей части описываются функциональные блоки макета, в которых происходит обработка результатов запроса и отображение данных в макете.

Начало структуры файла: пример параметров отчета

Далее предположим, что источником данных является во второй части после параметров пишем SQL-запрос

Стоит обратить внимание, что в запросе мы используем параметры $P, которые динамически приходят от клиента, что так же является фишкой Jasper.

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

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

Ключевым вопросом в построении отчета является передача параметров (фильтров) отчета от клиента на сервер. Для того, чтобы не отправлять пользователя на JasperServer и все параметры отчета заполнять в платформе удобным способом, Jasper предлагает использовать собственный REST API. Наличие такого мощного API было решающим аргументом в сторону выбора JasperSoft для автоматизации отчетности. Вместо того, чтобы создавать ресурсы и заполнять параметры в среде Jasper Server мы просто воспользуемся методами, которое предоставляет нам API и передадим параметры GET-запросом от клиента. API jasper позволяет не только параметризировать данные, используемые в отчетах, но и сами отчеты, что позволяет очень гибко отображать нужные дашборды

Итого

Резюмируя все выше описанное мы рекомендуем к использованию JasperSoft когда есть потребность в создании гибких отчетов согласно шаблонам заказчика. Для этого Jasper предоставляет весь необходимый инструментарий, а работать в ним достаточно просто и удобно.

Источник

Оцените статью