please provide compiled classes of your project with sonar.java.binaries


Si no está utilizando Maven, la forma de proporcionar bytecode varía según la versión de Java Plugin.

Desde SonarJava 4.12, debe especificar la propiedad sonar.java.binarieshttps://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

Ejemplo:  sonar-scanner -Dsonar.projectKey=fr.demo:my-project -Dsonar.sources=. -Dsonar.java.binaries=.

También puede analizar el código de prueba, y para eso debe proporcionar pruebas binarias y propiedades de bibliotecas de prueba .

Llave
Descripción
Versión
sonar.java.test.binaries Rutas separadas por comas a directorios que contienen los archivos compilados de código de bytes correspondientes a los archivos de prueba DESDE 3.2
sonar.java.test.libraries Rutas separadas por comas a archivos con bibliotecas de terceros (archivos JAR o Zip) utilizados por sus pruebas. (Por ejemplo, esto debería incluir el jar de junit).
Los comodines se pueden usar:

 sonar.java.test.libraries = ruta / a / specific / Library.jar, ruta / a / libs / *. jar, directorio / ** / *. jar
DESDE 3.2
sonar.java.binaries Rutas separadas por comas a directorios que contienen los archivos de códigos de bytes compilados correspondientes a sus archivos de origen.

Desde 4.12, el análisis fallará con el mensaje:

 Proporcione clases compiladas de su proyecto con la propiedad sonar.java.binaries
DESDE 2.5

REQUERIDO DESDE 4.12

sonar.java.libraries Rutas separadas por comas a archivos con bibliotecas de terceros (archivos JAR o Zip) utilizados por su proyecto.
Los comodines se pueden usar:

 sonar.java.libraries = ruta / a / specific / Library.jar, ruta / a / libs / *. jar, directorio / ** / *. jar
DESDE 2.5
sonar.binaries Rutas separadas por comas a directorios que contienen los archivos de códigos de bytes compilados correspondientes a sus archivos de origen ANTES 2.5
sonar.libraries Rutas separadas por comas a archivos con bibliotecas de terceros (archivos JAR o Zip).
Los comodines se pueden usar:

 sonar.libraries = ruta / a / specific / Library.jar, ruta / a / libs / *. jar, directorio / ** / 

A efectos prácticos . todo esto significa que para poder analizar su código java con el Sonar  a través del Sonar Runner si ha instalado el ultimo plugin deJava  , tamben tendra  que proporcionar los ficheros compilados (.class)  de todo las clases java a las  que quiera realizar un análisis de calidad

APIs para IoT


Las API están estrechamente vinculadas con el IoT porque le permiten exponer con seguridad los dispositivos conectados a los clientes, canales «Go-to-Market» y otras aplicaciones de su infraestructura informática. Las API conectan «cosas» importantes, como son los coches, dispositivos médicos, redes inteligentes y termostatos, con su ecosistema. .

Veamos algunas de las APIS de Iot mas representativos:

 

 

    ThingSpeak API

ThingSpeak es un plataforma de  IoT que permite recoger y almacenar datos de sensores en la nube y desarrollar aplicaciones IoT ofreciendo tambien aplicaciones que permiten analizar y visualizar sus datos en MATLAB y actuar sobre los datos. Los datos de los sensores pueden ser enviados desde Arduino, Raspberry Pi, BeagleBone Black y otro HW.

Thingspeak está en colaboración con Mathworksque es la empresa de Matlab y Simulink entre otros.

La API de ThingSpeak le permite crear aplicaciones de “Internet de las cosas”. Utilizar la API para crear aplicaciones en la nube que interactúan con los sensores y controles de cualquier cosa que soporta el protocolo HTTP. La API de ThingSpeak es capaz de interactuar con dispositivos de Arduino y ioBridge, iPhone y Android dispositivos móviles, sistemas de automatización del hogar, robots, termostatos, controles industriales, etcetera. ThingSpeak también admite la integración con servicios web externos como Twitter, Prowl, Twilio, WeatherBug y Foursquare, mediante el uso de la aplicación de ThingHTTP. Además de la API alojada libre, la API de ThingSpeak es open source y está disponible en GitHub para su descarga en servidores privados.

thingpeak.png

