Como supeditar el encendido de una TV al de un descodificador,Blueray u otros dispositivos ( parte 1)


Puede parecer  extraño , pero cada vez tenemos dispositivos  conectados a nuestro TV  que  suelen ser  el origen de  vídeo  por defecto  como pueden ser dispositivos Android   TV, reproductores blueray, etc.  o   sobre todo descodificadores de TV  

En este sentido  podría ser interesante  supeditar  automáticamente el  encendido  de la TV  al de la fuente de vídeo ( normalmente un descodificador de TV) , para lo cual   vamos a intentar implementar una solución que lo automatice

Pensando en una solución , una aproximación  podría ser basarse en  las señales de infrarrojos entre el TV  y la fuente de vídeo ,pero esto conlleva mucha complejidad pues en el mercado existe una infinidad de marcas  y modelos de  dispositivos diferentes , que haría  muy difícil  contemplar un método practico para resolverlo , así  que debemos pensar en otra solución …

Pensando  en la variación del consumo de un dispositivo  ,una solución puede pasar por detectar  esa variación  de consumo   y con ello  sabremos si debemos o no activar la TV , para lo cual nos puede basta el sensor   ACS712    , un  Modulo Sensor de corriente para Arduino con un rango de medida máximo de 5 Amperios ( suficiente para la mayoría de los dispositivos  que conectaremos al TV) 

Este sensor esta basado  en efecto Hall   que detecta el campo magnético que se produce por inducción de la corriente que circula por la línea que se está midiendo , por lo que no hay disipación de potencia a través de este como ocurriría  con soluciones clásicas  que  usarían una resistencia de valor bajo  en serie  para medir la corriente que circula por ella  y el circuito (pero  con el consiguiente disipación  de potencia en esta )

Concretamente  en las pruebas  junto a un Arduino UNO , usaremos el  chip sensor  ACS712ELC-05A  alimentado  con  5V a través del propio Arduino ( lleva un led a bordo como e indicador de energia) 


El modulo puede medir los positivos y negativos de máximo 5 amperios, correspondiente a la salida analógica 185mV / A   entregando una salida de voltaje proporcional a la corriente, Dependiendo la aplicación podemos usar otros módulos  como el ACS712-05A, ACS712-20A o el ACS712-30A, para rangos de 5, 20 o 30 amperios respectivamente

El  ACS712  podemos encontrarlo en módulos, los cuales nos facilitan sus conexiones, Este modulo  trae una bornera para conectar la línea que queremos medir ( el descodificador)  y 3 pines por el otro extremo: dos para conectar la alimentación y un pin para la salida analógica.

Para las conexiones en el módulo debe  guiarse por los nombres de los pines, en algunos modelos vienen en diferente orden pero marcados en la serigrafia como Gnd,Out  y Vcc . En nuestro caso Vcc ira al pin +5V de Arduino, GND al GND del Arduino y  Out lo conectaremos al pin analógico de Arduino  A0 

En los terminales opuestos del  ACS712  conectaremos  en serie la alimentación del Descodificador ,o dispositivo que  vaya a controlar  la TV . Para medir la corriente se  debe conectar en serie con el dispositivo o carga, nunca conectar en paralelo a la fuente de voltaje.

 

 

El rango de corriente que podemos medir y sensibilidad varían dependiendo del modelo del integrado, existen tres modelos los cuales detallamos a continuación:

Modelo Rango Sensibilidad
ACS712ELCTR-05B-T -5 a 5 A 185 mV/A
ACS712ELCTR-20A-T -20 a 20 A 100 mV/A
ACS712ELCTR-30A-T -30 a 30 A 66 mV/A

El sensor  ACS712  nos entrega un valor de 2.5 voltios para una corriente de 0A y a partir de allí incrementa proporcionalmente de acuerdo a la sensibilidad, teniendo una relación lineal entre la salida de voltaje del sensor y la corriente. Dicha relación es una línea recta en una gráfica Voltaje vs Corriente donde la pendiente es la sensibilidad y la intersección en el eje Y es 2.5 voltios. La ecuación de la recta seria la siguiente

ecuacion V vs I en ACS712

Donde la pendiente es m y equivale a la Sensibilidad

Despejando tendremos la ecuación para hallar la corriente a partir de la lectura del sensor:

ecuacion para la corriente ACS712

 

Para realizar la lectura de corriente simplemente se necesita leer la entrada analógica y con la formula antes expuesta obtener la corriente.

A continuación se muestra el código para un realizar la lectura de corriente:

float Sensibilidad=0.185; 
//sensibilidad en Voltios
/Amperio para sensor de 5A void setup()
{    Serial.begin(9600); }
void loop()
{    float voltajeSensor= analogRead(A0)*(5.0 / 1023.0);
//lectura del sensor   
 float I=(voltajeSensor-2.5)/Sensibilidad;
//Ecuación  para obtener la corriente
 Serial.print("Corriente: ");
 Serial.println(I,3);
 delay(200);     
}

En nuestro caso estamos trabajando con un sensor de 5A ( ACS712  )  por eso usamos el valor de sensibilidad de 0.185V/A que es el equivalente 185mV/A que nos da el fabricante, si están trabajando con el sensor de 20A, reemplazar el valor de la sensibilidad por 0.100 V/A.

 

Existen varios tipos de filtros, que dependiendo de la complejidad pueden consumir recursos en la programación de nuestro Arduino, en nuestro caso  simplemente usaremos la media aritmética de varias lecturas consecutivas, implementar el promedio de las lecturas en Arduino es sencillo y fácil de entender, simplemente hay que sumar las lecturas y dividirlas en un  número de muestras suficiente.
La cantidad de muestras para calcular el promedio depende del nivel de ruido que tengan .En nuestro ejemplo con 200.000 son un valor lo suficiente bueno  para que nos de un resultado bastante preciso

El programa mejorado  seria el siguiente:

float Sensibilidad=0.185; 
//sensibilidad en Voltios/Amperio para sensor de 5A void setup()
{    Serial.begin(9600);
}
void loop()
{
 float I=get_corriente(200000);//obtenemos la corriente promedio de 200.00 muestras
 Serial.print("Corriente: ");
 Serial.println(I,3);
 delay(100);     
}
float get_corriente(int n_muestras)
{
 float voltajeSensor;
 float corriente=0;
 for(int i=0;i<n_muestras;i++)
 {    voltajeSensor = analogRead(A0) * (5.0 / 1023.0);
////lectura del sensor   
 corriente=corriente+(voltajeSensor-2.5)/Sensibilidad;
//Ecuación  para obtener la corriente  
}
 corriente=corriente/n_muestras;
 return(corriente);
}

 

 

Como  el error que obtenemos  aun con el numero tan elevado de muestras es grande, debemos de recalibrar y hallar los valores reales puesto que los valores que nos da el fabricante no son exactos.

Recordemos la ecuación que usamos para hallar la corriente:

ecuacion para la corriente ACS712

En esta ecuación solo tenemos dos constantes: los 2.5 que es el voltaje del sensor cuando la corriente es 0V y la sensibilidad, que equivale a la pendiente de la recta Voltaje Vs Corriente; tenemos que calcular los valores reales de estas dos constantes. Al ser una recta, basta con obtener dos puntos y con estos podemos calcular constantes.

Para esto necesitamos un polimetro en la escala de Intensidad   ( debe ser de buena precisión, ya que este será la herramienta para calibrar)  . El polimetro, el ACS712  y la carga deben de conectarse en serie. 

Después de conectar el aparato de medida y el  sensor, debemos de tomar lecturas de voltaje del sensor, esto se hace con el siguiente programa.

void setup() 
{  
 Serial.begin(9600);
} void loop()
{  
float voltajeSensor =get_voltage(10000);
//obtenemos voltaje del sensor(10000 muestras)
 Serial.print("Voltaje del sensor: ");
 Serial.println(voltajeSensor ,3);
     }
float get_voltage(int n_muestras)
{  float voltage=0;  
 for(int i=0;i<n_muestras;i++)
 {    
voltage =voltage+analogRead(A0) * (5.0 / 1023.0);    
 }  voltage=voltage/n_muestras;  return(voltage);
}

El primer punto que debemos medir es para una corriente de 0 amperios: esta es una de las constantes, en nuestro caso 2.527, que corresponde al punto P1(2.527,0)

Para hallar la segunda constante necesitamos una segunda medida, se recomienda que no sea cercano al valor de la primera medida, en nuestro caso usaremos una carga cuya corriente es superior a 1 amperio.Como se observa en el sensor  un voltaje de 2.687, y en el amperímetro medimos 1.155A, este sería nuestro segundo punto P2(2.687,1.155) ,

Para calcular la sensibilidad simplemente calculamos la pendiente.

Teniendo estos dos valores la ecuación para calcular la corriente es:

ecuacion de sensibilidad

Donde sensibilidad=0.139 V/A

Con estos nuevos valores debemos trabajar los ejemplos anteriores

Tener en cuenta que cada sensor tiene su propia característica

Otra forma puede ser en tomar varios puntos y al final aplicar regresión y hallara la ecuación de la recta.

 

 

Con estos dos valores  contemplados en el programa, toca  ejecutar el programa  y observar la salida  del monitor serie    en función de cuando activamos el descodificador  y lo apaguemos . En nuestro caso , las lecturas son inferiores a 0.207 cuando esta en stand-bye    , superando este valor  cuando esta encendido

Estos valores   son precisamente  los que podemos usar como umbral  para activar o desactivar un pin de salida  por ejemplo para activar/desactivar  un rele que  a su vez alimente  al TV

Con todos estos cambios , el código final del programa que detecta  si se enciende o no el descodificador es el siguiente:

 

 

const int sensorPin = A0; // seleccionar la entrada para el sensor
int sensorValue; // variable que almacena el valor raw (0 a 1023)
float value;
float Sensibilidad=0.185; //sensibilidad en Voltios/Amperio para sensor de 5A

void setup() {

// Iniciamos comunicacion serie
Serial.begin(9600);
}


void loop() {

float I=get_corriente(200000);//obtenemos la corriente promedio de 500 muestras

if (I<0.207)
{Serial.print(«Apagado: «);  // aqui podemos desactivar un pin binario de salida  para deactivar  un rel
Serial.println(I,3);
delay(100);
}
else
{Serial.print(«Encendido: «);// aquí podemos activar un pin binario de salida  para activar  un relé
Serial.println(I,3);
delay(100);
}


}


float get_corriente(int n_muestras)
{
float voltajeSensor;
float corriente=0;
for(int i=0;i
{
voltajeSensor = analogRead(sensorPin) * (5.0 / 1023.0);////lectura del sensor
corriente=corriente+(voltajeSensor-2.5)/Sensibilidad; //Ecuación para obtener la corriente
}
corriente=corriente/n_muestras;
return(corriente);
}

// cambio de escala entre floats
float fmap(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x – in_min) * (out_max – out_min) / (in_max – in_min) + out_min;
}

 

 

 

Anuncio publicitario

¿Cual es el patinete eléctrico mas vendido?


Cada vez es más común verlos por la calle y ,no hablamos de los VTC, ni de las bicicletas eléctricas, sino  de un salto cualitativo en diseño: los patinetes eléctricos  plegables, los cuales literalmente  han invadido el  espacio transitable  dando a sus felices conductores una  flexibilidad  e independencia jamas vistos por otro tipo de vehículos gracias  a  sus potentes  y versátiles motores brushless alimentados  por baterías de ultima generación.

Precisamente Xiaomi es una de las marcas que destaca  con su modelo Mi Electric Scooter ( antes  Mijia),    que con una de las mejores relaciones calidad/precio ,  que incluso ha llegado a desplazar  al famoso Segway ,permitiendo moverse cómodamente por las aceras y carreteras de las grandes ciudades de un modo jamas visto por algún otro vehículo hasta este momento.

Hablemos del Xiaomi M365, el cual se ha popularizado  en todo el mundo  gracias a su relación calidad precio , lo cual le ha hecho objetivo de multitud de copias por parte de otras marcas de su excelente diseño ( imitado incluso por el veterano Segway)

Ademas de su diseño, hay otras características que lo hacen  singular ,como su  facilisimo  plegado en tres pasos, su ligereza  ( esta construido en marco de aluminio aeroespacial  que le otorga un peso de  solo 12,5kg )   , su sistema de  frenado  eABS antibloqueo regenerativo para conseguir una distancia de frenado eficiente de sólo cuatro metros  ,su potente  y segura  batería ( de 36V  con una capacidad  de  7800mAh  / 280Wh   que ofrece una espectacular  autonomía de 30km  )    y su  eficiente motor  brushless  de  250W  , aspectos  todos ellos  que no son  fáciles  de ver en modelos de  otros fabricantes.

Su precio de tarifa en tienda oficial Xiaomi es de 400 euros. En Amazon habitualmente encontramos algunos precios más ajustados , y de hecho a día de hoy se encuentra en uno de los precios más bajos de las últimas semanas, estando disponible el Xiaomi Mi Scooter M365 por un precio de 349 euros, tanto en color blanco, como en color negro.  Existen otras alternativas, no menos interesantes que el Xiaomi, que también están en oferta  como el , Kick Scooter ES1 de Ninebot by Segway  que estos días está rebajado a 359 euros, si bien el Segway ES1. goza de una menor autonomia (25km)   , el motor es menos potente (consigue obtener una velocidad maxima de 20km/h,)  pero no goza de la comunidad de usuarios de M36   donde es fácil resolver problemas comunes, comprar accesorios y repuestos, o incluso instalar versiones del firmware que mejoren sus prestaciones, recurriendo a foros y canales de Telegram.

El patinete eléctrico de Xiaomi, más conocido como Mi Electric Scooter, o M365, ofrece una autonomía máxima teórica de 30 kilómetros – en la práctica hemos comprobado que está más cerca de los 20 kilómetros reales – y una velocidad punta de alrededor de 25 km/h , gozando . También asimismo  hay una cuestión nada desdeñable :  al ser uno de los patinetes mas vendidos en todo el mundo, no es para nada complejo conseguir repuestos para cualquier pieza que se le estropee (si le interesa el cableado del patinete, en este post explicamos detalladamente su desmontaje,  así como las diferentes piezas que lo componen).

El modelo Mi Electric Scooter ha sido diseñado con la simplicidad  y la elegancia en mente, destacando por ejemplo el hecho de que  dispone de un sólo botón para encenderlo o apagarlo o mediante  una pulsación larga encender las luces integradas o el hecho de contar con solo un simple display  de 4  leds  para monitorizar la autonomía ( aspecto que por cierto podemos profundizar desde la app  indicándonos incluso los km que podemos circular con la capacidad restante).

 

Precisamente uno de los aspectos de Mi Electric Scooter   mas destacados es  su forma compacta que permite el plegado del patinete en tres fáciles pasos haciéndolo ideal para guardarlo o llevarlo donde queramos: simplemente se gira hacia abajo la palanca para plegar y el timbre del monopatín es atrapado por el cerrojo en la rueda trasera.

Y por  cierto respecto al peso , gracias a que esta construido en marco de aluminio aeroespacial ( que el aporta baja densidad, gran fuerza estructural,excelente conductividad termal y resistencia a la corrosión ) le da mucha ligereza pues solo pesa solo 12,5kg por lo que se puede llevar  plegado con relativa comodidad .

Respecto  a la seguridad   del Mi Electric Scooter  cuenta con  un disco de freno y el novedoso  sistema de frenado eABS antibloqueo regenerativo para conseguir una distancia de frenado eficiente de sólo cuatro metros  , lo cual no es fácil de ver en ningún modelo de ningún otros fabricante.

