Entorno abierto y gratuito para simulacion


MyOpenlab es un entorno orientado a la simulación y modelado de sistemas físicos, electrónicos y de control con un amplio campo de aplicaciones: Simulación de Circuitos digitales y/o Analógicos,Simulación de Instrumentos, Simulación de Automatismos, Modelado de Fenómenos Físicos, Simulación de Automatismos, Simulación de Robots, Control de Elementos Físicos mediante Interfaces, Tratamiento de Imágenes y Sonidos, Operaciones con matrices y vectores 2D y 3D,etcMyOpenLab es una plataforma libre, licencia LGPL ,gratuita y en la que son  soportados los idiomas  Ingles ,alemán y español.

Esta herramienta esta recomendada para estudiantes de prácticamente todos los niveles  , estando desarrollada en el lenguaje JAVA  y  Netbeans (no afecta a las plataformas hw) siendo por ello  portable a distintas plataformas  tanto  para Linux ,Mac como para Windows.

En el campo del modelado y simulación es muy interesante contar con una herramienta flexible que a partir de una amplia biblioteca de bloques funcionales permita realizar modelos a base de conectar bloques funcionales.

MyOpenLab es capaz de conectarse al mundo físico mediante una interface de amplia difusión en el mercado como es la Tarjeta Experimental (USB) K8055 de Valleman. También soporta Velleman (R) PCS10 / grabador K8047 / registrador, USB CompuLab Interfaz (bus de módulo),Arduino (actualmente con los componentes «IO de interface» y «Firmata IO Interface» disponibles) y en general  cualquier hardware que implementa el protocolo Firmata y Balón por encima del RS232.

La  placa HQ K8055N – Tarjeta interfaz USB de experimentación de Velleman( unos 36€ en Amazon.es )  es muy útil para la realización de aplicaciones de adquisición de datos y control con PC pues la conexión al PC es mediante USB. La K8055 no es programable lo que significa que para que funcione debe estar siempre conectada al puerto. El control, pues, lo realiza siempre el PC con la aplicación de MyOpenLab que esté en ejecución.

HQ K8055N - Tarjeta interfaz USB de experimentación

La presentación de los resultados y/o el control de las simulaciones se hacen mediante un potente conjunto de bloques de función de visualización y/o interacción capaz de manejar todo tipo de datos (analógicos, digitales, matrices, vectores, imágenes, sonidos, etc.)

A la facilidad de uso se  une una amplia biblioteca de funciones tanto para manejo de señales analógicas como digitales como por ejemplo librerías de elementos de Visualización y Control (Panel Frontal):Elementos de Decoración, Elementos de visualización numérica ,Elementos de activación digital ,Elementos de Entrada y salida de cadenas de caracteres,Elementos de entrada y salida tipo vectores y matrices de datos,Elementos de visualización gráfica en ejes coordenados I ,Elementos de visualización gráfica en ejes coordenados II,Librería de Extras,Elementos de Automatización ,Elementos de librería de usuario ,Robot 2D  
y también  librerías de Elementos Funcionales (Panel Lógico) : Elementos de decoración ,Operadores Digitales,Operadores Numéricos,Tratamiento de Caracteres,Elementos Analógicos,Utilidades,Ficheros de Entrada/Salida,Comparadores,Tratamiento de Imágenes,Tratamiento de Sonidos,Color,Pines de E/S,Vectores y matrices,Agrupación de Elementos,Objetos Gráficos “canvas”,Librería de Física,Librería de Diagramas de Flujo,Librería de Extras,Librería de Conexiones entre aplicaciones,Librería definida por el Usuario,Automation+librería de Automatización Interfaces  así como  otra  potente biblioteca de objetos gráficos tipo «canvas» mediante la que se puede dotar de       movimiento cualquier objeto o imagen asociándola a variables de los modelos a simular.

Incluso es posible la ampliación de su librería de componentes, editándolos en código JAVA , así como  creando  «submodelos de panel» y «submodelos de circuito» encapsulados.

Otras de las facilidades del programa es el tratamiento de los tipos de datos ,permitiendo crear pantallas de visualización que recojan el estado de las variables y eventos de las simulaciones y operaciones con estos,  llegando incluso a la realización de las aplicaciones mediante el uso de bloques de función con la posibilidad de encapsularlos en «macros».
myopen