La API de ThingSpeak siempre trabaja con datos, esa es su gran especialidad. Es una API abierta para el Internet de las Cosas que permite recopilar, almacenar, analizar, visualizar y actuar sobre la información recogida en sensores y dispositivos como aplicaciones web y móviles, redes sociales como Twitter, soluciones de mensajería, VoIP y nube como Twilio, hardware de código abierto como Arduino, Raspberry Pi o BeagleBone (los reyes del Internet de las Cosas y la robótica) o con lenguajes de cálculo computacional como MATLAB… ThingSpeak es una API conocida entre los desarrolladores y dispone ya de una gran comunidad.

ThingSpeak API funciona siempre con canales, los cuales contienen los campos de datos, ubicación y estado. Para empezar a trabajar con esta interfaz es necesario crear un canal, donde se recopilará la información de dispositivos y aplicaciones, datos que posteriormente se pueden analizar y visualizar en gráficos  y el paso final es operar sobre esa documentación. El proceso con la API siempre es el mismo.

Al final, la ruta del proyecto con la API será parecida a lo siguiente, sustituyendo los campos CHANNEL_ID y FIELD_ID por los datos del canal recién abierto.

http://api.thingspeak.com/channels/CHANNEL_ID/charts/FIELD_ID

Un ejemplo del tipo de gráficos que se pueden crear fruto de la recogida, análisis y visualización con ThingSpeak son estas mediciones de temperatura:

Cosm.com

Pachube ha pasado de manos de forma alarmante : primero Pachube que se hizo famosa por monitorizar la radiactividad en Japon  , luego Xively.com   y ahora finalmente cosm ,com .

Esta veterana plataforma le permite almacenar, compartir y descubrir el sensor en tiempo real, datos de energía y medio ambiente de edificios u otros dispositivos. Pachube proporciona la mayor parte de su funcionalidad a través de su API, en lugar de a través de su sitio web. Complemento a los proyectos participantes en tiempo real para que, por ejemplo, edificios, entornos interactivos, contadores de energía en red, mundos virtuales y dispositivos móviles pueden hablar todos entre sí. Datos en tiempo real disponibles. Pachube hace uso de extendido entornos Markup lenguaje (EEML), que se extiende el protocolo de la industria de construcción IFC.

La API de Pachube permite almacenar, compartir y analizar en tiempo real los datos de energía o medioambientales recogidos por sensores en edificios y otros dispositivos. Toda la funcionalidad del sistema de Pachube viene dada por la API, que es la que facilita que la información generada por edificios, contadores de energía o dispositivos móviles con sensores sea recogida y analizada y que todos esos objetos estén conectados entre sí. Es el verdadero Internet de las Cosas.

La API de Pachube funciona en el entorno EEML (Extended Markup Language Environments), un protocolo para el intercambio de datos de sensores en ambientes a distancia, ya sean físicos o también virtuales (un ejemplo típico es la conexión con objetos de Second Life). Que exista un protocolo universal es lo que posibilita que las personas puedan compartir con la comunidad millones de datos en tiempo real de objetos, dispositivos o espacios de todo el mundo.

Los pasos a seguir para comenzar a trabajar con Pachube son bastante sencillos:

●       Agregar un dispositivo: el desarrollador da un nombre, una descripción y permisos de privacidad al dispositivo que quiere agregar y automáticamente se le asigna un ID y la clave de la API necesaria para conectar ese terminal.

●       Conectar el dispositivo: es necesario copiar el ID y la clave de la API en el código del objeto para establecer una relación bidireccional entre ambos. Se pueden conectar dispositivos, pero también apps o servicios. Para realizar esa conexión, aquí hay todo tipo de librerías para dispositivos Android, objetos programados en Java, C, Objective-C, Python, PHP, Ruby y JavaScript, y tutoriales para hardware abierto como Arduino o Raspberry Pi.

●       Prueba de funcionamiento: una vez agregado y conectado, el desarrollador puede empezar a ver valores de datos actualizados en tiempo real en su canal y depurar las alteraciones irregulares que vea en esa información.

 

 

Fitbit API

La API de Fitbit facilita a los desarrolladores el trabajo de interacción con los datos que son recogidos por cualquiera de los productos de Fitbit, ya sea una aplicación, un dispositivo o un servicio. Hoy en día, la API de Fitbit soporta la mayoría de lenguajes de lectura y escritura de información, pero ellos ofrecen una comunidad para desarrolladores donde es posible hacer sugerencias y evolucionar la API.

La API de Fitbit lo que permite en última instancia es que cualquier persona pueda desarrollar una aplicación para acceder y manipular datos recogidos por un dispositivo Fitbit, siempre y cuando cumpla dos requisitos obvios: deben ser datos relacionados con un usuario que sea él y no otra persona y cumplir con las condiciones de uso que establece la documentación de la propia API.