En referencia  al famoso problema de las baterías de algunos modelos de bajo coste de otras marcas chinas  (que por cierto  no están ofreciendo  modelos seguros), este modelo   gracias a  su  batería compuesta por celdas Panasonic  independientes  18650 , su sistema BMS de carga inteligente, y sus  múltiples circuitos de protección por ramas y la monitorización de la temperatura ofrece  una batería completamente segura  y fiable   en claro contraste  a las baterías baratas  usadas en otros patinetes.

Por cierto,la batería  usada en Mi Electric Scooter  ofrece en total  de 36V  con una capacidad  de  7800mAh  / 280Wh   ofreciendo así  una espectacular  autonomía de 30km  calculada para una persona de 75kg a velocidad constante de 25km/h

bateria.PNG

Para terminar destacar el motor  brushless  de 500W limitado a 250W  por normativa para circular en territorio europeo , el cual por  cierto se puede bajo su responsabilidad soslayar cargando el firmware de modelos antiguos  ( eso si ,a costa de mermar la autonomía de la batería , y de que en esa caso  ,ya no debería circular por suelo urbano).

Por cierto , si le interesa el cableado y los  componentes del patinete, en este post explicamos detalladamente su desmontaje  así como las diferentes piezas que lo componen.

Sin duda estamos ante un scooter fantástico ,pero ¿se puede mejorar?:pues como casi todo en  la vida creemos que si. Veamos a continuación algunos trucos   para sacar el máximo partido de este  estupendo patinete

 

SOFTWARE

App para visualizar  fácilmente  la velocidad

Hablamos de algo obvio pero que muchas personas suelen olvidar  : la app ofrecida por el propio fabricante para gestionar este modelo, la cual es casi siempre la mas olvidada a pesar de sus muchísimas prestaciones.

En efecto ,aunque hay muchas  apps, basadas en el uso del GPS, para calcular la velocidad , esto  hará consumir  batería del móvil  y NO  van ofrecer la información  de la autonomía,  o batería ( la oficial si ).  Ademas ,   sobre todo, tampoco   va a permitir cambiar diferentes aspectos del patinete :la dureza del sistema de  frenado regenerativo , el control de crucero , el encendido de la luz trasera o la actualización del firmware entre otras  variables.

La app recomendable por tanto es   la oficial Mi home (disponible en google Play)

La aplicación funciona  fenomenal   gracias  a un enlace bluetooth que habrá que habilitar . Para que la puedan utilizar en el idioma español  tiene un truco , que es el siguiente: en el momento que instale la app pide el país y todos  debemos poner Europa ( recomendado ) , y no tienen que poner OTROS PAISES .Siguiendo ese sencillo paso  puede  seguir instalando la aplicación y esta ya no dará problema:se conecta con el patinete y se queda instalada con el idioma castellano.

Una vez instalada , lo primero es buscar el patinete en el apartado “Mis dispositivos” y seguir el asistente con el patinete lógicamente encendido

Screenshot_2018-08-31-07-21-13-014_com.xiaomi.smarthome[1]Screenshot_2018-08-31-07-18-15-955_com.xiaomi.smarthome[1]Screenshot_2018-08-31-07-18-09-865_com.xiaomi.smarthome[1].pngScreenshot_2018-08-31-07-19-36-479_com.xiaomi.smarthome[1]Screenshot_2018-08-31-07-22-47-966_com.xiaomi.smarthome[1]Screenshot_2018-08-31-07-22-24-533_com.xiaomi.smarthome[1]

El interfaz una vez conectado y vinculado el patinete a nuestro teléfono,  nos ofrece una información  justa, es decir  la velocidad actual , el porcentaje de batería restante y los km recorridos como vemos en esta imagen:

Si deslizamos hacia la derecha podemos bloquear el patinete   y por ejemplo de este modo  no se podría apagar pulsando el botón de encendido y mandaría una alarma si se elija:

Es muy destacable en opción Más   , algunos  aspectos configurables del patinete  como son la dureza del sistema de  frenado regenerativo , el control de crucero , el encendido de la luz trasera , establecer una clave, información de la batería  o del vehículo y sobre todo  la actualización del firmware ( o la restauración de este ) entre otras  funcionalidades.

Uno de los aspectos   cruciales,  es poder actualizar el firmware del patinete a su ultima versión , para lo cual se hace fundamental que tanto el patinete como el terminal permanezcan cerca y con el bluetooth activo :en tan solo uno segundos  lograremos nuestro objetivo  y tendremos  nuestro  patinete con el ultimo firmware disponible el cual intentara exprimir al máximo las capacidades de este.

 

M65 HUD

Entre las muchas apps disponibles no oficiales nos ha llamado la atención la app  M65  HUD pues muestra velocidad en tiempo real , el kilometraje y el consumo de energía para el Mi Electric Scooter    de un modo mucho mas visual   y parametrizable desde el punto de vista estético  con números claramente visibles.

m365.PNG

.

Podemos tocar ademas ajustar determinados parámetros de configuración disponibles vehículo:

  • Control de crucero,
  • Luz trasera
  • El nivel de recuperación de energía.

Este es el link en Google Play para descargar esta a nuestro terminal

Sw para aumentar la  potencia

La velocidad normal del patinete con la batería completamente  cargada es de 25Km/h y tiene una autonomía de unos 30 kilómetros  lo   cual lo hace optimo para  muchas funciones permitiendo  obtener las  máxima  autonomía cumpliendo ademas la normativa legal   en la mayoría de los países.

Hay personas que  prefieren   una mayor  potencia ( por ejemplo para meterlo en el campo )   y lo cierto es  simplemente modificando el firmware por otro del mismo fabricante pero de  modelos anteriores ,  es posible  conseguirelo  haciendo que la velocidad punta supere los 40Km/h  según aseguran desde Review4iu.com, si bien la autonomía lógicamente se verá mermada al entregar una mayor potencia  que según modelo puede llegar  a los 1000w acelerando  así  mucho mas rápido, superando terrenos irregulares , pudiendo subir cuestas mas altas , cargar mas peso., etc

Básicamente la operación se ciñe a  instalar la  aplicacion   m365 DownG    disponible en Google Play     en su terminal  Android   que se conectara por  bluettooh  al monopatín (como  la app original  de la que hemos hablado mas arribe  )

Desde la propia app se instala un firmware externo que modificara la configuración del patinete para que entregue más potencia PERO  A CAMBIO PERDEREMOS LA  GARANTÍA  Y TAMPOCO SERA LEGAL TRANSITAR POR VÍAS PUBLICAS.

PATCHE.PNG

Esta aplicación permite por tanto permite  enviar otros  firmwares oficiales de otros modelos   anteriores del mismo patinete de Xiaomi (disponibles a través de Internet)  y  que según todos los indicios pueden instalarse en  modelos mas recientes    a través de Bluetooth.

La aplicación es gratuita y se trata sin ninguna garantía y todos los archivos flash pertenecen a sus respectivos propietarios,

Antes de flasherar  comprobar si su scooter tiene 2 fusibles pues al requerir   mas potencia consumirá el  doble de energía y pueda que funda el fusible interior de protección .

Por cierto el código de la  app esta disponible  github y los binarios están disponibles en un wiki francés

El usuario de Youtube Vicesat explica en un vídeo  este proceso  de cómo trucar el patinete para incrementar su potencia y velocidad. Si escribe en Google una sencilla búsqueda con ese motivo comprobará que existen muchos tutoriales en los que se detalla cómo realizar la operación.

ATENCION: Es muy importante destacar que aunque  pueda sonar  tentador obtener mas potencia del patinete a  cambio de una mucho menor autonomía, no solo podemos estropear el patinete ,  y perder la garantía ,  sobre todo   el patinete no es legal para transitar con las consecuencias que pueden acarrear sobre todo  si nos vemos involucrados en un accidente así que desde estas lineas  los desaconsejamos completamente.

 

HARDWARE

Sin duda estamos ante un scooter fantástico ,pero ¿se puede mejorar?:pues como casi todo en  la vida creemos que si. Veamos a continuación algunos trucos  que ya vimos en varios post anterior es  pero que hemso intentado resumir aqui    para sacar el máximo partido de este  estupendo patinete.

Cambio de neumáticos

Uno de los  principales averías  que puede sufre este modelo es  que  puede  pinchar alguna de  las ruedas  ( como casi cualquier vehículo con neumáticos ).En este caso desgraciadamente , la dificultad estriba en que  las ruedas son tan pequeñas que son mas complejas de cambiar  que una bicicleta.

Los pinchazos  serán mas acusados  si se sobrepasan los 100kg de peso ( por ejemplo si lleva consigo a un niño pequeño) o si se transita por vías no asfaltadas: en estos casos   existe la solución de los  neumáticos macizos

Existen  neumáticos diseñados para reemplazar la rueda delantera o trasera del scooter eléctrico Xiaomi Mijia M365 siendo muy resistentes ,y  lo mas importante:no requieren  hincharlos ,  por lo que no pueden pinchar nunca,  así  que  para aquellas personas que suelen pinchar,  esta solución es  la mas práctica y duradera.

El material usados es especial de goma con superficie ranurada ofreciendo una excelente adherencia y una buena resistencia al desgaste. También es resistente a la perforación, no esta ventilado, y es duradero y ligero

Su flexibilidad  por tanto es superior , y su capacidad de sellado también ,permitiendo al neumático permanecer estable como un neumático tradicional totalmente transpirable.

Ofrecen en resumen ciertas ventajas:

  • Mayor  fiabilidad total
  • Ya no va a pinchar  al bordear las aceras  , saltando , etc
  • El patinete puede circular por cualquier tipo de terreno
  • El mantenimiento es cero
  • No hay  que regular las presiones
  • Soportan   muchísimos mayor  pesos  que los de aire

Y como contra-prestaciones:

  • Menos autonomía
  • Mayor  peso
  • Menor aceleración
  • Menos confort  que con  los de aire (pero tampoco  tan incómodos como un skate o como las ruedas típicas de patinetes pues la goma amortigua parte de los baches  al no ser completamente rígidas  pero cuenta con numerosas  ventajas )

Por cierto, si opta por cambiarlas usted mismo no  olvide calentar estas ( por ejemplo metiéndotelas en un microondas un corto tiempo)    para colocarlas   en las ruedas originales pues de otro modo sera  una tarea casi imposible.

Por cierto  este tipo de rueda maziza  se pueden comprar en Amazon  por unos 30€ 

Una solución parcial es  usar neumáticos hinchables de  doble cámara   algo más gruesas (1,8 mm) que las originales (0,9 mm) lo  cual  evitará pinchazos repetidos

 

Soporte para el móvil

Obviamente  si queremos llevar nuestro móvil en el propio patinete para conocer la velocidad actual o modificar aspectos de este  , tendremos  que contar con un soporte adecuado para ello. Lo cierto es que casi cualquier soporte para  bicicleta debería poder valer,   pero no todos cabrán, dadas las reducidas medidas del manillar

Destaca para este modelo de Lixada   que se adapta perfectamente tanto a  Mi Electric Scooter     como a cualquier terminal.

Estas son alguna de sus características:

  • Longitud ajustable de 50mm a 100mm, apto para el teléfono 3.6-6.2 pulgadas o dispositivos electrónicos, como para el iPhone 7, para el iPhone 7 Plus, GPS, y así sucesivamente.
  • El diseño de cuatro garras bloquea firmemente el teléfono, evitando que se caiga cuando se conduce en carreteras difíciles.
  • El relleno adhesivo de pegamento protege su teléfono móvil de ser rayado.
  • Hecho de plástico de alta resistencia y aleación de aluminio, duradera de usar.
  • Conveniente para el manillar de Φ31.8, espaciador del uso para el manillar de Φ25.4mm / Φ22.2mm.

Por cierto este modelo esta en Amazon por menos de 9€

Mejoras    gracias a la   impresión 3d

Por ser  un modelo tan popular muchos usuarios se han decidido a diseñar piezas en 3d para este modelo   y compartir sus diseños para que cualquiera pueda imprimir  estas ( u ordenar su impresión). Esto  facilidad  que ciertamente  ofrece infinitas posibilidades es criticada por usuarios que no disponen precisamente de impresora 3d , pero no debe olvidar  que hoy en dia esto no es problema pues en el peor de los casos se puede acudir a empresas o tiendas que nos resolverán el problema( y no son tan caras como se piensa).

Hay muchísima variedad de piezas para imprimir para este patinete ,  pero destacan la sencilla pieza para proteger el cable de la luz trasera justo donde pasa desde el guardabarros a la luz  , y  otra para eliminar la holgura del sistema de plegado, !y  por supuesto   muchas mas!.

Veamos algunas de las piezas mas interesantes para  Mi Electric Scooter :

Almohadillas para el fleje

Esta es  una de las piezas mas  famosas ,descargada y usadas siendo ademas de las primeras en  demostrar su utilidad.

Sirve   para eliminar la holgura del sistema de plegado evitando que se ensucie y termine teniendo holgura la barra de dirección.

fleje.PNG

Este conjunto de piezas  elimina el juego o posibles holguras  de la barra de dirección y es descargable gratuitamente desde Thinginverse . El diseño ofrece 3 tipos de almohadillas para scooter eléctrico xiaomi 0.4 mm, 0.6 mm y 0.8 mm. y  así puede probar cual de ellos se adapta mejor así a su modelo  y  a sus gustos personales.

Este es el link de descarga  :https://www.thingiverse.com/thing:2436676

Protección luz trasera

Esta pieza es también muy interesante pues los cables de la luz posterior van muy expuestos a la  intemperie (van cubierta únicamente con cinta líquida y silicona).Gracias a este protector  descargable gratuitamente desde Thinginverse podemos proteger esta pieza de una forma muy efectiva utilizando ademas los mismos tornillos.

luz trasera.PNG

Este es el link de descarga  :  https://www.thingiverse.com/thing:2375311

Gancho para colgar

Esta pieza utiliza uno de los tornillos de la barra de dirección siendo muy útil para colgar cualquier cosa  como por ejemplo una bolsa de la compra.El diseño es descargable gratuitamente desde Thinginverse

gancho.PNG

Este es el link de descarga  : https://www.thingiverse.com/thing:2549865

Refuerzo guardabarros

El guardabarros  original  trasero ofrece cierta fragilidad . Este diseño  es ideal para imprimir en impresoras FDM casi sin soporte y es  descargable gratuitamente desde Thinginverse.  Necesita tornillos M3x12 o M3x15 para ensamblar modelos de parte 1 y parte 2 .Usa soporte adicional con método de montaje simple

Una vez impreso ,atornille el soporte a la luz trasera,inserte el soporte en los agujeros  y después atornillar el guardabarros al scooter

refuerzo.PNG

Este es el link de descarga  : https://www.thingiverse.com/thing:2868159

Cesta

Aunque puede mejorar, nos ha gustado esta cesta pequeña para scooter Xiaomi M365 que también es descargable gratuitamente desde Thinginverse.
Para montarla  en el patinete  necesitaremos una pequeña goma como mediador entre la montura y la lanza delantera y dos tornillos adicionales de 1/4 * 1/8.

cesta

Este es el link de descarga  : https://www.thingiverse.com/thing:2925158

Soporte para niños

Es frecuente  que muchos padres decidan usar el patinete para llevar su hijos en el patinete   para evitar otros sistemas de locomoción contaminantes. Este diseño permite añadir una segunda barra para que los niños se puedan sujetar de forma mas segura,