El programa puede funcionar en plataformas Linux y sus requerimientos de sistema son muy poco restrictivos, lo cual lo hace ideal para usar en casi cualquier equipo, bastando con  que se instale el runtime de JAVA JRE o JDK.

Para instalar este programa  puede seguir los siguientes pasos:

  1. Descargar MyOpenLab ,para conseguir el programa diríjase a : http://es.myopenlab.de

  2. Si no lo tiene ya descargue Java SE 7 o posterior del http://java.com/de/.

  3. Descomprimir el Archivo de distribución con Winzip o WinRar. (Precaución: no se ejecutan directamente desde el archivo)

  4. En el directorio descomprimido el archivo Ejecutar «start.bat»

  5. Confirmar licencias (sólo la primera vez)

  6. Ahora puede cargar un proyecto de ejemplo y ejecutar (estos están en el directorio MyOpenLab: por ejemplo: ejemplos)

  7. Nota para los usuarios de Linux:Antes de empezar a MyOpenLab usted deberá ejecutar  chmod + x start_linux en el directorio de distribución de otro modo run.

  8. Nota para los usuarios de Ma3 RS232 no funciona en el Mac .

Requisitos:

  • Desde Windows XP 32/64, 32/64 Linux
  • Java 7

  • Para aplicaciones 3D: (Sólo para Java 7) Java3D

  • Mínimo espacio en disco duro minuto 50 MB

  • Pantalla de activación min. 1024×768 píxeles

Ahora puede unirse al grupo de trabajo de MyOpenLab. El código fuente y compilado esta disponible enhttps://sourceforge.net/p/myopenlab3/

Tutorial IoT con Fiware


Gracias a  Telefónica R&D Chile( Telefónica I + D Chile) nos  ofrecen   un interesantisimo tutorial  intruductorio sobre  IOT   concretamente usando la plataforma Orion Context Broker  (FIWARE ) con Arduino aunque puede extrapolarse  a otras placas de IoT ( por ejemplo Netduino ,Intel Edison o Raspberry Pi)

 

Un punto interesante para analizar el IoT (Internet of Things  )es el uso de las normas. Para el caso concreto vamos a revisar más adelante en la sección Orion Context Broker, una adaptación basada en la especificación OMA (Open Mobile Alliance) NGSI (Next Generation Service Interface).  En términos simples, esto significa que las peticiones HTTP o acciones que deben utilizarse son los que están actualmente empleados por los navegadores tales como GET, POST, DELETE y PUT para interactuar con el contexto Broker.

Configuración de hardware

Los componentes que vamos a utilizar son:

  •  Una placa Arduino (hay muchas alternativas, pero una versión con WiFi es esencial)
  •  Una placa protoboard
  •  LEDs
  •  Cables de conexión
  • Un router o un dispositivo celular que pueden ofrecer Wi-Fi (tethering)

Como se ha comentado en este blog , Arduino tiene su propia interfaz de desarrollo utilizando el lenguaje C ++ y se integra una serie de librerías para facilitar la  aplicación de prototipos. Esto no quiere decir que Arduino no se puede utilizar en entornos industriales o de alta demanda. Sin embargo, en estos escenarios cuestiones de costos por lo general conducen a la utilización de componentes ad-hoc.

Al observar la estructura, se puede reconocer algunos pines digitales en la parte superior y analógicas pines en la parte inferior (idéntico  a muchas otras placas como Netduino). Además, en la parte inferior, también  hay una  fila de conectores para alimentar al propia  placa u otras que se conecten. Por supuesto la  placa   también  tiene un conector a una toma de corriente y un conector mini USB, entre otros componentes, dependiendo de la versión de la tarjeta y si se utiliza add-on «escudos» o no.

Si conectamos un LED a la placa podemos hacerlo directamente, conectando el ánodo LED de pin digital 13 y el cátodo del   led  al pin de   GND como se ve aquí.  Hay que señalar que es interesante conectar  entre el pin digital 13 con una resistencia de 220 ohmios para proteger el diodo led , pero estrictamente podría omitirse dicha resistencia.

led.jpg

 

Por último, este mismo esquema se puede usar para agregar más LEDs o sensores de nuestra placa Arduino para que pueda añadir más funcionalidades. Para ello hay que recordar que en un tablero de alimentación corre horizontalmente en los puntos exteriores y vertical en los puntos interiores

 