¿Cómo se puede empezar a probar y trabajar con la API de Fitbit?

●       Registro de la aplicación: el registro de la app permite obtener credenciales de cliente de la API. Para hacerlo es necesario disponer primero de una cuenta en el servicio de Fitbit (su apertura es totalmente gratuita).

●       El acceso a los datos de usuario se hace a través de autenticación OAuth. Las solicitudes a la API de Fitbit para leer y escribir datos de usuarios se hacen a través de este explorador de la API. Es posible también suscribirse a la API para tener la actualización de los datos en tiempo real

●       El desarrollador debe escoger alguna librería OAuth 2.0 que opere con el lenguaje de programación y marco de desarrollo utilizado para el flujo de datos. Sin esa librería no se puede crear el protocolo de autorización.

●       Las peticiones a la API necesitan de credenciales de usuario autorizado.

 

Constrúyase su propio amplificador 2.1 por 12€


En efecto aunque parezca increíble , es  posible  hoy en día construirse por uno mismo un potente amplificador de audio 2.1   por  muy poco dinero (12€)  ,  con la ventaja de que incluso gran parte de la electrónica ya estará montada y probada, de modo que  sólo necesitaremos hacer las conexiones de  alimentación,   así como cablear los conectores de entrada /salida y ya tendremos el amplificador listo.

En esta ocasión ,vamos a ver un amplificador 2.1  de la que hablamos en otro post   que cuesta unos 12€ en Amazon   en el que que básicamente   solo hay que alimentar  con  corriente continua DC entre  12-24 V   con una fuente conmutada y  conectar tanto la entrada de audio como las tres salidas a sendos altavoces.

La potencia de salida de los canales  izquierda y derecha es 50WX2 (max) y la salida de subwoofer de 100 w (max), la eficiencia puede llegar por encima de 90%,

Los canales izquierdo y derecho de rango completo, con 24 v tensión de alimentación pueden  conducir altavoces de 3-16 ohmios (es decir  una gama muy amplia) y en el caso del  subwoofer si se alimenta el montaje con 24 v  puede conducir un subwoofer, único de  impedancia  entre 2-16 ohm  teniendo en cuenta que a menor impedancia de los altavoces podremos conseguir una mayor potencia de salida.

 

placa.PNG

 

Las características de este modulo son:

  •  Tensión de alimentación: DC  12-24 V
  • Chip: TPA3116 *
  • Tipo 2 Cadena de 3: Channels (canal derecha, canal derecha, subwoofer)
  • Potencia de salida: 50 *1 *2 RMS subwoofer    sobre  8 ohmios
  • Gama respuesta en frecuencia: 14-100 KHz
  • SNR 100dB de frecuencia: conmutación: 1,2 MHz
  • Tamaño PCB  100 cm *70 *%2F 30 mm **3,94 2,75 1,18in (la + W H)
    1 *2,1 canales bordo de amplificador de audio

 

Es interesante destacar que para alimentar este amplificador debemos usar un fuente conmutada entre 12 y 24V DC  de unos 18Amp   dada la gran intensidad necesaria,  pues sería mucho mas costoso, voluminoso e ineficiente  cubrir la alimentación con una fuente  convencional  regulada basada  en el clásico transformador con el puente de diodos , gran condensador  y el circuito   de regulación.

 

El amplificador de audio

Un amplificador 2.1 que podemos comprar ya montada   se  basa  en usar dos  CI:

  •  Un TPA3116D2 en modo maestro 400 kHz, BTL, ganancia si 20 dB, límite de potencia no implementado.
  • Un TPA3116D2 en Esclavo, ganancia del modo PBTL de 20 dB. Las entradas están conectadas para entradas diferenciales.

Es decir usamos dos CI   TPA3116D2 , uno para componer la salida stereo de 50+50W     para dos canales de audio  y un segundo  en configuración mono  para entregar un tope de potencia de 100W

El esquema del montaje como vimos es el siguiente:

esquema.PNG

Por su tipo de alimentación, también esta placa es  muy adecuado para dispositivos que funcionan con baterías, tales como motocicletas, coches, coches eléctricos, y así sucesivamente.

El  condensador de filtro principal es 4700 uf 35 v, pero para la amplificación de potencia al usar un chip de limitación, este amplificador puede aceptar sólo desde 12v hasta 24 v DC de alimentación y asi  el condensador  trabajará en buenas condiciones.

 

Alimentación del circuito