El diseño es descargable gratuitamente desde Thinginverse ( el diseñador  recomienda  user Prim para imprimir el  agarre)

kids handle.PNG

Por favor no olvide elementos tan importantes de seguridad como el casco  y si es posible protecciones para los codos  rodillas   y manos especialmente para los mas pequeños

Este es el link de descarga  :https://www.thingiverse.com/thing:2746283

Stand para niños

En sintonía con el diseño anterior nos proponen un stand para montar en el scooter niños de menos 4 años  pues sin este soporte se golpean la cara en el manillar.El diseño también es descargable gratuitamente desde Thinginverse

El diseñador recomienda colocar dos tiras de cinta adhesiva de espuma 3M de doble cara y sujetar con pernos de acero del tipo M3

stand.PNG

Por favor no olvide elementos tan importantes de seguridad como el casco  y si es posible protecciones para los codos  rodillas   y manos especialmente para los mas pequeños

Este es el link de descarga  : https://www.thingiverse.com/thing:2703403

 

Seguro  querido lector que  existen muchísimos mas diseños  interesantes para colocar en nuestro patinete , así que le invito a que si le gusta cualquier  otro accesorio que le sea útil con  Mi Electric Scooter   las comparta con toda la comunidad de soloelectronicos. 

Para inspirarle en este link puede encontrar muchos mas diseños de  piezas en 3D  para nuestro patinete  https://www.thingiverse.com/search?sort=makes&q=xiaomi+scooter&type=things&dwh=825b8932d42a8e4

 

 

 

Conclusión

Recientemente, Xiaomi lanzaba una versión Pro de este patinete que casi dobla la autonomia ( 45 kilómetros de autonomía  teóricos) e incluye algunas mejoras,  aunque aun no ha llegado oficialmente a España, y para adquirirlo es necesario recurrir a importadores. El precio en Europa será significativamente más alto y todavía habrá  que esperar  quizás  un año  o mas hasta que este disponible por lo que hoy por hoy  las prestaciones del Mi Scooter M365 por un precio de 349 euros  son más que potentes para la mayoría de los usuarios.

Por  ultimo   para terminar recordador  que este patinete no es un juguete  ,por lo que no conviene que sea usado por  niños menores de 14 años ( y de usarlos, utilícelo bajo la vigilancia de un adulto)  .Asimismo conviene utilizar equipo de protección como casco y rodilleras,coderas o guantes. Asimismo debe respetar la normativa de circulación de cada país  como  no utilizar en lugares con mucho tráfico o incluso por aceras donde poco a poco se esta empezando a prohibir por los graves accidentes que han acontecido 

Por cierto, el famoso  patinete de Xiaomi  se puede comprar  directamente en Amazon , ofreciendo este el envío en un par de días como máximo  y sobre todo la garantía europea de  2 años a diferencia de otros portales orientales que tan solo ofrecen solo unos meses corriendo ademas los gastos de envío  por parte del comprador..

Como ver la previsión del tiempo desde Raspberry Pi ( parte 2)


En un post anterior de como ver la previsión del tiempo desde una Raspberry Pir veiamos como  podemos ver la previson del tiempo en nuestra  Rasperry Pi ,  usando mediante el comando curl y  la utilidad  de  Wttr.in  , un servicio de previsión del tiempo orientada a la consola que admite varios métodos de representación de información tal como secuencias ANSI de  terminal,  estando orientado tanto para clientes de consola HTTP (Rizo, httpie o wget), como  para navegadores web en HTTP  , o incluso para visualizadores gráficos en formato PNG .

Previamente antes de lanzar el comando ,para que se visualice correctamente la salida de texto de este servicio ,  abriremos la consola de terminal   ajustaremos la ventana   del valor  por defecto (80 x25 ) a  130 x24 ,  por lo que nos iremos a Editar –>Preferencias –>Mostrar y seleccionaremos como  ventana por defecto los valores  al menos de  130 x 24    y cerraremos la ventana  del Terminal

Nuevamente abriremos otra consola de shell  en la Raspberry Pi  y escribiremos : 

curl wttr.in

Como resultado desde la misma consola veremos  un informe en  tiempo real para su ubicación   sin haber tenido  que especificar nada  más ,  ya  que  es   sensible tanto para la fecha actual como para la localización:

 

Sin duda este  servicio es muy interesante , pero  ademas permite una personalizacion muy alta como vamos a ver a continuación 

Unidades de tiempo

Por defecto las unidades USCS se utilizan para las consultas de los Estados Unidos y el sistema métrico para el resto del mundo. Puede reemplazar este comportamiento agregando o a una URL como esta:?u?m


$ curl wttr.in/Almeria?m

 

Formatos de salida

wttr.in actualmente soporta tres formatos de salida:

  • ANSI para el terminal;
  • ANSI para el modo de terminal, una línea;
  • HTML para el navegador;
  • PNG para los espectadores de la gráficos.

Los formatos ANSI y HTML son seleccionados basándose en la cadena User-Agent. El formato PNG se puede forzar mediante la adición al final de la consulta:.png

$ wget wttr.in/Almeria.png

Puede utilizar todas las opciones con el formato PNG como una URL, pero hay que separarlos con en vez de y:_?&

$ wget wttr.in/Paris_0tqp_lang=fr.png

Opciones para el formato PNG:

  • t (transparencia);transparency=150
  • transparencia = 0..255 para un nivel de transparencia personalizada.

La transparencia es una característica útil cuando PNGs de tiempo se utilizan para agregar datos a los cuadros:

$ convert source.jpg <( curl wttr.in/Oymyakon_tqp0.png ) -geometry +50+50 -composite target.jpg

En este ejemplo:

  • source.jpg -archivo de código fuente;
  • target.jpg -archivo de destino;
  • Oymyakon -nombre de la localización;
  • tqp0 -Opciones (recomendados).

Una línea de salida

Para el formato de salida de una línea, especifique los parámetros adicionales:format

$ curl wttr.in/Almeria?format=3
Almeria: 🌦 +11⁰C

Formatos preconfigurados disponibles: 1, 2, 3, 4 y el formato personalizado usando la notación porcentual (véase abajo).

Puede especificar varias ubicaciones separadas (para repetir consultas)::

$ curl wttr.in/Almeria:Granada:Jaen?format=3
Almeria: 🌦 +11⁰C

O para procesar todas las consultas de este a la vez:

$ curl 'wttr.in/{Almeria,Granada,Jaen}?format=3'
Almeria: 🌦 +14⁰C
Granada: 🌦 +14⁰C
Jaen: 🌦 +14⁰C

Para especificar su propio formato personalizado, utilice el especial-notación:%

    c    Weather condition,
    t    Temperature,
    w    Wind,
    l    Location,
    m    Moonphase 🌑🌒🌓🌔🌕🌖🌗🌘,
    M    Moonday,

Por lo tanto, estas dos llamadas son las mismas:

    $ curl wttr.in/Almeria?format=3
    Almeria: ⛅️ +14⁰C
    $ curl wttr.in/Almeria?format="%l:+%c+%t"
    Almeria: ⛅️ +14⁰C

Tenga en cuenta, que cuando se utiliza en, tiene que escapar con %, es decir, escribir allí en vez de.tmux.conf%%%%%

En programas, que están consultando el servicio automáticamente (por ejemplo tmux), es mejor utilizar un intervalo de actualización razonables. En tmux, puede configurarlo con.status-interval

Si varias ubicaciones separadas, se especifican en la consulta, especifique el período de actualización como un parámetro de consulta adicional::period=

set -g status-interval 60
WEATHER='#(curl -s wttr.in/London:Stockholm:Moscow\?format\="%%l:+%%c%%20%%t%%60%%w&period=60")'
set -g status-right "$WEATHER ..."

Fases de la luna

wttr.in puede utilizarse también para comprobar la fase de la luna. Este ejemplo muestra cómo ver la fase lunar actual:

$ curl wttr.in/Moon

Obtener la fase lunar para una fecha determinada mediante la adición de:@YYYY-MM-DD

$ curl wttr.in/[email protected]

La información de la fase de luna utiliza pyphoon como su back-end.

Internacionalización y localización

wttr.in es compatible con nombres de ubicaciones multilingüe que pueden especificarse en cualquier idioma del mundo (puede ser sorprendente, pero muchos lugares en el mundo no tienen un nombre en inglés).

La cadena de consulta debe especificarse en Unicode (hexadecimal codificado o no). Espacios en la cadena de consulta deben ser reemplazados por:+

$ curl wttr.in/станция+Восток
Weather report: станция Восток

               Overcast
      .--.     -65 – -47 °C
   .-(    ).   ↑ 23 km/h
  (___.__)__)  15 km
               0.0 mm

El lenguaje utilizado para la salida (excepto el nombre de la ubicación) no depende del idioma de entrada y es inglés (por defecto) o el idioma preferido del navegador (si la consulta fue emitida desde un navegador) que se especifica en la consulta cabeceras ().Accept-Language

El lenguaje se puede establecer explícitamente al usar a clientes de consola mediante las opciones de línea de comandos como este:

curl -H "Accept-Language: fr" wttr.in
http GET wttr.in Accept-Language:ru

El idioma puede ser forzado mediante la opción:lang

$ curl wttr.in/Almeria?lang=es

La tercera opción es elegir el idioma utilizando el nombre DNS utilizado en la consulta:

$ curl de.wttr.in/Almeria

wttr.in está actualmente traducido a 54 idiomas, y el número de idiomas está en constante crecimiento.

Ver /:translation para aprender más sobre el proceso de traducción, para ver la lista de idiomas soportados y colaboradores, o saber cómo puede ayudar a traducir wttr.in en tu idioma.

 

Instalación en local

Tambien  puede instalar este servicio de previsión de tiempo en su en nuestra  Rasperry Pi , 

Para instalar la aplicación estos son los pasos a seguir:

  1. Instalar dependencias externas
  2. Instalar dependencias de Python utilizadas por el servicio
  3. Obtener una clave de API de WorldWeatherOnline
  4. Configurar wego
  5. Configurar wttr.in
  6. Configurar el servicio de HTTP-frontend

Instalar dependencias externas

wttr.in tiene las siguientes dependencias externas:

  • golang, dependencia de wego
  • wego, cliente tiempo para terminal

Después de instalar golang, instalar:wego

$ go get -u github.com/schachmat/wego
$ go install github.com/schachmat/wego

Instalar dependencias de Python

Requisitos de Python:

  • Flask
  • geoip2
  • geopy
  • requests
  • gevent

Si desea obtener informes meteorológicos como archivos PNG, también debe instalar:

  • PIL
  • Pyte (> = 0,6)
  • fuentes necesarias

Puede instalar la mayoría de ellos utilizando.pip

Si se utiliza:virtualenv

$ virtualenv ve
$ ve/bin/pip install -r requirements.txt
$ ve/bin/pip bin/srv.py