Arduino, software and communications Arduino, software y comunicaciones

En este ejemplo  vamos a aprender cómo programar la placa Arduino con el fin de activar el LED se instaló en la segunda parte y se apaga. A continuación, vamos a utilizar una conexión a Internet con WIFI  en  la placa.

Como requisito previo, hay que ya hemos configurado el software de Arduino según nuestro sistema operativo. Además, hay que tener USB de la placa conectada a nuestro ordenador para cargar el programa a nuestra placa (  consulte  aquí para ver cómo instalar el software en una placa Intel Edison).

Debe onviamente seleccionar la versión del software que corresponde a su sistema operativo.  Una vez que el software está configurado e instalado abrimos nuestra IDE hasta el comienzo de la codificación.

sketc

 

Vamos  a ver  un ejemplo de la IDE Arduino.  Este ejemplo es específicamente para el IDE para los conjuntos de Intel, aunque los conceptos son los mismos. En la segunda fila de menú (donde el icono de comprobación es), encontrará los comandos para compilar y cargar nuestros desarrollos a la placa.   Si examina el código, tenemos dos funciones.  Uno es de configuración, donde las variables se inicializan y el bucle en el que se ejecutan las operaciones según se requiera. En el menú Archivo tenemos los ejemplos de opciones – 01 Básico – Blink. Esto mostrará una nueva ventana con el código necesario para poner a prueba nuestra LED:

/*

Blink Parpadeo

Se enciende un LED durante un segundo, luego se apaga durante un segundo, en repetidas ocasiones.

Este código de ejemplo está en el dominio público.

*/ Pin 13 tiene un LED conectado en la mayoría de las placas Arduino.

// Darle un nombre:

int led = 13;

// La instalación se ejecuta de rutina una vez cuando se presiona RESET:

void setup() { 

// Inicializar el pin digital como salida.

pinMode (led, OUTPUT);

}

// La rutina de bucle se ejecuta una y otra vez para siempre:

void loop() {

digitalWrite(led, HIGH);  //  Enciende el LED (ALTA es el nivel de tensión)

delay(1000);  // Espera un segundo

digitalWrite(led, LOW);  //  Apagar el LED haciendo que la tensión BAJA

delay(1000);  // Espera un segundo

}

El ejemplo que genera Arduino es bastante simple.  En la línea 10 se establece una variable con el número pin correspondiente en la placa . Posteriormente, el pasador la variable se  configura  como salida y se inicializa. Y, en el bucle, el LED se enciende y se apaga separado por un retraso de un segundo .

Antes de cargar el código anterior en la placa , el IDE se debe configurar para que sepa la placa  y qué puerto se  está utilizando:

Select Tools> Board> Intel Edison Seleccione Herramientas> Junta> Intel Edison ( para el caso de una placa Intel Edison)

Select Tools> Port> dev / ttyACM0 Seleccione Herramientas> Puerto> dev / ttyACM0

Ahora bien, si la tarjeta está correctamente conectada al puerto USB, podemos ‘Subir’ el código de la tarjeta (Ctrl + U) y deberíamos ver nuestra LED encendido y apagado de cada segundo.

 

Ahora para usar el wifi, tenemos que trabajar un poco más.  Por suerte, en los ejemplos de Arduino, tenemos una sección de WIFI con diferentes alternativas utilizando las soluciones de redes.  Entre ellos se encuentran los servidores Telnet y clientes, servidores Web y clientes, e incluso un cliente de Twitter.

CONSEJO: En nuestro caso, por motivos de simplicidad, podemos utilizar un cliente Web ya que vamos a enviar solicitudes posteriormente al corredor Orion Contexto utilizando el protocolo HTTP.  Tenga en cuenta que hay mejores soluciones, pero para los propósitos educativos vamos a tratar de minimizar el código tanto como sea posible.

#include <SPI.h>

#include <WiFi.h> >

/ ************************** /

/ * * Configuración de la instalación /

/ ************************ /

char ssid[] = «YourWifiSSID»;//Nombre de la red

char pass[] = «WifiPassword»; //Contraseña de red

char server[] = «130.206.80.47»;  // ORION IP address -> Create in /lab/ // Dirección IP ORION -> Crear en / lab /

int status = WL_IDLE_STATUS; int estado = WL_IDLE_STATUS; // we predefine the status as On but not connected // Nos predefinimos la condición pero no conectada

int led = 13; int LED = 13; // We initialize a variable to assign the pin number to which the led will be connected // Inicializamos una variable para asignar el número de identificación personal al cual se conectará el LED

/**

* Configuración Configuración Arduino

* (Ejecutar una sola vez)

**/

void setup() {

// Inititialization del puerto serie Arduino

Serial.begin(9600);

while (!Serial) {

// Esperar para el puerto serie para conectar. y Necesario para Leonardo solamente

}

// Comprobar que la placa tiene un escudo WiFi

if (WiFi.status() == WL_NO_SHIELD) {

Serial.println(«Wifi shield is not available»);

// No continúe con la instalación, o en otras palabras, se quedan aquí para siempre

while(true);

}

El código completo está disponible en:

https://bitbucket.org/tidchile/ecosystem/src/ https://bitbucket.org/tidchile/ecosystem/src/

FIWARE  y Orion Context Broker

Como se ha discutido anteriormente en este ejemplo, el Broker de Orión define un contexto como un servicio que en base al stándar  OMA NGSI 9/10 puede manejar el envío y recepción de información contextual.  ¿Qué significa esto?  En primer lugar, para manejar un gran número de mensajes de entidades y administrar las actualizaciones, consultas, y también se encargan suscripciones de datos de las entidades. Recordemos que, según la NGSI 9 y 10 estándares, nos ocupamos de las entidades como una abstracción de los nodos físicos o dispositivos utilizados en las soluciones de la IO.

En el ejemplo anterior, hemos hecho una solicitud de actualización a una entidad ya creada.  Pero primero vamos a revisar cómo trabajar con Orión. . Una manera simple de probar el servicio OCB es crear una cuenta en https://account.lab.fiware.org/ y crear una máquina virtual con Orion preconfigurada en la sección de la nube. Alternativamente, el sitio y el acceso GitHub de Orión descargar una máquina virtual para ejecutar en nuestro entorno local

Otra herramienta útil es un cliente REST, pero podemos usar cURL si parece más sencillo. RESTClient es un cliente para Firefox que es bastante fácil de usar.

Los aspectos de configuración de la OCB están fuera del alcance de este tutorial, ya que requeriría demasiados detalles.  En cuanto al Laboratorio fiware, es importante tener en cuenta que fiware proporciona máquinas virtuales en la nube de forma gratuita para probar fiware compontents. Sólo tiene que crear una cuenta para acceder a los servicios. Sólo una advertencia rápida. . A partir de hoy (19-03-2015) y temporalmente, España no tiene recursos disponibles, pero hay otras regiones en las que las máquinas virtuales se pueden crear.

Cuando tengamos las herramientas necesarias, la forma más básica para interactuar con la OCB es:

1. Creando una entidad:Para ello hay que tener en cuenta varios factores.  En primer lugar, la llamada se envía como una solicitud HTTP POST, por ejemplo, http://myhost.com:1026/v1/updateContext.  Con esto queremos decir que estamos ocupando la versión 1 del API con la operación updateContext.

También tenemos que definir varias variables en la cabecera de la solicitud:

Accept: application/json

Content-Type: application/json

X-Auth-Token: [TOKEN AUTHENTICATION]

En cuanto a la generación de tokens, la forma más sencilla es utilizar un script en Python creado por Carlos Ralli en GitHub. Se necesita una cuenta FIWAREy ejecutar el ‘get_token.py  se requiere la escritura’.

Después de configurar el encabezado de la solicitud, configurar el «cuerpo» de la solicitud mediante el siguiente código JSON:

{

«contextElements»:[

{

«type»:»LED»,

«isPattern»:»false»,

«id»:»LED001″, «

«attributes»:[

{

«name»:»switch»,

«type»:»bool»,

«value»:»false»

}

]

}

],

«updateAction»:»APPEND»

}

Esta es la estructura de un «contexto Elementos», que es un grupo de entidades con ciertos atributos, tales como, «isPattern» e «id», «tipo». » type »  se refiere a un tipo definido y permite la búsqueda de entidades por un tipo particular. «Id» es un atributo que debe ser único para cada entidad para ejecutar búsquedas en base a este ID. «IsPattern» se explicará más adelante en el punto No. 2.

También puede agregar una serie de atributos de la entidad en la propiedad «atributos», donde cada atributo se define por el «nombre», «tipo» y «valor». Por último, «updateAction» define si vamos a realizar un «añadir» o y «UPDATE».

Si todo va bien, vamos a recibir una respuesta 200 OK desde el servidor y que nos dará los detalles de la entidad creada:

{

«contextResponses» :

{

«contextElement» : {

«type» : «LED»,

«isPattern» : «false»,

«id» : «LED001», «

«attributes» :

{

«name» : «switch»,

«type» : «bool»,

«value» : «»

}

]

},

«statusCode» : { «

«code» : «200»,

«reasonPhrase» : «OK»

}

}

]

}

2. Consultar la entidad: Para consultar una entidad, la operación estándar es ‘queryContext’ que sería http://myhost.com:1026/v1/queryContext.También aplicamos las cabeceras que se describen en el punto No. 1 y el uso post.

El JSON utilizado en el cuerpo de la petición sería la siguiente:

{

«entities»:[

{

«type»:»LED»,

«isPattern»:»false»,

«id»:»LED001″

}

]

}

Aquí es donde puede utilizar «isPattern» en «verdadero» y trabajar bien en el campo «tipo» o el campo «id» con expresiones regulares si queremos ejecutar una búsqueda un poco más compleja. En el ejemplo anterior sólo estamos buscando la misma entidad creada a través de la «id».

También hay una manera más sencilla de hacer la misma consulta utilizando la siguiente solicitud: GET http://myhost.com:1026/v1/contextEntities/LED001 donde LED001 es el «id» de la entidad a buscar.

3. Actualización de la entidad: Esto es idéntico al punto No. 1, pero cambiando el atributo «updateAction» de «añadir» a «UPDATE».

Por último, la integración de todo lo que hemos revisado, seremos capaces de generar una acción desde una página Web sencilla que se puede implementar en un servidor remoto y, de hecho demostrar que el LED de la aplicación se activa de forma remota utilizando la OCB.

Para ello vamos a utilizar el LED001 de reciente creación, estableciendo el atributo «interruptor» de verdadero a falso y viceversa para comprobar la acción.

Nuestra web se vería así:

 

ejemplño

Para ello, el código html, css y js se comparten en:   https://bitbucket.org/tidchile/ecosystem/src/ https://bitbucket.org/tidchile/ecosystem/src/

 

 

 

Fuente    aqui

LLega la Raspberry Pi 3


Con  más de ocho millones de unidades vendidas , incluyendo tres millones de unidades de Raspberry  Pi 2 , nadie duda  que Raspberry es una plataforma  muy exitosa ,  tanto que de hecho la Fundación Raspberry Pi ha crecido de un puñado de voluntarios a llegar a más de sesenta empleados a tiempo completo, ! e incluso  han enviado un Frambuesa Pi a la Estación Espacial Internacional !

Desde hace unos meses por fin ya  esta disponible en Amazon  la nueva Raspberry Pi 3 Modelo B   ,la última placa de la familia de Raspberry Pi  ,una placa 10 veces más potente que la original (es decir la primera versión) ,  donde   lo mas destacable  es que se ha añadido   conectividad inalámbrica integrada tanto por wifi (soportando los estándares  802.11 b/g/n) ,  como  por  Bluetooth ( versión 4.1).

Hablando de conectividad ,la nueva placa  incorpora el chip BCM2837 junto el chip inalámbrico «combo» BCM43438 . Gracias  a esta combinación de CI,  ha permitido  adaptar la funcionalidad inalámbrica en casi el mismo factor de forma de los modelos anteriores como el Raspberry Pi Modelo B + 1 y Raspberry Pi 2 Modelo B. De  hecho  el único cambio es que la posición de los LEDs los  han trasladado al otro lado de la ranura de la tarjeta SD para hacer espacio para la antena.

Ademas,para Raspberry Pi 3 Modelo B , Broadcom  ha apoyado un nuevo SoC, el  BCM2837, el cual  conserva la misma arquitectura básica que sus predecesores BCM2835 y BCM2836, por lo que todos los proyectos y tutoriales que se basan en este  hardware de la Raspberry  Pi continuarán funcionando.

broadcom

Comparable con el modelo  anterior (Raspberry pi 2 model b  ) , esta nueva placa   destaca  por usar un procesador   de  64  bits : un  ARM Cortex-A53  de  cuatro núcleos  a una velocidad de reloj  de 1,2 GHz  en lugar de un  Quad-Core Cortex A7 de 32 bits  a 900 MHz de su antecesor ( Raspberry Pi  2 modelo B), por lo  que vemos que el cambio de procesador  ha sido espectacular no solo por la velocidad de reloj superior (de 900 Mhz  a   1,2 GHz) ,  sino básicamente  por el cambio de arquitectura también ARM ,pero  de 64 bits en lugar de la antigua de 32 bits .

La combinación final   de un aumento del 33% en la velocidad de reloj con varias mejoras en la arquitectura, ha permitido  proporcionar un aumento del 50-60% en el rendimiento en el modo de 32 bits frente a la Raspberry Pi 2, o aproximadamente un factor de diez sobre el original Raspberry Pi.

Sobre la memoria  RAM cuenta  con 1GB LPDDR2 ( la versión anterior también contaba con 1GB)  y a nivel de gráficos también han mejorado   pues cuenta con  un Dual Core VideoCore IV ® Multimedia Co-procesador.

Sobre los conexiones disponibles sin embargo ,  no ha cambiado sustancialmente  , contando  como en la versión anterior  con las siguientes posibilidades:

  • 4 Puertos  USB 2.0
  • Puerto de  GPIO de 40  pin,
  • Salida HDMI rev 1.3 y 1.4
  • Toma  Ethernet
  • Jack de audio de 2  1/2″ ,
  •  Interfaz de cámara (CSI)
  • Interfaz de Pantalla (DSI)
  • Lector  micro SD

 

Todos los conectores anteriores  están en el mismo lugar y tienen  la misma funcionalidad, y para alimentar la placa  todavía se puede usar un  adaptador de alimentación de 5V micro-USB, pero en esta ocasión, están recomendando un adaptador 2.5A por si desea conectar dispositivos USB que consumen mucha energía  de la Raspberry Pi.

Usted necesitará una imagen reciente NOOBS o de Raspbian  que puede descargar desde la pagina  de  descargas . En el lanzamiento, están utilizando el mismo espacio de usuario de 32 bits Raspbian usada en otros dispositivos Raspberry Pi; pero en los próximos meses van a trabajar  el movimiento al modo de 64 bits.

 

La nueva placa no es solo un dispositivo estupendo para programar sino que también es   ideal para jugar y experimentar incluso  para sus futuros proyectos de IoT.

Algunas dudas 

¿Está versión descontinúa modelos anteriores Frambuesa Pi? No  sus fundadores  tienen  gran cantidad de clientes industriales que querrán seguir con Raspberry  Pi 1 o 2 por el momento  así qeu van  a mantener la construcción de estos modelos durante el tiempo que haya demanda. 

¿Qué pasa con el Modelo A +? Modelo A + sigue siendo el nivel de entrada económico de Raspberry  Pi por el momento.Su fundadores  esperan producir una 3 Raspberry Pi Modelo A, con el factor de A +  durante el 2016.

¿Qué pasa con el módulo de cómputo? Esperan introducir un módulo de cómputo basado en BCM2837 3 en los próximos meses.

¿Todavía usa VideoCore?Sí. VideoCore IV 3D es el único núcleo de gráficos de  3D para SoC basados ​​en ARM documentado públicamente, y quieren  hacer una Rspberry Pi más abierta con el tiempo. BCM2837 ejecuta la mayor parte del subsistema VideoCore IV a 400MHz y el núcleo 3D a 300 MHz (250 MHz frente a los dispositivos anteriores).

¿De dónde viene la cifra «10 veces más rendimiento» viene?10x es una figura típica de un punto de referencia de la CPU multi-hilo como SysBench. Las aplicaciones del mundo real verán un aumento de rendimiento de entre 2,5x (para aplicaciones de un solo subproceso) y> 20 veces (para los códecs de vídeo NEON habilitado).

 

Sin duda el producto es muy recomendable para muchas aplicaciones, incluso   supliendo  funciones de automatización que antes requerían un ordenador de sobremesa o por ejemplo como potente centro multimedia

Por cierto, si le   interesa este modelo,   por menos  de 50€  con gastos de envío incluido puede conseguirlo  en Amazon