En cuanto los requisitos de suministro de energía para el TPA3116D2 consisten en un suministro de mayor voltaje para alimentar la salida  etapa del amplificador de altavoz. Varios reguladores en chip están incluidos en el TPA3116D2 para generar voltajes necesarios para el circuito interno de la ruta de audio. Es importante tener en cuenta que los reguladores de voltaje  que se han integrado se dimensionan solo para proporcionar la corriente necesaria para alimentar el circuito interno.

Los pines externos se proporcionan solo como un punto de conexión para  condensadores de derivación fuera de chip para filtrar el suministro.
La conexión de circuitos externos a estas salidas del regulador puede reducir el rendimiento y dañar el dispositivo. La fuente de alta tensión, entre 4.5 V y 26 V, suministra la circuitería analógica (AVCC) y la potencia etapa (PVCC). El suministro de AVCC alimenta LDO interno, incluido GVDD. Esta salida LDO está conectada a
pines externos para fines de filtrado, pero no deben conectarse a circuitos externos. (la salida de GVDD LDO  ha sido dimensionado para proporcionar la corriente necesaria para las funciones internas pero no para la carga externa)

Dada las características  de estos CI  ,por tanto podemos alimentarlos  con batería 12 o 24V   o bien una fuente conmutada de 12-24V de al menos 15 Amp ( con un consumo  máximo típico 7.5 Amp)

A la hora de hacer las  conexiones , solo necesitamos conectar la alimentación externa de 19V  de 6Amp    mayor o igual que 120W     bien por el jack de 5.5mm -2.1(2.5) con masa al negativo) o bien a la ficha de conexiones que hay justo al lado del conector de alimentación (mucho cuidado con equivocarse  de polaridad)

Una buena solución es optar por una fuente de alimentación de ordenador portatil de 120W(recomendable al menos de 20V como por ejemplo las de ordenadores HP)

power.png

Conexiones

La conexiones del circuito no pueden ser mas simples  ya que la placa en si mismo ya integra los controles individuales de los tres amplificadores  de forma individualizada

Los conectores de los altavoces simplemente los conectaremos a las salidas en  la regleta marcada como BASS, OUTL  y OUTR

 

salidas.png

Aunque pueda parecer poco relevantes , también aquí se debe respetar escrupulosamente la polaridad de las conexiones a los altavoces pues si uno se equivoca   los altavoces funcionaran en contra-fase  reduciéndose así la potencia de salida total.

 

Respecto la entrada de audio es esterero bien por un jack de 3 1/2″ stereo  o bien con un conector   macho  que hay junto al propio jack. S

entradas

Respecto a los tres potenciómetros :

  1. El de la izquierda es el control de volumen estéreo (sólo para el ajuste de los canales izquierdo y derecho)
  2. El central es el control de volumen del Subwoofer
  3. El control de volumen derecho es global (para 3 canales de ajuste)

 

Una solución sencilla es fijar la placa a una tabla de madera  de aproximadamente las dimensiones de la placa del amplificador y  cortar un plancha de aluminio doblándola por los 4 costados para hacer una caja

Para evitar que se toquen las conexiones de los altavoces lo mejor es colocar jack aéreos pues si conectaremos jacks metálicos estos conectarían la masa al chasis, cosa que debemos evitar pues las salidas de los altavoces como vemos en el esquema son independientes y no comparten la masa

Personalmente recomiendo estañar los cables de audio incluso aunque lo vayamos  a fijar a las tres regletas de salida de los altavoces

 

IMG_20171120_195239[1].jpg

 

En la siguiente fase recomiendo conectar los jacks aereos , en este caso del tipo RCA.

 

IMG_20171120_195510[1].jpg

 

Asimismo  practicaremos tres sendos taladros  para los tres potenciómetros  y un cuarto para un pequeño led indicador de funcionamiento cuyas conexiones irán  a la regleta de alimentación  con una pequeña resistencia limitadora .

 

IMG_20171120_195520[1]

 

Por ultimo queda ajustar  los botones de plástico( entran a presión pero si no aprietan simplemente deberemos abrir un poco el eje con un destornillador plano )      y los tornillos  que fijan la carcasa de aluminio a la base de madera

 

IMG_20171120_195655[1].jpg

 

Sobre la fuente de alimentación , como se pude ver, usamos una fuente de 20V de un viejo portatil HP  que conectaremos al jack izquierdo de la pcb  por medio de un nuevo jack

 

IMG_20171120_195751[1].jpg