Además, es necesario instalar la base de datos de geoip2. Puede utilizar una base de datos libre GeoLite2 que puede ser descargado (http://dev.maxmind.com/geoip/geoip2/geolite2/).

Obtener una clave de WorldWeatherOnline

Para obtener una clave de API de WorldWeatherOnline, se debe registrar aquí:

https://developer.worldweatheronline.com/auth/register

Configurar wego

Después de tener una clave de WorldWeatherOnline, usted puede configurar:wego

$ cat ~/.wegorc 
{
    "APIKey": "00XXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "City": "London",
    "Numdays": 3,
    "Imperial": false,
    "Lang": "en"
}

El parámetro se omite.City~/.wegorc

Configurar wttr.in

Configurar las siguientes variables de entorno que definen la ruta de acceso a la instalación local, a la base de datos de GeoLite y a la instalación. Por ejemplo:wttr.inwego

export WTTR_MYDIR="/home/igor/wttr.in"
export WTTR_GEOLITE="/home/igor/wttr.in/GeoLite2-City.mmdb"
export WTTR_WEGO="/home/igor/go/bin/wego"
export WTTR_LISTEN_HOST="0.0.0.0"
export WTTR_LISTEN_PORT="8002"

Configurar el servicio de HTTP-frontend

Se recomienda que también configurar el servidor web que se utilizará para acceder al servicio:

server {
    listen [::]:80;
    server_name  wttr.in *.wttr.in;
    access_log  /var/log/nginx/wttr.in-access.log  main;
    error_log  /var/log/nginx/wttr.in-error.log;

    location / {
        proxy_pass         http://127.0.0.1:8002;

        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $remote_addr;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;

        expires                    off;
    }
}

 

Mas información en  https://github.com/chubin/wttr.in

Como ver la previsión del tiempo desde una Raspberry Pi


Wttr.in es un servicio de previsión del tiempo orientada a la consola que admite varios métodos de representación de información tal como secuencias ANSI de  terminal,  estando orientado tanto para clientes de consola HTTP (Rizo, httpie o wget), como  para navegadores web en HTTP  , o incluso para visualizadores gráficos en formato PNG .

El servicio wttr.in utiliza  visualización de  wego y diferentes fuentes de datos para obtener información de la previsión del tiempo.

Lo puede ver funcionando aquí: http://wttr.in/ desde  un navegador,   pero lo mas interesante de esta utilidad ,  es que  se puede lanzar desde una consola  en nuestra Raspberry pi , para  lo que únicamente  necesitaremos:

  • Conectividad  bien vía WIFI o por cable ethernet
  • Tener instalado el curl 
  • No es fundamental usar la ultima versión Rasperry Pi 3, pues esta utilidad funciona  perfectamente con la versión 2 e incluso en versiones anteriores.

 

Instalar curl en un Raspberry Pi

El comando curl es bastante útil y flexible siendo su  objetivo servir como  herramienta de transferencia de  datos, sin interacción del usuario, hacia o desde un servidor, utilizando uno de los muchos protocolos admitidos.

Si tiene PHP 5 instalado en la Rasperry Pi 3,    y no tiene instado curl cuando instaló Raspbian  ,para ejecutar la utilidad de previsión del tiempo se requiere . Para ello puede hacer lo siguiente:

sudo apt-get update

Y entonces:

sudo apt-get install php5-curl

Estos dos comandos únicamente son los que  realmente todo lo que tenemos que lanzar en el peor de los casos  ya  que puede que  tenga instalado curl en la    Rasperry Pi ,.

 

Ejecución de wttr

Para ver la previsión de tiempo de wttr en la Raspberry Pi  lo podemos  hacer accediendo  desde el navegador Web  Chromiun  e ir a la url de wttr.in  , pero es mucho mas interesante y rápido (y obtendremos el mismo resultado)  si hacemos la llamada  desde un shell.

Previamente antes de lanzar el comando ,para que se visualice correctamente la salida de texto de este servicio , abriremos la consola de terminal desde la propia Rasperry Pi ,  y  ajustaremos la ventana   del valor  por defecto (80 x25 ) a  130 x24 ,  por lo que nos iremos a Editar –>Preferencias –>Mostrar y seleccionaremos como  ventana por defecto los valores  al menos de  130 x 24  en lugar de la marcada por defecto de 80 x25 .

 

Ahora pulsaremos Aceptar  y cerraremos la ventana  del Terminal

Nuevamente abriremos otra consola de shell  en la Raspberry Pi  y escribiremos : 

curl  wttor.in

Como resultado desde la misma consola veremos  un informe en  tiempo real para su ubicación   sin haber tenido  que especificar nada  más ,  ya  que  es   sensible tanto para la fecha actual como para la localización:

Como es de suponer ,la  ubicación real  se obtiene  de su dirección IP real    tomando  no solo la localización sino la zona horaria  y la hora .

 

Si quiere obtener la información meteorológica para un lugar específico  también se puede Agregar la ubicación deseada a la URL en su solicitud como esta:

$ curl wttr.in/London
$ curl wttr.in/Moscow

Recuerde , como hemos hablado  que si se omite el nombre de la ubicación, obtendrá el informe de su ubicación actual, basado en su dirección IP.

También se puede utilizar códigos del aeropuerto de 3 Letras con el fin de obtener la información del tiempo en un determinado aeropuerto:

$ curl wttr.in/muc      # Weather for IATA: muc, Munich International Airport, Germany
$ curl wttr.in/ham      # Weather for IATA: ham, Hamburg Airport, Germany

Digamos que quieres obtener el tiempo en un lugar geográfico que no sea un pueblo o ciudad – tal vez una atracción en una ciudad, un nombre de montaña o en algún lugar especial. Agregar el carácter antes del nombre para ver nombre ubicación especial antes de que el tiempo es entonces obtenido:~

$ curl wttr.in/~Vostok+Station
$ curl wttr.in/~Eiffel+Tower
$ curl wttr.in/~Kilimanjaro

Hay muchos ejemplos, debajo de la salida del tiempo en que se muestra los resultados de geolocalización de buscar la ubicación:

Location: Vostok Station, станция Восток, AAT, Antarctica [-78.4642714,106.8364678]
Location: Tour Eiffel, 5, Avenue Anatole France, Gros-Caillou, 7e, Paris, Île-de-France, 75007, France [48.8582602,2.29449905432]
Location: Kilimanjaro, Northern, Tanzania [-3.4762789,37.3872648] 

También puede utilizar (directa) de direcciones IP o nombres de dominio (con el prefijo) para especificar una ubicación:@

$ curl wttr.in/@github.com
$ curl wttr.in/@msu.ru

Por ultimo también ofrece  información detallada en línea, para lo cual  solo se necesita acceder a la página de wttr.in/help

$ curl wttr.in/:help
Mas información en  su sitio de Github https://github.com/chubin/wttr.in

Samsung UE22ES500 no enciende


Llega el momento  de encender nuestra TV Samsung para disfrutar  de nuestra serie o programa favorito   y de repente el TV  no responde ¿que es lo que ha podido pasar? Pues en primer lugar paciencia, respire y analice algunos puntos ,en el orden que vamos a comentar a continuación, pues al fin al cabo, todo en este mundo tecnológico tiene solución ¿no cree? Veamos pues que podemos hacer

Lógicamente  probaremos  primero que el mando responde   circunstancia que podemos probar con cualquier cámara digital : cada  vez que pulsamos un botón del mando, debería verse el haz blanco de luz saliendo del led infrarrojo de la parte superior del  mando . Obviamente si ni responde al mando, también lo intentaremos  con el control manual  del propio TV ( botón OK)   por si fuese el receptor infrarrojo.

SI ninguna de ambas acciones  activa la TV , por supuesto descartamos lo mas obvio : que haya alimentación de ca en el enchufe y que el cable de alimentación esta en buen estado

Si  hay tensión de ca , el cable esta bien y el mando funciona  , hay un detalle importante que nos deberíamos  percatar:  el  pequeño led testigo ( normalmente  rojo) del estado de  stand-bye del TV , pues  estando  alimentado , en el caso de que este no luzca , es un signo inequívoco, , de que la fuente de alimentación  interna  se ha  averiado , así que nos tocara  desmontarla  para  intentar repararla  o reemplazarla por otra en bien estado

 

¿Qué puede estar pasando? Pues que la mayoría de  las fuentes de alimentación de TV de  Samsung se auto-protegen   normalmente con  un diodo Shotkey de  potencia .  el cual con el tiempo termina rompiéndose.  Este hecho  de hecho se puede constatar si enciende la TV y usa un multímetro de precisión  (aunque lo ideal es usar el osciloscopio) . Ahí vera un voltaje de 0 a 1V , pero si el polimetro cuenta con un detector de pulsos, vera que cada pocos segundos hace un intento de arranque dando los 5V de la línea de 5V y al momento vuelve a caer (con un multímetro normal no se vera pues es un pulso muy rápido) .Esta casuistica  es síntoma que esta intentando arrancar pero algo esta mal, en este caso el diodo.

En efecto, estamos pues ante un caso típico   de avería de muchos  TV Samsung, los cuales  se les funde el diodo Schottky a la salida del transformador  de alta frecuencia , por lo que cambiándolos se arregla . El motivo es complejo : no creo que los fabrican para que en unos años acaben fallando,  pero  si es cierto que  estos diodos trabajan cercanos al limite por lo que con el tiempo terminan averiándose   ,. quizás  en en intento de ajustar el precio al máximo para que la tele sea lo más barata económica posible y poner los componentes lo más justos posible.

No obstante , un diodo  roto no siempre se rompe por agotamiento  ya que muchos   componentes se queman por que otros han fallado, subiendo la tensión, saltando el varistor y a continuación el fusible ( y  cambiando el fusible  se vuelve a quemar, hasta que no cambie el varistor seguirá quemando fusible pero quizás después también por que la sobre tensión haya sobrepasado el varistor y haya estropeado algo más.)

 

Veamos con  claridad paso a paso que ha podido  haber  pasado:

 

Primero quitaremos la peana

Ahora quitaremos  los tornillos de la tapa

 

Destapada la tapa , ahora ya podemos ver claramente las partes que compone el TV: 

  • La placa madre  (a la derecha) , destacando  sus conexiones a la fuente , a los altavoces  y al LVDS( interfaz del panel LCD)
  • Altavoces , que se conectan directamente a la placa madre
  • Fuente de Alimentación , la cual proporciona alimentación  tanto  a la placa madre como a los leds de retroiluminacion del panel
  • Botonera con testigo de alimentación

 

 

Antes de desmontar la fuente volveremos  a probar :

  • Que el mando responde   circunstancia que podemos probar con cualquier cámara digital
  •  Intentaremos  accionar la TV desde la botonera por si fuese el receptor infrarrojo
  • Nos cercioraremos que haya alimentación de ca en la salida  del  cable de alimentación  con un polimetro
  • Comprobaremos que  el  pequeño led testigo(  normalmente  rojo ) del estado de  stand-bye del TV ,no luce

 

Si el resultado ha sido negativo ,dado que no hay señal de alimentación  es síntoma  de que la fuente de alimentación  interna  se ha  averiado , así que nos tocara  desmontarla  para  intentar repararla  o reemplazarla por otra fuente idéntica en bien estado.

En primer lugar desconectaremos  la alimentación  !por favor nunca trabaje con la fuente enchufada pues se arriesga mucho su integridad!

Antes de medir nada   , tenga cuidado con el  condensador del primario de la fuente de alimentación (en este caso el condensador marrón que hay arriba a la izda del conector de alimentación de ca) : en prevención de problema descárguelo,  por ejemplo conectando a este una pequeña bombilla incandescente de coche de 12V, Una vez descargado el condensador «gordote» es tiempo de investigar posibles elementos quemados incluyendo el fusible principal

En segundo lugar  revisaremos  todos los diodos de potencia  con un polímetro en modo prueba de diodos ( en un sentido deben conducir  y en sentido contrario deberían estar abiertos )

Es muy tipico  en TV samsung  que el diodo de potencia Schottky que va separado a la salida del transformador de alta frecuencia sea el responsable de muchas averísa ,  por los estudiaremos  eespecialmente estos pues  incluso soldados podemos   probar si tanto en una dirección como en otra de sobre  1 ohm de continuidad,  lo cual significaría que  el diodo esta  en cortocircuito,.

Normalmente  el diodo es un SR3150  que puede  sustituirse  por un SR5150  que son ambos de 150V  (pero en vez de ser de 3A es de 5A con los 150V igual), En otras ocasiones  suele haber un SR320 quiere decir que es de 3 Amperios y 20 Voltios.

En todo caso si no cuenta con ninguno de estos modelos   generalmente se puede  sustituir esos diodos por uno más «todo terreno» como es el  BY399, un diodo  Shotkey de 800v 3Amp  que de muy facil adquisición  y mucho mas económico que los citados. De todas formas si tiene algún diodo Schottky de 5A o de más de 20V también sirve. Mientras no sea de menos no hay problema. Un SR520, SR540 o incluso un SR560, lo importante es que sea Schottky y de más amperaje o voltaje( ! nunca de menos!). Piensese que ahí hay presente alta frecuencia y si el diodo fuese  normal se rompería al poco tiempo.

 

Ahora  tocaría  soltar los  dos  conectores de la fuente, quitar los tonillos que la unen al chasis  y finalmente sacar la placa

 

Ahora aplicando calor con cuidado en ambos lados de soldadura y usando una bomba desoldadora ,extraeremos el diodo averiado   que volveremos a soldar en su lugar   ( no  equivocarse en el lado  y  hacerlo  conforme marca la serigrafia de la placa  ) 

 

Asegúrese que lo has soldado correctamente, que la franja blanca esta en el mismo sitio que la franja pintada en la placa  pues si lo has montado al revés puede provocar una buena avería.

Una vez colocado el diodo y soldado en su posición, volvernos a colocar tornillos y conectores  

Colocaremos la tapa  , conectaremos alimentación y cruzaremos los dedos

Si funciona !enhorabuena ! !ha arreglado el TV!

 

 

 

 

 

 

 

 

Conversión de Raspberry Pi en Google Home


Gracias a que se  liberó el SDK del Google Assistant , ya se  puede usar Google Home en  Español entre otros nuevos idiomas  con cualquier hw que los permita ! Así que ahora es posible montar nuestro propio Google Assistant en una Raspberry Pi, en pocos minutos, con un micrófono y un altavoz, tendrá a una Raspberry Pi lista para atender sus peticiones!

Ideal para ponerla en el salón o cualquier sitio escondida, con un buen micrófono omnidireccional, podremos hacerle consultas en nuestro propio idioma y medianamente nos las esquivará correctamente , Por cierto a parte del Español, también soporta Inglés, Alemán, Francés, Italiano y Japonés. 

El proyecto se llama AIY que resulta de la mezcla de AI (inteligencia artificial en sus siglas en inglés, Artificial Intelligence) y DIY (hazlo tú mismo, en sus siglas en inglés, Do it Yourself).

Echemos un vistazo a lo que necesitamos .

  • Raspberry Pi 3  con fuente de alimentación y tarjeta MicroSD
  • Micrófono USB. Se puede  utilizar el micrófono incluido en algunas cámaras web para las pruebas. La gran ventaja del mini micrófono es la potabilidad del prototipo pero cualquier producto similar hará el trabajo de forma satisfactoria.
  • Altavoces con entrada de audio de 3,5 mm  Aunque inclusive unos auriculares de cable son más que suficiente para realizar las pruebas, idealmente podremos contar con algún tipo de altavoz equipado con conector de 3.5mm para obtener una mejor experiencia de usuario
  • Ratón y teclado USB

 

Instalando el SO

Para instalar el software necesitamos nueva imagen descargada a partir del sitio  oficial Raspbian ,y flashearla en la microSD con un ordenador:

 

raspbian

 

Una vez descargada y descomprimida  la imagen correspondiente  en su ordenador siga los siguientes pasos:

  • Inserte la tarjeta SD en el lector de tarjetas SD  de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows.
  • Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de Raspbian.
  • Seleccione la letra de la unidad de la tarjeta SD en la caja del dispositivo. Tenga cuidado de seleccionar la unidad correcta; si usted consigue el incorrecto puede destruir los datos en el disco duro de su ordenador! Si está utilizando una ranura para tarjetas SD en su ordenador y no puede ver la unidad en la ventana Win32DiskImager, intente utilizar un adaptador SD externa.
  • Haga clic en Escribir y esperar a que la escritura se complete.
  • Salir del administrador de archivos  y expulsar la tarjeta SD.
  • Ya puede insertar la SD en su Raspberry Pi en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los  conectores USB, conectar la  con un cable ethernet  al router  conectividad a Internet y finalmente conectar la alimentación  para comprobar que la Raspeberry arranca con la nueva imagen

 

Cuando acabamos de flashear la tarjeta la colocamos en la Raspi y ya podemos empezar. Para arrancar la Raspberry Pi 3 con el Voice Kit vamos a necesitar un monitor con cable HDMI y un teclado con ratón. Conectamos todo y le damos energía a la Raspi.

El primer inicio del sistema puede tardar varios minutos. El sistema que corre en la Raspberry Pi es una versión de Debian modificada especialmente para este dispositivo y que se llama Raspbian. Debian es una de las distribuciones más extendidas de GNU/Linux y en la que se basan distribuciones tan famosas como Ubuntu.

Una vez tengamos el escritorio activo, arriba a la derecha vamos a poder conectarnos a nuestra red Wi-Fi entre los símbolos del Bluetooth y del volumen. 

Respecto al micrófono usb

Dado el precio y el tamaño, se necesita  un micrófono funcional que sea capaz de captar voces cercanas o grandes sonidos pero   sin gastarse una fortuna  requiriéndose  un micrófono  usb  que sea  reconocido y funcione con Raspbian en una Raspberry Pi3( por  ejemplo el modelo  RRunzfon de kinobo)

Este tipo de micrófonos no son de alta fidelidad de modo que cuando escuche las reproducciones está claro que hay mucha estática a menos que esté hablando directamente con el micrófono, pero para este proyecto  lo importante es que sea  capaz de funcionar para el reconocimiento de voz utilizando la compilación Alexa Raspberry Pi.

Es interesante instalar la activación “siempre encendida” para no tener que presionar un botón para activarla, y pero dadas  las características de este modesto micrófono  solo  funcionara   si está cerca de este

Dado el tamaño y el precio, esta es una de las maneras más fáciles de agregar un micrófono por menos de $ 10, pero si está esperando un audio de alta calidad, es mejor que busque otras opcion. Para aquellos que buscan un micrófono decente para uso diario, existen mejores opciones en cuanto a calidad de sonido. (lo que hace que este micrófono sea genial es lo pequeño y económico que es)

Para las personas que buscan probar Google Assistant  con  Raspberry Pi, este micrófonono funciona con RPI v1, pero sí funciona con RPI v3 de fábrica. Cuando lo conecta al puerto USB, se detecta automáticamente y puede verlo en la salida “arecord -l“.

Bajo el sistema operativo Linux, parece que el sonido grabado es un poco bajo. Es posible que necesite normalizar (aumentar la ganancia) en el sonido usando un programa como mp3gain, ffmpeg, sox, etc. o mejor aún aumentar la ganancia en el receptor usando pulseaudio. Si eleva el volumen a un nivel alto, obtendrá una gran cantidad de estática, que es de esperar.

 

 

 

 

Prueba de sonido

Usaremos una Raspberry Pi 3 con Raspbian instalado y actualizado, lo primero será verificar que el audio nos funciona bien, tanto el del micrófono como los altavoces por donde queremos sacar el sonido ,para ello editamos nuestro fichero de configuración de audio ‘~/.asound’ y especificamos el micrófono que estamos usando, en este caso un USB específico, pero también podríamos usar el micro de una webcam, así como el audio que me lo saque por la predeterminada

Antes de continuar pues  debemos configurar el sistema de audio en la Raspberry Pi.

  1. Encontrar los dispositivos de grabación y reproducción.

    1. Coloque el micrófono USB en la lista de dispositivos de hardware de captura. Anote el número de tarjeta y el número de dispositivo.

      arecord -l
    2. Coloque el altavoz en la lista de dispositivos de hardware de reproducción. Anote el número de tarjeta y el número de dispositivo. Tenga en cuenta que el conector de 3,5 mm se etiqueta típicamente o (no). Analogbcm2835 ALSAbcm2835 IEC958/HDMI

      aplay -l
  2. Crear un nuevo archivo llamado .asoundrec  en el directorio home(/home/pi). Asegúrese de que tiene las definiciones de derecho esclavo para micrófono y altavoz; Utilice la configuración  a continuación pero cambie <card number><device number>  con el número que anotó en el paso anterior. Hacer esto para ambos y..asoundrc/home/pi<card number><device number>pcm.micpcm.speaker

    pcm.!default {
      type asym
      capture
    .pcm "mic"
      playback
    .pcm "speaker"
    }
    pcm
    .mic {
      type plug
      slave
    {
        pcm
    "hw:<card number>,<device number>"
     
    }
    }
    pcm
    .speaker {
      type plug
      slave
    {
        pcm
    "hw:<card number>,<device number>"
     
    }
    }
  3. Verificar esa grabación y la reproducción del ejemplo:

    1. Ajustar el volumen de reproducción.

      alsamixer

      Pulse la tecla de flecha hacia arriba para ajustar el volumen de reproducción nivel a alrededor de 70.

    2. Reproducir un sonido de prueba (se trata de una persona que habla). Presione Ctrl + C al hecho. Si no se oye nada cuando se ejecuta esto, Compruebe la conexión del altavoz.

      speaker-test -t wav
    3. Grabar un clip audio corto.

      arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw
    4. Compruebe la grabación por reproducirlo. Si no se oye nada, puede que necesite registrar el volumen de grabación. alsamixer

      aplay --format=S16_LE --rate=16000 out.raw

    Si están trabajando la grabación y reproducción, ya se ha configurado el  audio. Si no es así, verifique que el micrófono y el altavoz están correctamente conectados. Si no es el problema, intente un diferentes micrófono o altavoz.

    Tenga en cuenta que si tiene un monitor HDMI y un altavoz de jack de 3,5 mm conectado, usted puede reproducir audio por  cualquiera de los dos. Ejecute el siguiente comando:

    sudo raspi-config

    Ir a Opciones avanzadas > Audio y seleccione el dispositivo de salida deseada.

 

Activación servicio

Para activar el servicio nos iremos  a la consola de las Acciones de Google, nos validaremos con una cuenta de Google válida y crearemos un nuevo proyecto de Google Cloud Platform,.Con la API de Google Assistant instalada en nuestra Raspberry accederemos para realizar consultas y el proyecto nos mostrará los datos sobre los consumos.

En primer lugar nos iremos  a la consola de las Acciones de Google, en https://console.actions.google.com, deberemos validarnos con una cuenta de Google válida y crear un nuevo proyecto de Google Cloud Platform, para ello pulsamos en “Add/Import project»

Si no tiene ningún proyecto creado, nos aparece una ventana para  aceptar las condiciones de servicio. Es importante en este punto no olvidar  si queremos cambiar el idioma a español   para las Acciones  así como  seleccionar nuestro País, 

 

Tenemos que tener en cuenta  que el máximo de proyectos gratuitos es 3 ,por lo que  no podremos añadir nuevos, así que una opción es eliminar proyectos antiguos o incluso seleccionar alguno de estos proyectos antiguos de Google App Engine  como origen  de automatización ( ese es el caso de nuestro ejemplo «soloelectronicossalva»)

En caso de no tener ningún proyecto en la nube de Google ,deberemos  indicar el nombre del Proyecto (recordar que  aparecerá un combo si tiene ya varios proyectos creados)

Ahora tenemos que habilitar la API de Google Assistant API para nuestro proyecto , por lo que nos iremso a  https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview y daremos al boton de Habilitar . Si no estamos situados en nuestro proyecto  seleccionamos del combo nuestro proyecto y pulsamos en “Habilitar”,(API > Enable API > Google Assistant > Enable)

 

Y al pulsar el botón  quedara habilitado el API  de Google Assistant para nuestro proyecto

 

 

Observe que no es completamente gratuito, estando limitado a 500 peticiones al día  con un máximo de 60 peticiones/minuto , aspectos que podemos estudiar en el menú  de Cuotas

Ahora ya podríamos ir a registrar nuestro dispositivo! Vamos de nuevo a la Consola, en https://console.actions.google.com/
Ir a “Device registration” > “Register Model” y lo crearíamos

 

En caso de haber importado un proyecto que ya teníamos, el proceso es diferente, pues repetiremos las dos opciones primeras de Add/Import  , pero esta vez en el menú que nos aparece seleccionaremos  Device registration” > “Register Model” y lo creariamos (la url seria del tipo https://console.actions.google.com/u/0/project/proyecto_importado/deviceregistration/)

 

 

En ambos casos, llegado a este punto, pulsaremos al botón   «Device registration«

 

 

 

Tendremos que ponerle un nombre o ‘Product Name’ (que anotaremos), un nombre del fabricante o ‘Manufacter Name’  y seleccionamos si queremos algún tipo de dispositivo, que en nuestro caso al ser una raspberry Pi 3 lo dejaremos en ‘Auto’, pulsamos en “Register Model”,

 

 

 

 

Nos toca ahora descargar el fichero con los credenciales de acceso al servicio de Google Assistant, pulsamos en “Download OAuth 2.0 credentials” y los guardamos en una ruta de nuestro ordenador que nos sea fácil de recordar

Ahora   copiaremos   dichos archivo  a la Raspberry Pi  en la ruta  /home/pi,

 

 

En este ultimo paso , es interesante las opciones que nos ofrece:

  • Brillo: Este rasgo cubre cómo controlar el brillo de un dispositivo. La configuración de brillo absoluto se encuentra en un rango normalizado de 0 a 100 (las luces individuales pueden no ser compatibles con todos los puntos del rango según su configuración de LED). 
  • ColorSpectrum Este rasgo pertenece a cualquier dispositivo que pueda establecer un espectro de color. Esto se aplica a las bombillas de color «completas» que toman rangos de color RGB. Las luces pueden tener cualquier combinación de ColorSpectrum y ColorTemperature, las luces de acento y las tiras de LED solo pueden tener Spectrum, mientras que algunas bombillas de lectura solo tienen Temperatura. Las bombillas básicas, o luces tontas en enchufes inteligentes, no tienen ninguno.
  • Temperatura del color: Este rasgo pertenece a cualquier dispositivo que pueda ajustar la temperatura del color. Esto se aplica a las bombillas de «calor» que tienen un punto de color en Kelvin. Esta es generalmente una modalidad separada de ColorSpectrum, y es posible que haya puntos blancos disponibles a través de la temperatura que Spectrum no pueda alcanzar. Según los rasgos disponibles, Google puede elegir el modo apropiado para usar según la solicitud y el tipo de luz (por ejemplo, si las luces de la sala de estar están en blanco podrían enviar comandos de temperatura a algunas bombillas y comandos de espectro a tiras de LED).
  • Muelle: Este rasgo está diseñado para dispositivos auto-móviles que pueden ser ordenados a regresar para la carga. En general, estas son aspiradoras robóticas actualmente, pero esto también se aplicaría a algunos drones, robots de entrega y otros dispositivos futuros. 
  • Encendido apagado :La funcionalidad básica de encendido y apagado para cualquier dispositivo que tenga activado y desactivado el binario, incluidos enchufes e interruptores, así como muchos dispositivos futuros. Tenga en cuenta que los termostatos tienen una configuración de ‘modo’ expandida, que es un interruptor de múltiples vías que incluye encendido y apagado, pero los termostatos generalmente no tienen esta característica. 
  • StartStop :Este rasgo cubre iniciar y detener el dispositivo. Iniciar y detener un dispositivo cumple una función similar para encenderlo y apagarlo. Los dispositivos que heredan este rasgo funcionan de manera diferente cuando se encienden y cuando se inician. Algunas lavadoras, por ejemplo, pueden encenderse y modificar sus configuraciones antes de comenzar a operar.
  • Ajuste de temperatura : Este rasgo cubre el manejo tanto del punto de temperatura como de los modos. 

Para  nuestro ejemplo no seleccionaremos ninguna de esta opciones por el momento y pulsaremos  «SaveTraits«

 

Nos debe aparece ahora  al entrada    con la configuración definida:

 

 

Si pinchamos en la entrada  podemos cambiar algunos de los parámetros ya definidos ( no olvidar darle al botón de «save«) 

 

 

 

 

Grabamos el dispositivo que acabamos de registrar, pulsando en “SAVE”,

 

 

Configruacion de la Raspberry Pi

 

Bien, ahora en la Raspberry Pi configuraremos el entorno virtual de Python para aislar el SDK y sus dependencias de los paquetes Python del sistema, nos escogemos la opción de Python 3:

sudo apt-get install python-dev python-virtualenv

virtualenv env –no-site-packages

env/bin/python -m pip install –upgrade pip setuptools wheel

source env/bin/activate

Instalamos las dependencias necesarias además de  Google Assistant SDK que nos permitirá tener Google Assistant corriendo en la Raspberry Pi:

sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev


Mediante pip instalamos la última versión de Python en el entorno virtual:

python -m pip install --upgrade google-assistant-sdk[samples]

Instalamos o actualizamos la herramienta de autorización:

python -m pip install --upgrade google-auth-oauthlib[tool]

 

Ahora generamos los credenciales para ejecutar los ejemplos, usaremos el fichero JSON que nos hemos descargado previamente:

google-oauthlib-tool –scope 

https://www.googleapis.com/auth/assistant-sdk-prototype –scope

 https://www.googleapis.com/auth/gcm –save –headless –client-

secrets /home/pi/client_secret_xxxx.apps.googleusercontent.com.json

 

 

Si todo es correcto, nos pondrá algo como:

Please visit this URL to authorize this application: ....
 

Copiamos la URL y vamos a ella con un navegador que esté validado con nuestra cuenta de Google. Tras permitir el acceso o nos dará un código de autenticación que debemos pegar en la shell.

Y ahora, ya estamos listos para probar un ejemplo!

En el mismo entorno virtual, ejecutamos el siguiente comando indicando nuestro ID de Proyecto y nuestro ID de modelo, En caso de no haber  anotando estos datos , ambos estan  en la Consola de Actions de Google buscando en las opciones generales del proyecto y del dispositivo.

Si esta todo OK ejecutamos el siguiente comando y quedará listo para que hablemos con el Assistantar:

 

  googlesamples-assistant-hotword --project_id entrada-txarlatana --device_model_id entrada-txarlatana-entrada-xxxx

 

Por cierto, para cambiar el idioma de nuestro Asistente, lo haremos directamente con nuestro teléfono móvil, con la app del Assistant que supongo la tendréis instalada (y si no os la instaláis :P, la abrís, pulsamos arriba en la brújula, y en la siguiente pantalla en Explorar debemos ir a “Ajustes”,

En Ajustes debemos buscar en Dispositivos el dispositivo que hemos registrado antes, lo seleccionamos, y ahí ya le podremos dar acceso a más datos nuestros a los señores de Google o seleccionar el idioma que queremos para interactuar con el Assistant!

 

 

MEJORA DEL MICRÓFONO 

Finalmente, dependiendo de la calidad de tu micrófono, notará que tiene algunos problemas a la hora de escucharle. En lugar de gritar  cada vez que quiera usarlo, lo que haremos será regular el micrófono mediante la línea de comandos una vez más.

  • Introduzca  en la termina ssh  el siguiente comando:
     alsaixer
  • Pulsee F6 para seleccionar un USB diferente. Use, las flechas para seleccionar tu micrófono.
  • Usa las flechas para aumentar el volumen de captura.
  • Cuando esté satisfecho con el volumen, pulse  ESC para salir.
  • Escriba el siguiente comando para hacer permanentes los cambios.
     sudo alsactl store

Ahora será capaz de comunicarte con su Echo casero hablando de manera normal   en lugar de gritando. Desde esta misma pantalla también se puede cambiar el volumen por defecto si lo necesitara.

 

Tenemos el servicio montado bajo una Raspberry Pi, si volvemos a ejecutar el ejemplo anterior estará el Asistente en nuestro idioma pero  tendremos que constantemente pulsar Enter o decir ‘OK, Google’ independientemente de los ejemplos que tenemos para interactuar.

Si no nos  interesa que el micrófono esté siempre escuchando y así también evitar la necesidad de decir ‘OK Google’ todo el rato, mediante un script  en c-shell   podemos   iniciar  o detener el Assistant

google_assistant_para.sh

cd /home/pi/

source env/bin/activate

nc -l 12345 | /home/pi/env/bin/python3 /home/pi/env/bin/googlesamples-assistant-pushtotalk –project-id txarlatana –device-model-id txarlatana-pitxarlatana-xxxx &

 

google_assistant_para.sh

pkill python3

pkill google

pkill nc

 

 

Mas información en  https://developers.google.com/assistant/sdk/guides/library/python/

 

 

 

 

 

 

 

Como activar almacenamiento ilimitado con movistar Cloud


En efecto todas  aquellas personas que  tengan contratada  MOVISTAR  Fusión y tarifa de contrato 20 Plus  pueden disfrutar desde  hace unos meses sin coste adicional de  almacenamiento ilimitado en la nube de Movistar Cloud . En caso de no cumplir esas condiciones   la tarifa es  mas que razonable  ( 3€/mes) . Esta nueva nube es perfecta para guardar  fotos, vídeos,  música así como todos tus documentos en un  espacio ilimitado  sin peligro de perder la información y  lo que mas importante con criterios muy fuertes de seguridad    como por ejemplo implementando el método de mobile connect para  las  validaciones de usuarios   .

Movistar no puede acceder a los datos almacenados y por tanto no puede hacer ningún uso de ellos. En una empresa española como Telefónica  que ademas dispne de centros de datos en suelo nacional  , es crucial garantizar la privacidad y  seguridad son  muy importantes,   por los que los contenidos que subamos  a la nube de Movsitar  , se suben a la nube con un alto nivel de encriptación y libres de virus.

La capacidad de almacenamiento ilimitado se suscribe bajo un modelo de suscripción mensual, el cual se renueva automáticamente mes a mes. Como comentábamos dependiendo del tipo de contrato que se  tenga con Movistar podrá optar al servicio de manera gratuita o pagando una cuota por mes natural.Estas son todas las casuisticas contempladas;

  •  Si el  contrato es Fusión o Contrato 20 Plus, tanto si es una línea adicional o no, puedes acceder sin ningún coste adicional a Movistar Cloud Ilimitado
  •  Si su tarifa de móvil es Contrato 2, Contrato 5 o Contrato 5 Plus puedes contratar Movistar Cloud Ilimitado con un coste adicional de 3€/mes por cada línea móvil con el que lo contrates.
  • Si su tarifa es diferente a las descritas anteriormente puedes contratar Movistar Cloud Ilimitado por 3€/mes por cada línea móvil con el que lo contrates, salvo con las tarifas #15 y #25 que también es gratuito.
  •  Si tu tarifa es de Prepago no podrá disfrutar de Movistar Cloud.

Y estos son los requisitos e incompatibilidades:

  • Tener una línea móvil con Movistar, aunque solo podrá disfrutar de una cuenta de Movistar Cloud por cada línea móvil que tenga.Pueden disfrutar de Movistar Cloud todas las líneas de su Fusión o tarifas.
  • Que la línea móvil  sea de contrato, no de tarjeta.
  • Si tiene un contrato Fusión podrá acceder a tantas cuentas de Movistar Cloud como líneas tenga.
  • Movistar Cloud es compatible con tu Movistar Dual siempre que una de las dos líneas de tu Dual corresponda a un contrato Movistar que no sea de empresa.
  • No hay compromisos de permanencia de  modo que se puede  solicitar la baja cuando desees, sin penalización en tu factura .!Ojo! , una vez se ejecute la baja se disponen de 20 días para descarga todos los contenidos desde la aplicación web en https://micloud.movistar.es.. Después sí, los contenidos se perderán definitivamente. )

Si se cumplen estos requisitos se  puede tener gracias   al cloud de Movistar almacenamiento ilimitado ( donde puede guardar sus contenidos en la nube y acceder a ellos desde cualquier dispositivo en cualquier lugar)  con un interfaz  fácil e intuitivo ( ya que cuenta con aplicación para móvil, tablet y ordenador además de una página web) que ademas permite enviar  y compartir compartir fotos, vídeos o documentos por email, whatsapp o redes sociales   sirviendo ademas para visualiza sus fotos y vídeos   de las cuentas de Facebook o Instagram,  archivos de Dropbox o incluso archivos anexados a sus emails de Gmail de manera inmediata.

En el siguiente vídeo podemos ver  un poco el funcionamiento de Movistar Cloud;

 

 

 

Es interesante destacar que sí, cambias de numeración mantiene su cuenta de Movistar Cloud con todos los contenidos que tenga allí guardados, pero cambiará su usuario, ya no será ¡su antiguo número de teléfono, si no el nuevo. Asimismo si cambias de operador perderá Movistar Cloud, (aunque se disponen de s 20 días de cortesía para descargar contenidos desde la web https://micloud.movistar.es) .

 

 

Paso a paso :

Veamos  los pasos para configurar nuestra cuenta de Movistar Cloud suponiendo que cumplamos todos los requisitos anteriormente comentados

  1. Accedemos  al web de movistar cloud https://micloud.movistar.es/
  2. Pinchamos en Iniciar Sesión
  3. Ahora  introducimos el numero móvil    asociado al contrato fusión                                                                       
  4. Muy importante  : introducir en el apartado anterior  el numero móvil :  no el numero  fijo )
  5. Ahora  en el móvil aceptaremos la conexión con mobile connect                                                     
  6. Recibiremos un SMS de confirmación                                                                                                                                                                                                                                    
  7. Ahora desde la pagina donde accedimos  nos pedirán un e-mail  que nos servirá para el login  de acceso
  8. !Ya esta activado! así que nos volveremos a ir a la pagina https://micloud.movistar.es/
  9. Tendremos   móvil cerca para permitir el acceso mediante Mobile connect
  10. Introduciremos nuestro  numero móvil, permitiremos el acceso desde Mobile Connect   y ya podremos disfrutar  del servicio desde  un navegador

Los requisitos del ordenador son Windows 7 o superior para pc’s  o Mac OS IX o superior y  en cuanto a navegadores Mozilla Firefox v25 o posterior, Google Chrome v31 o posterior, o Internet Explorer v9 o posterior. También se puede instalar la aplicación Movistar Cloud en el  ordenador.  Podrá acceder a ella desde la barra de tareas si su ordenador es un PC o desde el Dock si su ordenador es un Mac.

Acceso vía Movil

Lo mismo que hemos visto como se puede acceder a Movistar Cloud desde un  ordenador también se puede desde un smartphone o tablet con sistema operativo Android (4.x y superior), iOS (6.x, 7.x, 8.x y superior).

Para disfrutar de Movistar Cloud en un smartphone y/o tablet, tenemos que descargar la aplicación de Movistar Cloud a través de la app store correspondiente:

El aspecto  del interfaz , como vemos mas abajo,  es muy simular al ofrecido por la web  pero cómo extra ofrece  una  facilidad  genial para  permitirnos hacer un backup de todo el contenido del móvil sobre la nube ( cuando haya conexión wifi)   de modo que nunca vayamos a  perder nuestros preciados datos

 

Por cierto , ponen un email de contacto para posibles problemas :[email protected], ( hay que indicar nombre y apellidos titular, NIF, nº de línea móvil, modelo dispositivo, versión de sistema operativo y un breve resumen de lo que ocurre).

OpenAuto


Y es que en lugar de tener que gastar una fortuna en una pantalla para el coche que incluya Android Auto de marca como Pioneer o Sony el desarrollador Polaco Michal Szwaj   se decidió a crear este proyecto cuando buscaba incorporar un sistema Android Auto en su viejo coche,  por lo que descartado comprar un costoso equipo ,  la primera alternativa que se le ocurrió  fue  OpenAuto que  se lanzó  en el primer trimestre de 2018 de manera pública ( dado que las primeras versiones de Android Auto oficialmente no admitían autorradios de  terceros baratos ) , Desgraciadamente  como hemos visto,  instalarlo  a pesar  de  que existe un script que  puede hacer  todas las funciones , es algo complejo porque al fin al cabo requiere compilar código ,   así como añadir una serie de configuraciones para hacerla funcionar, motivo por el cual se lanzó a hacerlo todavía más sencillo creando una imagen en unas SD  con todo ya instalado  y pre-configurado .

En efecto se  puede hacer casi  lo mismo que Android Auto  gracias a la  nueva distribución de GNU/Linux llamada Crankshaft para lo cual  solo necesitaremos la Raspberry Pi  3 y una pantalla táctil, la cual desgraciadamente  tiene  una gran peculiaridad :sólo  funciona con la  pantalla táctil de 7″ oficial de la fundación Raspeberry ( unos 100€) . Sólo si se cuenta con ambas condiciones tan  solo habrá que  instalar  la imagen de Crankshaft y por supuesto encontrarle un hueco en el salpicadero de nuestro coche(su creador recomienda que compremos la pantalla oficial y una carcasa)

 

 

Crankshaft  esta en fase alfa y se puede descargar  gratuitamente desde su página web oficial pero sus autores no se responsabilizan de ningún problema que pueda surgir durante su utilización, ya que se distribuye de forma altruista y no una versión estable desarrollada por Google (por tanto, tenga mucho cuidado si lo utiliza  y depende  de esta).

Los  conceptos  sobre los que se centra esta distribución;

  • Amistoso y divertido:Una instalación base que debe «sólo trabajar» sin ninguna configuración extra , es decir sin tener que ejecutar un solo comando desde la consola .

  • Software libre ; respeta su libertad garantizada por la GPLv3, desarrollado por Open. Código fuente.

  • De gran alcance: nos  lo pone fácil para personalizar y desarrollar en él.

Android Auto es más que un concepto,  pues mientras Android Auto puede tomar la forma de software pre-instalado en un a elegante unidad principal de su coche  nuevo , en un contexto de Crankshaft,  Auto Android es, ante todo un reflejo de la aplicación que se ejecuta en tu teléfono Android   y por ende donde reside toda la magia , por lo que no es software que se ejecuta en una unidad principal (en este caso una  Rasbperry Pi 3  ) ya que  a aplicación Android Auto funciona en su teléfono que  sirve como  software de proyección – más simplemente mediante un cable USB – de sí mismo y admitiendo  incluso  aplicaciones como Google Maps, funcionando en su teléfono. Open fue desarrollado originalmente para su uso en el hardware como el Pi de Raspberry pi  con una pantalla táctil,  para usarlo en  combinación con  un teléfono con Android con  la aplicación Android Auto, proyectando la salida de la aplicación Android Auto un Raspberry Pi equipado con una pantalla táctil y funcionamiento Open, se convierte en una unidad principal de coche potencialmente muy bajo costo y eficaz comparable a la funcionalidad ofrecida por unidades principales actuales.

Crankshaft es una distribución Linux ha sido desarrollada para hacer más fácil de usar Open para configurar y ejecutar proporcionando la funcionalidad adicional de ayuda fuera de la caja que no es estrictamente parte de Open.

Una unidad principal de funcionamiento del Crankshaft:

  1. Tiene muy poco control sobre el teléfono y qué aplicaciones se ejecutan en él
  2. Solo maneja entradas relacionadas cuando toca la pantalla táctil   enviando estos datos a la aplicación de Auto Android en su teléfono
  3. Puede negarse a ayudar al audio del teléfono aunque esto puede ser útil si desea utilizar un Bluetooth estéreo ya trabajando en su coche
  4. Podría considerarse vinculada al teléfono Android que es el servidor con  todos los beneficios y límites que conlleva

 

Hardware 

Necesita los siguientes elementos

Getting started materials

  1. Una Raspberry Pi:

    • Los modelos 3B y 3B + son la opción razonable.

    • El Pi 2 sería conveniente pero carece de WiFi y Bluetooth a bordo que podría ser de utilidad.

    • El cero de Pi, A + y B Pi original pueden hacerlas a pesar de la aceleración de GPU de Open.

  2. Por lo menos una tarjeta de microSD de 4GB  :Tarjetas Sandisk y Samsung (la línea EVO) son grandes

  3. Pantalla táctil de frambuesa Pi : de hecho el oficial 7″ modelo funciona muy bien alimentado desde el Pi a través de los pines GPIO, como física pin 2 (5V) y la clavija 6 (GRND)

  4. Un smartphone con Android 5.0 o superior  con la aplicación de Android Auto instalada

  5. Un cable USB para conectar el teléfono a su Raspberry Pi

  6. Una fuente de energía como un enchufe accesorio de 12V al convertidor del USB.

    • Conseguir una adecuada con alto amperaje (Amp 2 o más).

    • No compre los baratos en las tiendas de articulos orientales.

  7. Un cable USB a micro USB para alimentar el Pi.

  8. Una solución de salida de audio como la radio del coche.

    • Un cable de audio 3.5mm Macho a macho le permitirá conectar el Raspberry Pi para Aux zócalo de su coche, si tienes uno.

    • Otra opción es audio Bluetooth.

  9. Un micrófono USB Si desea utilizar al asistente de «Google OK».

 

Si usted está confundido con la pantalla táctil, consulte a la guía de «construcción de la pantalla» en ThePiHut.

Assembled screen

La pantalla montada debería verse como esto.

Después de conectar el cable de cinta, necesitarás conectar dos cables adicionales más.

Estos son algunos diagramas útiles

Corresponde a:

Usted tendrá que conectar los 2 pines: tierra (GND/negro) y 5V (rojo) a los 2 pines etiquetado GND y 5V de la pantalla táctil. N

Tome  mucha  precaución al conectar lo 5V/GND, ya que podría freír la pantalla / el Pi si lo conecta mal.

Software

Vaya a la sección lanzamientos de Crankshaft y descargue el archivo ZIP de 500 MB o así a su ordenador.

Una vez ,  descargada la imagen correspondiente  en su ordenador  siga los siguientes pasos:

  • Inserte la tarjeta SD en el lector de tarjetas SD  de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows.
  • Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de la imagen de Raspbian de Crankshaft .
  • Seleccione la letra de la unidad de la tarjeta SD en la caja del dispositivo. Tenga cuidado de seleccionar la unidad correcta; si usted consigue el incorrecto puede destruir los datos en el disco duro de su ordenador! Si está utilizando una ranura para tarjetas SD en su ordenador y no puede ver la unidad en la ventana Win32DiskImager, intente utilizar un adaptador SD externa.
  • Haga clic en Escribir y esperar a que la escritura se complete.
  • Salir del administrador de archivos  y expulsar la tarjeta SD.
  • Ya puede insertar la SD en su Raspberry Pi en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los  conectores USB, conectar la  con un cable ethernet  al router  conectividad a Internet y finalmente conectar la alimentación  para comprobar que la Raspeberry arranca con la nueva imagen

 

Por último, poner todo en iniciar su coche y conecte el teléfono!

No es un software de nivel alpha, por lo que. No es seguro  que funcione  al 100%   incluso con el hw probado  y sw de Google o Android. T

Si es  un desarrollador que es capaz de compilar software en Linux, puedes seguir las instrucciones de Open incluso cuando el Crankshaft  no funcione en su hardware personalizado.

Puede ver en este hilo una lista de compatibilidad de teléfonos y Hardware.El listado de móviles compatibles incluye prácticamente todos los recientes, y puede comprobar el listado de usuarios que afirma que funciona con su móvil en la página de GitHub   pero como decíamos al principio de este post el problema es la pantalla táctil pues de no ser la oficial  puede que visualize  perfectamente el interfaz  pero que no reaccione a las pulsaciones .

Personalmente lo he probado con la pantalla  kuman de 5»  ( bastante mas económica que la de 7″ oficial ) pero desgraciadamente aunque  la imagen es  perfecta del interfaz  desgraciadamente  no responde a las pulsaciones ante la pantalla 

Al estar todavía en fase experimental, le faltan bastantes funcionalidades. Por ejemplo, no cuenta con implementación para micrófono, por lo que el control por voz mediante Ok Google no funciona. Tampoco tiene Bluetooth, por lo que es necesario conectar el móvil mediante USB para poder usarlo con el sistema

 

Via instructables

Como emular un mando con Arduino


A veces   puede ser  interesante emular del comportamiento  de un mando infrarrojo  con el fin de automatizar procesos  que de otra manera  seria mucho mas complejo . Como ejemplo típico de dispositivos que podemos controlar vía infrarojos, hablamos de  reproductores de cámaras, televisores, DVD, VCR, lectores de blueray, equipos de sonidos, descodificadores  y  un largo etcétera 

Aunque pueda parecer descabellado repetir las mismas señales desde una placa Arduino , lo cierto  es que no es descabellado querer emular este comportamiento , porque  podemos  hacer cosas  que seria muy dificultoso  sin la ayuda del procesamiento de señales de infrarojos como por ejemplo  encender automáticamente  el Aire Acondicionado  cuando la temperatura  suba un determinado valor , o se desconecte a una determinadas horas ,  se apague  cuando no haya movimiento  y un largo  etcétera 

Como paso previo  debemos analizar las señales infrarrojas emitidas por el mando usado para el control de ese dispositivo  por lo que deberemos averiguar  cómo recibir los códigos y luego una vez conocidas intentar ver como transmitirlas.

Para nuestra tarea necesitamos :

  • 1 x Arduino (cualquier versión sirve  siempre que pueda procesar señales  «PWM» )
  • 1 x LED IR   (usted puede conseguir éstos de cualquier TV remoto)
  • 1 x receptor IR (usted puede conseguir éstos de cualquier TV remoto)

 

Preparación para recibir señales

Para el análisis  de las señales infrarrojas  producidas por el mando del  dispositivo a controlar en primer lugar necesitaremos  un receptor de infrarrojos ,   que bien  puede proceder de   uno reciclado de cualquier viejo proyecto que ya no utilice  o bien adquirido específicamente  en el comercio

Una interesante opción son los famosos kits para Arduino que integran por unos 4€  todo los necesario para habilitar la comunicación en los dos sentidos  gracias a un led IRDa, un receptor IRDA  y un mando para pruebas.

Kit Modulo Receptor Infrarojo IR Protocolo Nec con Mando a Distancia Arduino

Como sugerencia  para captar el código correcto , deberíamos poner el receptor IR y el mando en una caja opaca  o algo que sea oscuro  lo cual  asegurará que habrá el mínimo de interferencias y  podremos tener el código más claro para que no tengamos que programar  nuestro  Arduino  muchas veces para una simple tarea. También, asegúrese de que estar alejados de personas viendo la televisión.

Realmente el circuito es bastante sencillo pues únicamente tendremos que alimentar con 5v DC  ( que podemos tomar directamente desde nuestro Arduino )   y luego conectar la salida del receptor digital al pin digital A2 de Arduino

 

Picture of Preparing to Receive Signals

Una vez montado el simple circuito del receptor de infrarrojo es hora de  subir el programa a su Arduino  para  poder descodificar la señal infrarroja .

El siguiente programa utiliza el Arduino y un PNA4602 para descifrar IR recibido lo cual se  puede utilizar para hacer un receptor de infrarrojos. (buscando un código en particular) o transmisor (pulsando un LED IR a ~ 38KHz para el duraciones detectadas,

Este código es de dominio público (visite http://www.ladyada.net y adafruit.com), pero en esta ocasión se ha traducido para que sea mas legible y fácil de entender:


// Necesitamos usar los métodos de lectura de pin ‘raw’  porque el tiempo es muy importante aquí y el digitalRead () es un  procedimiento s más lento!

#define IRpin_PIN PIND
#define IRpin 2

// el pulso máximo que escucharemos: 65 milisegundos es mucho tiempo
#define MAXPULSE 65000

// lo que debería ser nuestra resolución de tiempo, más grande es mejor ya que es más ‘preciso’ – pero demasiado grande y no se conseguirá  tiempo exacto
#define RESOLUTION 20

// almacenaremos hasta 100 pares de pulsos (esto son muchos )
uint16_t pulses[100][2]; // par es pulso alto  y bajo 
uint8_t currentpulse = 0; // indice para pulsos que estamos almacenando

void setup(void)

{
Serial.begin(9600);
Serial.println(«Ready to decode IR!»);
}

void loop(void)

{

// tiempo de almacenamiento temporal
uint16_t highpulse, lowpulse;

//empezar sin pulso 
highpulse = lowpulse = 0;

//esto es demasiado lento!
while (IRpin_PIN & (1 << IRpin)) {
// pin esta a nivel alto

// continúa otros microsegundos
highpulse++;
delayMicroseconds(RESOLUTION);

// Si el pulso es demasiado largo, ‘se agotó el tiempo’ – o bien nada / se recibió o el código está terminado, así que imprima lo que  hemos obtenido hasta ahora, y luego reiniciamos
if ((highpulse >= MAXPULSE) && (currentpulse != 0)) {
printpulses();
currentpulse=0;
return;
}
}
// no nos detuvimos, así que escondamos la lectura
pulses[currentpulse][0] = highpulse;

// lo mismo que arriba
while (! (IRpin_PIN & _BV(IRpin))) {
// pin esta aun bajo
lowpulse++;
delayMicroseconds(RESOLUTION);
if ((lowpulse >= MAXPULSE) && (currentpulse != 0)) {
printpulses();
currentpulse=0;
return;
}
}
pulses[currentpulse][1] = lowpulse;

// leemos un pulso alto-bajo con éxito, ¡continuamos!
currentpulse++;
}

void printpulses(void) {
Serial.println(«\n\r\n\rReceived: \n\rOFF \tON»);
for (uint8_t i = 0; i < currentpulse; i++) {
Serial.print(pulses[i][0] * RESOLUTION, DEC);
Serial.print(» usec, «);
Serial.print(pulses[i][1] * RESOLUTION, DEC);
Serial.println(» usec»);
}
}


Una vez que hemos subido el código anterior  y  todo está configurado correctamente, abrir el serial monitor haciendo clic en el botón en el programa de Arduino que es el botón de un círculo en la imagen y  ya estára en marcha así que ahora usted necesitará encontrar un control remoto que desee usar para controlar algo con Arduino

El proceso  esquemáticamente  a seguir es el siguiente :

  1. Encontrar el mando a distancia del dispositivo  que quiere controla
  2. Ejecutar el código del  receptor anteriormente citado
  3. Presione el botón del mando cuyo  código desea obtener 
  4. Ver el Monitor Serial
  5. Pegar el todo el código del monitor serie  en un editor de texto 
  6. Repetir los paso 3, 4 6  con todos los botones del mando que desee descodificar 

 Interpretando las señales

Una vez siga la secuencia de paso anteriores recibirá un montón de números seguidos por «usecs» o «usec».
Asegúrese de que ha copiado la señal que se desea formateando la salida para más fácil referencia.

Se verá algo como esto:
500 usec, 300 usec
600 usec, usec 1200

Pero habrá números mucho más que eso.

Ahora en el programa emisor  verá esto bastantes veces:

delayMicroseconds();
pulseIR();

Es decir tenemos que  tomar el primer número y poner paréntesis en delayMicroseconds(«here»); el  valor obtenido en el monitor
y a su vez   tomar el segundo número de la misma línea como el de la delayMicroseconds()  valorar y poner en el paréntesis de pulseIR(); valor.

Veamos otro ejemplo .Si conseguimos esto en el monitor serial:

OFF ON
1660 usec, usec 580
1640 usec, usec 560

Ahroa para poner los  correspondiente valores en sus áreas correspondientes lo haremos asi :

delayMicroseconds(1660);
pulseIR(580);
delayMicroseconds(1640);
pulseIR(560);

Como puede apreciar ,la  tarea de transcripción  es muy fácil.

Una vez que tenga los códigos que desee, abra un nuevo  archivo IR_SEND.pde en el programa de Arduino y luego tendremos que  poner  los valores que tiene del monitor de serie entre paréntesis haciéndolo  del mismo modo  que hemos visto anteriormente .

Ahora, una vez que tenemos los códigos que desea y haya cargado el programa con la señal que desea enviar, todo lo que tiene que hacer es conectar el LED IR al pin 13 y luego a tierra  No necesita la resistencia si tiene un Duemilanove Arduino porque tiene una resistencia integrada para PIN 13, por lo que no tiene que preocuparse.


Como ejemplo veamos este código cuando se presiona el botón para subir el canal en un  control remoto de Comcast. . Aquí está el código de Serial Monitor: Recibido:

OFF  ON
36328 usec, 280 usec
820 usec, 300 usec
1580 usec, 320 usec
640 usec, 240 usec
2740 usec, 240 usec
1280 usec, 240 usec
1240 usec, 240 usec
1120 usec, 240 usec
2600 usec, 240 usec
12740 usec, 240 usec
840 usec, 240 usec
980 usec, 240 usec
700 usec, 240 usec
700 usec, 240 usec
720 usec, 240 usec
2460 usec, 260 usec
700 usec, 240 usec
700 usec, 240 usec
14904 usec, 260 usec
820 usec, 240 usec
1660 usec, 240 usec
700 usec, 260 usec
2740 usec, 240 usec
1240 usec, 240 usec
1260 usec, 240 usec
1100 usec, 240 usec
2620 usec, 240 usec
12720 usec, 260 usec
840 usec, 220 usec
2080 usec, 240 usec
1780 usec, 260 usec
700 usec, 240 usec
700 usec, 240 usec
2480 usec, 240 usec
700 usec, 240 usec
700 usec, 240 usec

Aquí está el código realizado a partir de los datos en bruto anteriores  pero no se  asociado al código  

En el siguiente  programa   se ha introducido  un detalla original ; Arduino cambiará el canal cada diez segundos para que se puedan hacer otras cosas , Por ejemplo mientras se ve televisión y esta haciendo otras cosa  así  no tendrá que cambiar el canal de modo que el sw  recorrerá los canales para que tenga las manos libres. (todos sabemos que presionar un botón es tan difícil, ¿por qué no hacerlo de forma automática?)

 

He aquí el programa realizado por Wally_Z:


int IRledPin =  13;    // LED conectado al pin digital 13

// El método setup () se ejecuta una vez, cuando comienza el boceto

void setup()   {               
  // initializa  el pin como salida :
  pinMode(IRledPin, OUTPUT);     

  Serial.begin(9600);
}

void loop()                    
{
  SendChannelUpCode();

  delay(20*1000);  // espera veinte segundos (20 segundos * 1000 milisegundos) Cambia este valor para diferentes intervalos.

}

// Este procedimiento envía un pulso de 38KHz al IRledPin  para un cierto  numero de microsegundos. Usaremos esto siempre que tengamos que enviar códigos.

void pulseIR(long microsecs)

{
  // contaremos desde la cantidad de microsegundos que se nos dice que esperemos

  cli();  // esto apaga cualquier interrupción de fond

  while (microsecs > 0) {
   // 38 kHz tiene aproximadamente 13 microsegundos de alto y 13 microsegundos de bajo
   digitalWrite(IRledPin, HIGH);  //Esto lleva alrededor de 3 microsegundos
   delayMicroseconds(10);         // esperar 10 microseconds
   digitalWrite(IRledPin, LOW);   // esto toma sobre 3 microseconds
   delayMicroseconds(10);         // esperar   10 microseconds

   // asi que  26 microseconds  todo junto
   microsecs -= 26;
  }

  sei();  // esto devuelve el control
}

void SendChannelUpCode()

{
  // Este es el código para CHANNEL + para TV COMCAST.
 
  delayMicroseconds(36328);      //Tiempo libre (columna IZQUIERDA)      
  pulseIR(280);                               //Tiempo en (columna DERECHA) <——- NO MEZCLAR ESTOS ARRIBA
  delayMicroseconds(820);
  pulseIR(300);
  delayMicroseconds(1580);
  pulseIR(320);
  delayMicroseconds(640);
  pulseIR(240);
  delayMicroseconds(1280);
  pulseIR(240);
  delayMicroseconds(1240);
  pulseIR(240);
  delayMicroseconds(1120);
  pulseIR(240);
  delayMicroseconds(2600);
  pulseIR(240);
  delayMicroseconds(12740);
  pulseIR(240);
  delayMicroseconds(840);
  pulseIR(240);
  delayMicroseconds(980);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(720);
  pulseIR(240);
  delayMicroseconds(2460);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(14904);
  pulseIR(240);
  delayMicroseconds(820);
  pulseIR(240);
  delayMicroseconds(1600);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(260);
  delayMicroseconds(2740);
  pulseIR(240);
  delayMicroseconds(1240);
  pulseIR(240);
  delayMicroseconds(1260);
  pulseIR(240);
  delayMicroseconds(1100);
  pulseIR(240);
  delayMicroseconds(2620);
  pulseIR(240);
  delayMicroseconds(12720);
  pulseIR(260);
  delayMicroseconds(840);
  pulseIR(220);
  delayMicroseconds(2080);
  pulseIR(240);
  delayMicroseconds(1780);
  pulseIR(260);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(2480);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
  delayMicroseconds(700);
  pulseIR(240);
}

 

Via Instrucables.com

 

 

 

Android Auto con una Raspberry Pi


Android Auto, es un sistema que usa un hardware especifico  diseñado para poder utilizar algunas funciones de nuestros móviles mientras conducimos, como ver mensajes, cambiar de canción, recibir instrucciones para el GPS, hacer llamadas, etc. Hasta ahora era necesario que el coche fuera de los más nuevos e incorporara el sistema o incorporar una cara pantalla que lo incluya, pero gracias a Raspberry Pi ya no es necesario ¿le  interesa como lograrlo, pues siga leyendo porque la verdad es que no puede ser mas sencillo .

 

 

En efecto , en 2015, Google presentó Android Auto , un sistema que permite a los usuarios proyectar ciertas aplicaciones desde sus teléfonos inteligentes Android en la pantalla de información y entretenimiento de un automóvil. La interfaz amigable para el conductor de Android, con botones táctiles y comandos de voz más grandes, tiene como objetivo hacer que sea más fácil y seguro para los conductores controlar la navegación, la música, los podcasts, la radio, las llamadas telefónicas y más, mientras mantiene la vista en la carretera. Android Auto también se puede ejecutar como una aplicación en un teléfono inteligente Android, lo que permite a los propietarios de vehículos de modelos más antiguos sin pantallas de unidades principales para aprovechar estas características.

 

Si bien hay muchas aplicaciones disponibles para Android Auto, los desarrolladores están trabajando para ampliar  su catálogo.De hecho una nueva herramienta de código abierto llamada OpenAuto espera facilitarlo al ofrecer a los desarrolladores  como una forma de emular Android Auto en una Raspberry Pi 

 Con OpenAuto, los desarrolladores pueden probar sus aplicaciones en condiciones similares a las de cómo trabajarán en una unidad de cabeza de automóvil real ,  pero ademas ,  como puede imaginarse también sirve para implementar Android Auto en un vehículo convencional  que no contara  con esta facilidad .

Las funciones implementadas a día de hoy en Android Auto son:

  • Vídeo a 480p, 720p y 1080p a 30 o 60 fps
  • Decodificación hardware de vídeo en la Raspberry Pi 3 (hasta [email protected])
  • Reproducción de audio de todos los canales (multimedia, sistema y voz)
  • Entrada de audio para comandos de voz
  • Touchscreen y botones
  • Bluetooth
  • Inicio automático tras conectar el dispositivo
  • User-friendly

Además de la   Raspberry Pi 3 y un dispositivo Android  con la app de Android Auto instalada, se necesita:

  • Microfono USB : la Raspberry Pi 3 no tiene una entrada de micrófono, que se requiere para usar el Asistente de voz de Google ( si no se instala no se podrán dar ordenes vocales)
  • Dispositivo de salida de video: puede usar una pantalla táctil o cualquier otro dispositivo de salida de video conectado a HDMI o salida compuesta (RCA)
  • Dispositivo de entrada: por ejemplo, una pantalla táctil o un teclado USB

 

OpenAuto

OpenAuto es un emulador para la unidad principal de Android Auto.Emula el software de la unidad principal y le permite usar Android Auto en su PC o en cualquier otra plataforma integrada como Raspberry Pi 3.

El software de la unidad principal es una interfaz para la proyección automática de Android. Toda la magia relacionada con Android Auto, como la navegación, el Asistente de voz de Google o la reproducción de música, se realiza en el dispositivo Android.

 La proyección de Android Auto en la unidad principal se realiza utilizando el códec H.264 para video y el códec PCM para la transmisión de audio. Esto es lo que hace principalmente el software de la unidad principal: descodifica la transmisión de video H.264 y las transmisiones de audio PCM y las reproduce de manera conjunta. Otra función de la unidad principal es proporcionar entradas de usuario pues OpenAuto admite eventos táctiles y teclas duras.

Para una implementación exitosa, se necesita implementar el soporte de aceleración de hardware de video usando la GPU Raspberry Pi 3 (VideoCore 4).Gracias a esto, la proyección automática de Android en la  Raspberry Pi 3 puede manejarse incluso con una resolución de 1080p a 60 fps. Se pueden usar las bibliotecas cliente OpenMAX IL e IL entregadas junto con el firmware Raspberry Pi para implementar la aceleración de hardware de video.

Aprovechando el hecho de que el sistema operativo Raspberry Pi es Raspbian basado en Debian Linux, OpenAuto también puede construirse para cualquier otra plataforma basada en Linux que brinde soporte para la decodificación de video por hardware. La mayoría de las plataformas basadas en Linux proporcionan soporte para decodificación de video por hardware directamente en GStreamer. Gracias a las bibliotecas altamente portátiles como Boost y Qt , OpenAuto se puede construir y ejecutar en la plataforma Windows. 

El proyecto se basa en la instalación de una distribución Linux, Raspbian Stretch, a la que luego se le añaden librerías como las célebres Qt para poder ejecutar las aplicaciones orientadas a ser utilizadas en el coche.

A la Raspberry Pi 3 en la que se han basado para iniciar el proyecto se le conecta una pantalla táctil (480p, 720p o 1080p) que es recomendable para la interacción con el sistema. Completar el proceso es relativamente sencillo, y tanto el código fuente (en GitHub) como las instrucciones de instalación están disponibles públicamente.

El proyecto, desarrollado por Michal Szwaj, plantea por ahora un sistema en el que es posible controlar la reproducción multimedia —el soporte Bluetooth es protagonista—, o acceder a los mapas de Google, por ejemplo. De momento no se ofrecen funciones como la navegación GPS, pero la versatilidad de la Raspberry Pi hace que esa opción no parezca difícil de implementar.

El proyecto de hecho no solo está disponible para la Raspberry Pi, sino también para sistemas Linux y Windows, y su licencia GPLv3 invita a cualquiera a investigar y contribuir a una iniciativa que una vez más demuestra la versatilidad de la Raspberry Pi.

Componentes de Open Auto

El núcleo de OpenAuto es la biblioteca aasdk , que proporciona soporte para todas las funciones de Android Auto. La biblioteca aasdk está construida sobre las bibliotecas Boost, libusb y OpenSSL. libusb implementa la comunicación entre la unidad principal y un dispositivo Android (a través del bus USB). Boost proporciona soporte para los mecanismos asíncronos de comunicación. Es necesario para la alta eficiencia y escalabilidad del software de la unidad principal. OpenSSL se utiliza para cifrar la comunicación.

La biblioteca aasdk está diseñada para ser completamente reutilizable para cualquier propósito relacionado con la implementación del software de la unidad principal. Puede usarlo para crear su propio software de unidad principal para su plataforma deseada.

Otra biblioteca muy importante utilizada en OpenAuto es Qt. Proporciona soporte para multimedia, entrada de usuario e interfaz gráfica de OpenAuto. Y el sistema de compilación que está utilizando OpenAuto es CMake .

 El protocolo de Android Auto se toma de otro gran proyecto de unidad principal de Android Auto llamado HeadUnit . Las personas que trabajan en este proyecto hicieron un trabajo increíble en la ingeniería inversa del protocolo AndroidAuto y crearon los buffers de protocolo que estructuran todos los mensajes.

Para instalar Android Auto paso a paso podemos seguir los siguientes pasos :

  1. Construir aasdk 

    1. Instalar el software necesario 

      $ sudo apt-get install -y libboost-all-dev libusb-1.0.0-dev libssl-dev cmake libprotobuf-dev protobuf-c-compiler protobuf-compiler

      1. Repositorio de aasdk clon

      $ cd

      $ git clone -b master https://github.com/f1xpl/aasdk.git

      1. Crear el directorio aasdk_build en el mismo nivel que aasdk dir

      $ mkdir aasdk_build

      $ cd aasdk_build

      1. Generar archivos de cmake

      $ cmake -DCMAKE_BUILD_TYPE=Release ../aasdk

      1. Construir aasdk

      $ make

  2. Instalar el software necesario

$ sudo apt-get instala -y libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediawidgets5 qtmultimedia5-dev libqt5bluetooth5 libqt5bluetooth5-bin qtconnectivity5-dev librtaudio-dev pulseaudio librtaudio5a

  1. Construir ilclient desde el  firmware de la Raspberry

$ cd /opt/vc/src/hello_pi/libs/ilclient

$ make

  1. Clonar repositorio de Open

$ cd

$ git clone -b master https://github.com/f1xpl/openauto.git

  1. Crear el directorio openauto_build en el mismo nivel que Open dir

$ mkdir openauto_build

$ cd openauto_build

  1. Generar archivos de cmake. Si es necesario, ajustar trazados por consiguiente a su localización de directorios aasdk y aasdk_build.

$ cmake-DCMAKE_BUILD_TYPE = liberación-DRPI3_BUILD = TRUE – DAASDK_INCLUDE_DIRS = «/ home/pi/aasdk/include»-DAASDK_LIBRARIES=»/home/pi/aasdk/lib/libaasdk.so»-DAASDK_PROTO_INCLUDE_DIRS = «/ home/pi/aasdk_build»-DAASDK_PROTO_LIBRARIES = «usual PI/AASDK/lib/libaasdk_proto.so»… /openauto

  1. Construir Open

$ make

  1. Ejecutar Open

$ /home/pi/openauto/bin/autoapp

 

Puede seguir todos los pasos anteriores  o bien seguir el instalador  creado por novaspirit , el cual hace todo el proceso automáticamente:

  1.  Descargar el script de instalación desde el  github de novaspirit                                       $ git clone https://github.com/novaspirit/androidauto_rpi_install 
  2. Ahora necesitamos cambiar a ese directorio                                                                         $ cd androidauto_rpi_install 
  3. Para ejecutar el script install.sh necesitamos cambiar los permisos para permitir que se ejecute.                                                                                                                         $ chmod +x install.sh 
  4. Ahora podemos instalar Android Auto                                                                                  $ ./install.sh 

Este proceso puede tardar casi media hora pero ojo porque nos informara en primer lugar que ha instalado las dependencias  y tendremos que pulsar  intro par seguir 

Asimismo al rato nos informara que esta clonando y construyendo el SDK  de Androd Auto

Acto seguido nos informara de que esta construyendo el firmware de ilclient

Seguidamente ya se empezará a clonar y construir la imagen de OpenAuto 

 Si en este punto aborta con  un error es muy posible  que haya ocurrido en el transcurso de la compilación de OpenAuto

Puede realizar los pasos finales del script de modo manual sin la  opción del parametro -j4, es decir:

$make 

Y ahora habilitamos  OpenAuto en el arranque :

$echo «sudo /home/pi/openauto/bin/autoapp» >> /home/pi/.config/lxsession/LXDE-pi/autostart

Y con esto arrancamos OpenAuto

$whiptail –title «OpenAuto RPi» –msgbox «Strating OpenAuto» 8 78

$/home/pi/openauto/bin/autoapp

 

Después de esta larga espera, ya estará  lista la instalación  para conectar su teléfono a su Raspberry Pi.

Si ha  conseguido llegar a este punto  de la pantalla anterior , ya esta en condiciones de probar la funcionalidad de Android Auto para lo cual puede conectar por USB  un smartphone  Android  con la app instalada de Android Auto  a uno de los conectores USB de la Raspberry Pi

En seguida debería reconocer  el terminal que esta intentando conectar con la Raspberry, y en unos segundos ya debería cambiar la pantalla en la Raspberry pi por  el menu de Android Auto desde el cual podra acceder a Google Map, ver las llamadas o los mensajes  y reproducir su musica favorito a traves del interfaz tacil de su Raspberry Pi

 

OpenAuto está licenciado bajo GPLv3.Para obtener más información, visite la página GitHub del proyecto , donde puede encontrar su código fuente y mas información.

Crankshaft

Y es que en lugar de tener que gastar una fortuna  en una pantalla para el coche que incluya Android Auto de marcas como Pioneer o Sony, se  puede hacer lo mismo  gracias a una distribución de GNU/Linux llamada Crankshaft.

Solo necesitaremos la Raspberry Pi con la pantalla tactil instalada e instalar la imagen de Crankshaft y por supuesto encontrarle un hueco en el salpicadero de nuestro coche(su creador recomienda que compremos la pantalla oficial y una carcasa)

Huan Truong   se decidió a crear este proyecto cuando buscaba incorporar un sistema Android Auto en su viejo coche. Vio que había una alternativa llamada OpenAuto que recientemente fue lanzada de manera pública tal y como hemos visto , pero esta opción le parecía  más compleja porque requería compilarla y añadir una serie de configuraciones para hacerla funcionar. Por ello, se lanzó a hacerlo todavía más sencillo.

Crankshaft se puede descargar en la página web oficial. Troung recuerda que el proyecto se encuentra en versión alpha y no se responsabiliza de ningún problema que pueda surgir durante su utilización, ya que es un hobby y no una versión estable desarrollada por Google. Por tanto, tened mucho cuidado si lo utilizáis y dependéis de él.

Al estar todavía en fase experimental, le faltan bastantes funcionalidades. Por ejemplo, no cuenta con implementación para micrófono, por lo que el control por voz mediante Ok Google no funciona. Tampoco tiene Bluetooth, por lo que es necesario conectar el móvil mediante USB para poder usarlo con el sistema (Truong afirma que quiere incluirlo más adelante, aunque no tiene prisa). El listado de móviles compatibles incluye prácticamente todos los recientes, y puede comprobar el listado de usuarios que afirma que funciona con su móvil en la página de GitHub.

 

Como reparar un mini altavoz


Los años 80 marcaron todo un hito en cuanto a movilidad en el mundo de la tecnología de consumo. ¿Quién no recuerda esos primeros  wolkman   , los potentes radiocassete alimentados a pilas   o  incluso las  primeras televisiones portátiles? Pues en efecto  gracias a la miniaturización de la electrónica  ,la  optimización de los diseños y a la mejora del   consumo eléctrico,   por fin  fue posible  dar movilidad a la electrónica domestica  para disfrutar de esta en cualquier zona o  lugar 

En efecto puede parecer anacrónico echarnos 40 años atrás pues hoy en dia  el  panorama ,como sin duda amigo lector sin duda conocerá , es bien distinto pues  usamos  smartphone , tablets, ordenadores  o incluso TV inteligentes   para escuchar nuestra música favorita  con una calidad incluso similar a  los altos estándares HIFI   que tan de moda se pusieron en  aquellos tiempos . No obstante a pesar de   todo estos nuevos dispositivos ,  no significa que no podamos contar con altavoces portátiles de calidad de todos los tamaños o funciones que se nos puedan ocurrir,  pues sin duda la tecnología  ha avanzado   y mucho también en esta cuestión  ya  que tenemos que entender que existen tantas formas distintas de disfrutar de una buena sesión musical como de personas hay en este planeta por lo que habrá personas que  quieran un altavoz pequeño y sencillo para disfrutar de su música de la forma más cómoda y simple, y, en el otro extremo, habrá quien prefiera una bestia ostentosa con la que ambientar una gran fiesta, incluso a golpe de voz gracias a un micrófono. Ademas  tampoco debemos olvidar a los amantes de los efectos de luz o a los puristas de lo estético. 

 

 

Muchas firmas se animan a lanzar multitud de altavoces portátiles al mercado dentro de todo tipo de rango de precios, calidades y enfoques, así que no está de más dar una visión genérica  para    ver el interior de uno de los altavoces más difundidos  procedentes del mercado oriental   ( y que podemos encontrar ahora mismo en Amazon ) , de modo que a  cuando deje de funcionar  dado su bajo coste  antes de desacharlo  podamos  intentar repararlo

El modelo que vamos  a ver  es el  MusicMan MA 3431  que cuenta con un amplificador de estéreo 3w x2 RMS, lector de unidad flash USB y Micro SD TF (hasta 32GB). También cuenta con radio FM estéreo una  entrada de  Line-in/AUX  mediante in jack de(3,5 mm/analógico

Para funcionar el MusicMan MA 3431 cuenta con una batería de litio de  600 mAh que en teoría debería ofrecernos  un  ttiempo de reproducción  de unas ~ 6 horas  con un tempo de carga de  unas ~ 4 horas  a  traves de un conector  de 5v DC

Por supuesto ,como otros productos orientales ,  este popular modelo lo veremos en un sinfín de marcas  ( y por supuesto colores) pero  tanto el armazón de aluminio , como la electrónica del interior son las mimas 

 

 

 

Este  reproductor  suele funcionar bastante bien ,pero   con el uso  hay partes  que poco  a poco dejaran de responder  como son la batería , el conector de  carga , el circuito de carga de la batería, el interruptor de encendido y por supuesto  en ultima instancia la placa de control o los altavoces.

Si el reproductor  ya ha pasado la garantía , y  no nos funciona o se apaga a los pocos minutos con la batería recién cargada es sinónimo  de problemas en  la alimentación a la placa ,para lo cual se hace necesario desmontarlo  para averiguar el motivo del problema

En primer lugar soltaremos los altavoces de los lados  que van a presión ( utilice una herramienta de plástico de las usadas para desmontar los móviles)  y acto seguido nos toca desmontar la placa madre , la cual , como podemos ver en la imagen de abajo ,  va sujeta simplemente con dos tornillos

 

Para quitar  estos , en el lado  del plástico del testigo  de carga quitaremos la pegatina  que oculta las cabezas de esos  dos tornillos y  ya podemos proceder a  aflojar  estos  , lo cual hará que se suelte el embellecedor del conector USB de la cara opuesta.

 

 

 

Ahora  ya tenemos la placa con los dos altavoces   y la batería que despegaremos del armazón .

 

En la placa se observan claramente  ,los pulsadores de control en el extremo superior . Es de destacar  también a  ambos lados de la placa  los dos pequeños amplificadores de audio junto     con las conexiones de los dos altavoces . El conjunto se completa  con el circuito de audio en el centro   y abajo junto los jack el circuito de carga de la batería

En primer lugar  mediremos con un polímetro en los extremo de  la batería , lo cual en este caso  nos da unos 4.06V , lo cual  debería ser suficiente para que reaccionar el circuito por lo que lo siguiente a revisar es el interruptor general  que esta cerca del lector de microsd.

Si el circuito sigue sin responder, otra opción interesante es descartar la batería ,  por si esta  no tuviese  suficiente carga, Para ello,  podemos intentar  alimentar  con una fuente de laboratorio  a través del propio conector de la batería  a ver si reacciona el circuito. 

En caso afirmativo ya sabe que probablemente sea la batería y/o el propio circuito  de carga , por lo que podría  añadir una nueva  batería ( no olvide respetar la polaridad) , pero otra opción mas barata y que mejorara las prestaciones es optar por una powerbank , por lo que si lo desea puede  realizar una sencilla modificación

Tanto si no desea cambiar la batería como si  confirma que falla el  circuito de carga o el propio de alimentación , una opción si no necesitamos alimentarlo con la batería interna   es «hackear»  la  propia placa  para alimentarlo directamente con 5V DC ,  lo cual por cierto dada su diseño no era posible ( es decir no permite reproducir música y ademas cargar la batería)

Para esta pequeña modificación podríamos usar un conector micro usb y fijarlos a la caracas  , pero es mucho mas sencillo optar por un cable usb reciclado al que cortaremos por el otro extremo s de modo que solo queden los cables  rojo  y negro

En la placa  tomaremos el cable negro del conector de la batería    al cable negro del cable USB   para  la alimentación exterior

En cuanto al punto de entrada de +5V , este  se ha obtenido  por ingeniería  inversa   y esta justo a la salida del circuito de carga a la izquierda del led indicador de carga  y unos mm  por debajo  como se puede ver en la imagen  , y que conectaremos  al cable rojo del cable USB para  la alimentación exterior.

 

 

Con esta  pequeña  modificación usando un cable usb para alimentar el reproductor  toca probarlo enchufando este nuevo cable a una fuente de 5v  con salida USB 

 

 

Comprobado el funcionamiento  toca volver a montar la placa en el centro de la carcasa de aluminio

 

Una vez coloquemos uno los altavoces observaremos  que necesitamos un agujero donde pueda pasar el nuevo cable usb de alimentación  por lo que con una lima justo  en unos de los bordes practicaremos  una pequeña canaladura para poderlo llevar al exterior .

Finalmente colocaremos el segundo altavoz  y habremos terminado de modificar este  estupendo reproductor añadiendo ademas una nueva funcionalidad   que antes su diseño  no permitía ,  pues podrá ser alimentado por powerbank   o por simples cargadores usb   de 5v  de forma indistinta

En la foto podemos  el aspecto de este MusicMan MA 343 1    tras la modificación

 

 

A %d blogueros les gusta esto: