Resolucion de problemas al ejecutar archivos con extension .ica


 Citrix es  una famosa  empresa  fundada en 1989 por el antiguo desarrollador de IBM Ed Iacobucci   y que acogio a muchos de los fundadores originales que habían participado en el proyecto OS/2 de IBM

Es ademas  una de las empresas pioneras, junto a Vmware, en virtualización de escritorios y aplicaciones . Ademas ha estado  muy unida a Microsoft desde sus orígenes.

Dispone de 3 familias de productos: 

  • Citrix Delivery Center (XenApp, XenDesktop, XenServer y Netscaler)
  •  Citrix Cloud Center: Permite crear nubes híbridas con soluciones en la nube,
  • Citrix Online Services: Que está unido a la aplicación GoToMeeting (herramienta videoconferencias) 

Citrix XenDesktop es  su producto estrella y en la versión 7 une en una suite XenApp (Aplicaciones) y XenDesktop (VDI).   Los componentes básicos de un sistema de este tipo   son los siguintes :

  • RECEIVER : Citrix Receiver el software cliente necesario para que se puedan entregar aplicaciones o escritorios . Es un elemento multiplataforma y multidispositivo, ya que existen clientes para Windows, Linux, Mac, Android o IOS entre otros.En este post vamos a hablar precisamente de los  problemas que puede dar
  • STOREFRONT :se comporta, como su propio nombre indica, como una tienda online que pone a disposición de los clientes aplicaciones y escritorios.  Básicamente es el frontal web que los usuarios ven y donde introducen sus credenciales.  Si surgen modificaciones, se actualiza automáticamente (se puede comprobar pulsando F5 en el navegador)
  • DELIVERY CONTROLLER : gestiona los accesos de los usuarios, optimiza las conexiones, hace de intermediario entre el resto de componentes y proporciona los servicios necesarios para la creación de máquinas.  Debe existir al menos un DC en la infraestructura, siendo recomendado tener más de uno (redundancia), ya que marcará la capacidad de gestionar más usuarios y aplicaciones.  Un DC saturado (normalmente CPU) puede provocar problemas en la plataforma y la base de datos.
  • BBDD: Tradicionalmente se monta sobre SQL Server (no todos los componentes admiten SQL Express) . Existen 3 bases de datos en toda instalación XenApp / XenDesktop:
    • Site: Configuración Site en ejecución y estado
    • Configuration Logging: Registro de la actividad administrativa
    • Monitoring: Almacena los datos de Director (inicio sesión y conexión).Sólo los DCs se conectan con la Base de Datos
  •  STUDIO : es la consola de administración tanto para escritorios como para aplicaciones .En Studio se pueden gestionar otros componentes como las licencias o storefront. .Adicionalmente, desde Studio se gestiona la publicación de aplicaciones y escritorios.  También se gestionan las sesiones conectadas en vivo y se pueden lanzar acciones sobre ellas.
  •  LICENSE SERVER  Componente que gestiona las licencias de los productos, al que consulta Citrix Delivery Controller para validar las sesiones . Consola web, que puede gestionarse desde Citrix Studio
  •  DIRECTOR : Es un componente WEB que permite monitorizar en tiempo real sesiones de Citrix.  Es posible extraer informes históricos de tiempos de sesión de un grupo o usuario.
  •  VIRTUAL DELIVERY AGENT  o VDA es el agente necesario en la infraestructura servidora o clientes de escritorio para que exista la comunicación con los Delivery Controller y poder ofrecer esos recursos (aplicaciones o VDI) a los usuarios finales.  En un servidor Windows permite que varios usuarios se conecten a la vez. En un escritorio Windows permite la conexión de un solo usuario.
  •  ACTIVE DIRECTORY:aunque no es un componente directo en la instalación de Citrix, sí se convierte en un requisito.  En directorio activo se configuran los usuarios y contraseñas que tendrán acceso. Así como las GPOs necesarias para implementar con seguridad y optimización la plataforma.
  • OTROS COMPONENTES 
    • Netscaler: Cortafuegos, balanceo de carga, entrega de aplicaciones a través de la red y optimización de aplicaciones 
    • Branch Repeater: Optimiza la entrega de las aplicaciones a los usuarios ubicados en sucursales (Appliance) 
    • EdgeSight: Monitoriza el rendimiento de las aplicaciones (integrado en Director) 
    • Sharefile: Herramienta para compartir archivos de forma segura 
    • Citrix WEM: Gestor de directivas que sustituye ciertas funciones de Active Directory para acelerar el logon. 
    • Netscaler Insight Center: Dispositivo virtual para el seguimiento, análisis y generación de informes sobre aplicaciones.
    • etc

 

Citrix Virtual Apps es un software de virtualización de aplicaciones producido por la famosa empresa  Citrix Systems   que permite acceder a las aplicaciones de Windows a través de dispositivos individuales desde un servidor compartido o un sistema en la nube  (siendo lo mas típico en un ambiente empresarial que estas estén disponibles a través de un servicio VPN)

Dentro de esta estrategia propietarias  del fabricante Citrix , los archivos con con las extensiónes  .ica  de  Independent Computing Architectureson lo que los convierte  literalmente  en archivos de configuración de  siendo  exclusivamente  utilizados precisamente por  esos  programas de Citrix para invocarse en remoto ayudándose precisamente de la configuración que se haya hecho en estos archivos  que se descargan en local desde el portal empresarial .

Estos ficheros ,de hecho, se pueden abrir con un editor de texto ASCII para ver así su contenido, aunqu,  en realidad tiene poco sentido verlos  pues sólo se pueden iniciar en el otro extremo  del cloud  con una de las aplicaciones compatibles de Citrix.

Por tanto , precisamente mediante estos archivos ICA se lanzan las aplicaciones remotamente a utilizando Citrix XenClient , el programa Citrix XenApp o sobre todo  el conocido programa  Citrix Receiver.

Si tiene problemas a la hora de ejecutar algunos de estos ficheros .ica  lanzados  desde un ambiente corporativo o empresarial  (  como por ejemplo que no se pueden abrir las aplicaciones , solo deja guardar los archivos ica ,aparece una ventana que se cierrra en blanco, etc. ),  puede intentar  seguir los siguientes pasos para intentar ejecutar estas aplicaciones virtualizadas:

 

Paso 1: Descargue el nuevo cliente de Citrix

A fecha de agosto de 2018, Citrix Workspace app  es la la sustitutade   Citrix Receiver. Por lo tanto la aplicación Citrix Workspace App es el nuevo cliente de Citrix que actúa de forma similar a Citrix Receiver y es totalmente retrocompatible (o al menos en eso dice el fabricante)   con la infraestructura Citrix de su organización. La aplicación Citrix Workspace App proporciona las capacidades completas de Citrix Receiver, así como nuevas capacidades basadas en la implementación de Citrix de su organización razon por la que el fabricante Citrix  recomienda que se descargue la aplicación Citrix Workspace.

La aplicación Citrix Workspace es el software de cliente fácil de instalar que ofrece un acceso seguro y sin inconvenientes a todo lo necesario para hacer todo lo que quiera. Con esta descarga gratuita, puede acceder de forma fácil y segura a todas las aplicaciones, escritorios y datos desde cualquier dispositivo, incluyendo teléfonos inteligentes, tabletas, PCs y Macs

.Descarga para Windows


La aplicación Citrix Workspace sustituye de forma automática muchas versiones anteriores de Citrix Receiver y los complementos en línea de Citrix; sin embargo, deben eliminarse manualmente algunas versiones antes de instalar la aplicación Citrix Workspace , siendo lo mejor que se haga con la utilidad especifica. de ReceiverCleanupUtility

Paso 2: Acceso desde el VPN a la url de su organización

En al mayoria de lso casos  necesitara  abrir una URL adecuada en su navegador para autenticar su espacio de trabajo digital Citrix con todas sus aplicaciones, escritorios y datos. En ocasiones incluso , puede que necesite configurar su cuenta indicando su correo electrónico o una dirección de servidor para autenticar con la aplicación Workspace para usar aplicaciones y escritorios virtuales. Puede preguntar a su administrador de sistemas qué pasos seguir en su situación pues no solo necesitara  esa url : tambien necesitara la instalación del cliente Citrix en la justa version que haya decidido su organizacion.

Paso 4-Fuerce la ejecución de los achivos

La aplicación Citrix Workspace App es un nuevo cliente de Citrix que actúa de forma similar a Citrix Receiver y es totalmente retrocompatible con la infraestructura Citrix de su organización  proporcionando las capacidades completas de Citrix Receiver, así como nuevas capacidades basadas en la implementación de Citrix de su organización.

Una vez instalado el cliente , cuando acceda desde su portal a la apliacion virualizada , haga clic derecho en el archivo ICA para abrir el menú contextual del archivo.Luego haga clic en la opción “Abrir con” y una lista de programas se abrirá.

Desplázese y haga clic en “Citrix XenApp” o “Citrix XenClient” :el programa Citrix debería  abrirse y lanzará la aplicación remota definida en el archivo ICA.

 

 

Paso 5; Instale  versiones anteriores

Puede que no siempre   estén al dia  en su organizacion con la ultima  version de Citrix en el lado servidor  , por lo que deberá  encontrar versiones anteriores de Receiver en el sitio web de descargas de Citrix.  por lo que debería confirmar con su administrador de sistemas que necesita una versión anterior de Citrix Receiver antes de continuar.

Antes de proceder,primero  debería desistalar  todo el sw de Citrix con  la herramientas especifica : ReceiverCleanupUtility

Una vez desistalado  todo si su aplicación  Citrix  no le funciona   con la  ultima version del cliente  entonces intente descargar alguna version anterior , por ejemplo Receiver 4.9 LTSR for Windows desde https://www.citrix.es/downloads/citrix-receiver/legacy-receiver-for-windows/receiver-for-windows-49LTSR.html

Instalar este cliente es bien sencillo  pues basta descargarlo  yen seguida   ya debería comenzar el asistente de  instalación 

Inmediatamente   simplemente le daremos al botón “Iniciar”

 

 

Una vez leída la licencia deberíamos darla a “Siguiente”

 

 

 

Finalmente  aparecerá la ventana de instalación completada junto al botón de Agregar cuenta , el cual la mayoría de los casos es completamente  innecesario

 

 

Como ve querido lector ,en el caso de tener el servicio  disponible si nos falla probablemente se deba a la version del cliente Citrix que tengamos instalados. Citrix  por su parte , si todo lo demas fallo , reconoce ciertos errores  a los que da  ademas un modo de solucionarlos   en la siguiente url   https://docs.citrix.com/es-es/citrix-workspace-app-for-linux/troubleshooting.html

 

Anuncios

Averias tipicas canon Pixma


De todos es sabido las políticas seguidas por la mayoría de fabricantes  para grabar lo consumibles de tinta a cambio de bajar mucho el precio de las impresoras , lo cual desgraciadamente conduce   inexorablemente     a que ante el mas mínimo  problema que presente nuestro equipo prefiramos deshacernos de estas   , sobre todo si le queda poca tinta, porque sabemos que con  una nueva ya no nos dará problemas  y ademas  traerá  consumibles nuevos,

Pues bien , exactamente si que podemos seguir con esa  “costumbre” ,pero  debemos  saber que en muchas veces no siempre  las averías son complejas ( de hecho la mayoría son sencillas )  y si lo intentamos solucionar no solo nos ahorraremos algo de dinero sino que también estaremos colaborando con el medio ambiente  alargando la vida util de nuestros dispositivos,

Veamos en este post algunas de las averías mas típicas de los equipos de impresión y scanner de la familia Pixma y por supuesto como intentar solucionarlas

 

 

 

Cómo reparar el mensaje de error E5

 

Aunque los errores de las impresoras Canon PIxma  pueden diferir según el número de modelo , el error de la impresora E5 para impresoras Canon se refiere a un problema con un cartucho de tinta. Las posibles causas del error incluyen que el cartucho de tinta no está instalado correctamente,ee instaló un cartucho de tinta incorrecto (tipo de cartucho no compatible) o bien que la impresora no detecta el cartucho de tinta correctamente

Veamos como solucionar  estas casuísticas:

  • El cartucho de tinta no está instalado correctamente

Si el cartucho de tinta no está instalado correctamente, intente retirar el cartucho de la impresora y vuelva a instalarlo. Asegúrese de que esté completamente instalado y que encaje en su lugar de forma segura.Luego intente imprimir nuevamente. Asegúrese de apagar la impresora y volver a encenderla para restablecer el mensaje de error.

  • Cartucho de tinta incorrecto instalado

Si se instala el cartucho incorrecto, debe comprar el cartucho correcto e instalarlo en la impresora. Los modelos de impresoras compatibles con un cartucho generalmente se enumeran en el lateral del embalaje del cartucho.

  • La impresora no detecta el cartucho de tinta correctamente, si es que lo hace

También es posible que la impresora no detecte el cartucho después de instalarlo. Este problema podría deberse a que la impresora está sucia (exceso de tinta en la bandeja del cartucho de tinta o en la bandeja de desbordamiento de tinta). Intente limpiar bien la impresora   ( sobre todo por la parte de los rodillos) e instalar los cartuchos nuevamente para ver si esto soluciona el problema.

 

 

 

 

Controladores de impresora

Otra problema   que  suele suceder  ajeno a  la propia impresora  versa  en los drivers  de esta que  incluso instalados  pueden llegar a quedar corruptos   impidiendo al SO   acceder a esta. La  opción para solucionarlos suele ser intentar es reinstalar el controlador de la impresora. Si el controlador se ha dañado, reinstalarlo puede solucionar el problema.

Relacionado  con los drivers, si actualiza  Windows 10 y luego su impresora ( concretamente la Canon MP160) y   ya no escaneae ( si imprimu) ¡No necesita comprar una nueva impresora!  Debe   desinstalar todo primero, no solo intentar reinstalar el software de Canon porque eso no funcionara probablemente , es decir no funcionara hasta que desinstalé todo primero y siga los pasos que vamos a a ver y ¡finalmente el escáner  volvera  funcionara!

Esto es lo que tendría que hacer:

  1.  Primero, vaya al Panel de control, luego, en Hardware y sonido, hice clic en Ver dispositivos e impresoras.
  2. Luego encontrara  Canon MP160 en la lista de dispositivos, haga clic derecho sobre él y seleccioné “Eliminar dispositivo”.
  3. Ir  a Aplicaciones y características, localicé el software Canon MP160, haga clic en él y seleccione “Desinstalar” para eliminar el software.
  4. En el sitio web de Canon busqué la impresora en este enlace: https://www.usa.canon.com/internet/portal/us/home/support/drivers-downloads ,pero  en muchos vera una nota de que no había controladores para Windows 10 para ese dispositivo, así que  deberá descargar  la versión de Windows 7 del software Canon.
  5. Después de descargar el archivo de instalación del controlador, vaya a ese archivo en la carpeta de Descargas, hagae clic derecho sobre él, seleccione “Propiedades”, haga clic en la pestaña “Compatibilidad”, y en “Modo de compatibilidad” marque la casilla “Ejecutar este programa en modo de compatibilidad Para “y en el menú desplegable debajo, seleccioné Windows 7.
  6. Luego haga clic en” Aplicar “y” Aceptar “, luego ejecuté el programa de instalación. Una vez hecho esto, para iniciar un escaneo, debe iniciarlo desde su ordenador , en lugar de hacerlo desde el botón “Escanear” de la impresora
  7. . Para iniciar el escaneo desde la computadora, vaya al Panel de control, luego Ver dispositivos e impresoras, luego haga clic derecho en la impresora Canon y seleccione “Iniciar escaneo“. Esta es la única forma en que el escaneo comenzará ahora, ya no se puede iniciar directamente desde la impresora. Pero funciona ahora

 

 

Aplicación scanner de windows 10

Puede qeu haya perdido el software del scanner, o simplemente que no pueda escanear, pues bien el propio S.O trae las herramientas para solucionar si tener que instalar el propio sw de Canon, para ello ,si el escáner está encendidoWindows debería encontrarlo fácilmente. 

  1. Seleccione el botón Inicio  y luego Configuración  > Dispositivos Impresoras y escáneres.
  2. Seleccione Agregar una impresora o un escáner. Espere a que aparezcan los escáneres próximos, luego elija el que quieras usar y selecciona Agregar dispositivo.

En la mayoría de los casos, todo lo que hay que hacer para configurar un escáner es conectarlo al dispositivo. Simplemente, conecta el cable USB del escáner a un puerto USB disponible del dispositivo y enciende el escáner.

  1. Selecciona el botón Inicio  y luego Configuración  > Dispositivos Impresoras y escáneres.
  2. Selecciona Agregar una impresora o un escáner. Espera a que aparezcan los escáneres próximos, luego elige el que quieras usar y selecciona Agregar dispositivo.

Si quiere ver si el escáner está instalado, asegúrate de que el escáner esté encendido seleccione el botón Inicio  y luego Configuración  > Dispositivos > Impresoras y escáneres.  y en Impresoras y dispositivos, busquea el escáner.

Una vez que el escáner esté instalado, puede usar la aplicación Escáner de Windows GRATUITA   para digitalizar imágenes o documentos. Esta es la manera de hacerlo:

  1. Asegúraese de que el escáner esté activado.
  2. En el cuadro de búsqueda de la barra de tareas, escribe Escáner de Windows y después selecciona Digitalizar  en la lista de resultados.
  3. Realiza una de las siguientes acciones:
    • Coloca el elemento que quieras digitalizar boca abajo en el escáner plano y cierra la tapa.
    • Coloca el elemento que quieras escanear en el alimentador de documentos del escáner.
  4. En la página Digitalizar, haz lo siguiente:
    • En Escáner, seleccione el escáner que quiera usar.
    • En Origen, seleccione la ubicación que prefieras desde la que digitalizar.
    • En Tipo de archivo, seleccione el tipo de archivo en el que quieres guardar la digitalización. 
    • Seleccione Mostrar más para mostrar las opciones de Guardar archivo en.
    • En Guardar archivo en, busca la ubicación donde quiera guardar la digitalización. 
  5. Seleccione Digitalizar  en la parte inferior de la pantalla para digitalizar el documento o la imagen.   
  6. ATENCION SI DA ERROR , PRUEBE CON UNA RESOLUCIÓN MENOR PUES PUEDE QUE SU SCANER NO ADMITA LA RESOLUCION POR DEFECTO DE 200 ppm    ( por ejemplo pruebe  con 150 ppm)      
  7. Una vez finalizada la digitalización, seleccione Ver para ver el archivo digitalizado antes de guardarlo, o bien Cerrar para guardarlo. Puedes editar la imagen o el documento digitalizados en la vista previa que aparece al seleccionar Ver.
 

Restablecer contadores de impresora

Hay otras opciones para probar, que incluyen restablecer funciones y contadores específicos de la impresora. Para estas opciones, debe buscar en Internet el modelo de su impresora y las instrucciones de reinicio específicas o comunicarse con el soporte técnico de Canon . Las instrucciones de reinicio difieren según el número de modelo , por lo que debe obtener las instrucciones para su impresora específica.

Para la canon, pixma mp140, que al momento de hacer una impresión el   error es el  2 7 y  en la pantalla del pc  e sale un mensaje que dice” absorvedor de tinta esta lleno“, además el contenedor del cartucho la tinta, no se mueve por lo que no puedo cambiar los cartuchos de tinta .Para resetear la MP160   siga los  siguientes pasos: 

1. Apague la impresora. 
2. Presione al tiempo los botones RESET y POWER. 
3. Sin dejar de presionar ninguno de los botones, chequee sutilmente que la luz verde del botón POWER esté encendida. 
4. Suelte y presione el botón RESET 2 veces sin dejar de presionar el botón POWER. 
5. Suelte los dos botones. 
6. Espere que el menú esté listo, en el display debe aparecer el número “0”. Chequee que la luz verde permanezca encendida sin intermitencias. 
7. Presione 4 veces el botón RESET. 
8. Presione 3 veces el botón POWER. La impresora se apaga. 
9. Desconecte físicamente el tomacorriente de la impresora y vuelva a conectarla y a encenderla. LOS CONTADORES LLEGAN A CERO, Y EL DEPÓSITO DE TINTA VUELVE A INICIAR EL CONTEO. 
TAS. SUERTE!!!. 

 

Limpieza de los rodillos de alimentación de papel en el MP160

 

Si el rodillo de alimentación de papel está sucio, el papel no se alimenta correctamente porque el rodillo de alimentación de papel se desliza. Limpiar el rodillo de alimentación de papel podría resolver el problema de alimentación de papel. Siga las instrucciones a continuación para limpiar los rodillos de alimentación de papel directamente desde la unidad.

Precaución: dado que el proceso de limpieza desgasta el rodillo de alimentación de papel, realice este procedimiento solo cuando sea necesario.

  • Asegúrese de que la impresora esté encendida y retire el papel del alimentador automático de hojas (ASF). 
  • Confirme que se muestra un número en el LED 
  • Presione el botón <Mantenimiento> repetidamente hasta que aparezca [b]. 
  • Presione el botón <Negro> o <Color>. Comienza la limpieza del rodillo de alimentación de papel. 
  • Abra la bandeja de salida del papel. 
  • Cargue una hoja de papel normal de tamaño A4 o Carta en el ASF y abra la bandeja de salida de papel. 
  • Realice la limpieza del rodillo de alimentación de papel (pasos 3 y 4) una vez. El papel será alimentado. 
  • Si el papel no se alimenta correctamente, repita los pasos 3 y 4 dos veces sin papel y luego intente limpiar el rodillo de alimentación de papel con el papel cargado.

 

 

 

 

 

 

Copia sin bordes MP160

 
 

Hay dos formas ( normal / alta velocidad ) para hacer copias. La función ” Ajustar a la página ” le permite hacer copias sin bordes de las fotos.

Copias normales

Utilice la copia normal para la calidad de copia fotográfica o documentos que contienen texto y fotos.

  1. Confirme que la impresora está encendida y abra la bandeja de salida de papel. 


    La ilustración muestra un MP170. 

  2. Cargue papel en el alimentador automático de hojas (ASF) con el lado corto hacia abajo. 

    Nota: Cargue el número exacto de páginas en el ASF para hacer de 10 a 19 copias. 

  3. Levante la cubierta de documentos y coloque un documento en el cristal de la platina. 

    Nota: 
    * Independientemente del tamaño del documento, colóquelo con el lado largo hacia usted. 
    * Coloque el documento boca abajo sobre el cristal de la platina. 
    * Alinee el documento con la marca de alineación (que se muestra como la flecha) en la esquina inferior derecha del cristal de la platina. 
    * La máquina no puede escanear el área dentro de aproximadamente 3 mm de los bordes delantero y derecho del cristal de la platina. 



    <1> Marca de alineación 

  4. Cierre suavemente la cubierta del documento. 

  5. Presione el botón <Paper> varias veces hasta que se ilumine el tamaño y tipo de papel preferido. Las opciones son las siguientes: 

    8.5 “x 11” 
    Papel normal 

    8.5 “x 11” 
    Papel fotográfico 

    4 “x 6” 
    Papel fotográfico 

  6. Presione el botón <+> varias veces para seleccionar el número de copias. (El número máximo de copias es 20.) 
    1. Al hacer 20 copias, presione el botón <+> varias veces para seleccionar [F]. La letra F aparecerá después del número 9. 
    2. Al hacer de 10 a 19 copias, presione el botón <+> varias veces para seleccionar [F] y luego cargue el número exacto de páginas en el ASF. 

      Por ejemplo, para hacer 15 copias, cargue 15 páginas en blanco en el ASF. 

      Nota: El número de copias se puede configurar de 1 a 9 y 20 (F es la selección). Por lo tanto, es importante cargar el número exacto de hojas en el ASF al hacer de 10 a 19 copias. 
    3. Después de completar las copias de la 10 a la 19, aparecerá el siguiente error. Esta es una función normal para esta impresora al hacer este número de copias. 



  7. Para comenzar a copiar, presione el botón <Color> o <Negro>. 

  8. Para cancelar la copia, presione el botón <Stop / Reset>.

Copias de alta velocidad

La copia a alta velocidad es adecuada para documentos de solo texto.

  1. Confirme que la impresora está encendida y abra la bandeja de salida de papel. 


    La ilustración muestra un MP170. 

  2. Cargue papel en el alimentador automático de hojas (ASF) con el lado corto hacia abajo. 

  3. Levante la cubierta de documentos y coloque un documento en el cristal de la platina. 

    Nota: 
    * Independientemente del tamaño del documento, colóquelo con el lado largo hacia usted. 
    * Coloque el documento boca abajo sobre el cristal de la platina. 
    * Alinee el documento con la marca de alineación (que se muestra como la flecha) en la esquina inferior derecha del cristal de la platina. 
    * La máquina no puede escanear el área dentro de aproximadamente 3 mm de los bordes delantero y derecho del cristal de la platina. 



    <1> Marca de alineación 

  4. Cierre suavemente la cubierta del documento. 

  5. Presione el botón <Papel> para seleccionar [8.5 “x 11” Papel normal]. 

  6. Presione el botón <+> varias veces para seleccionar el número de copias. (El número máximo de copias es 20.) 
    1. Al hacer 20 copias, presione el botón <+> varias veces para seleccionar [F]. La letra F aparecerá después del número 9. 
    2. Al hacer de 10 a 19 copias, presione el botón <+> varias veces para seleccionar [F] y luego cargue el número exacto de páginas en el ASF. 

      Por ejemplo, para hacer 15 copias, cargue 15 páginas en blanco en el ASF. 

      Nota: El número de copias se puede configurar de 1 a 9 y 20 (F es la selección). Por lo tanto, es importante cargar el número exacto de hojas en el ASF al hacer de 10 a 19 copias. 
    3. Después de completar las copias de la 10 a la 19, aparecerá el siguiente error. Esta es una función normal para esta impresora al hacer este número de copias. 



  7. Mantenga presionado el botón <Color> o <Black> durante 2 segundos o más . 

  8. Cuando el número de copias en el LED desaparece y vuelve a aparecer, suelte el botón. La máquina comienza a copiar a alta velocidad. 

  9. Para cancelar la copia, presione el botón <Stop / Reset>. 

Ajustar a la página

Esta característica le permite copiar imágenes en el tamaño que configuró reduciéndolas o ampliándolas automáticamente. Es posible que el tamaño no se detecte correctamente dependiendo del tipo de documento. En este caso, haga una copia a través del software utilizando MP Navigator.

  1. Confirme que la impresora está encendida y abra la bandeja de salida de papel. 


    La ilustración muestra un MP170. 

  2. Cargue papel en el alimentador automático de hojas (ASF) con el lado corto hacia abajo. 

  3. Levante la cubierta de documentos y coloque un documento en el cristal de la platina. 

    Nota: 
    * Independientemente del tamaño del documento, colóquelo con el lado largo hacia usted. 
    * Coloque el documento boca abajo sobre el cristal de la platina. 
    * Alinee el documento con la marca de alineación (que se muestra como la flecha) en la esquina inferior derecha del cristal de la platina. 
    * La máquina no puede escanear el área dentro de aproximadamente 3 mm de los bordes delantero y derecho del cristal de la platina. 



    <1> Marca de alineación 

  4. Cierre suavemente la cubierta del documento. 

  5. Presione el botón <Papel> para seleccionar [8.5 “x 11” Photo Paper] o [4 “x 6” Photo Paper]. 

    Nota: 
    * Si selecciona Papel fotográfico , la máquina copia toda la imagen sin bordes. Algunos cultivos pueden ocurrir. 
    * Si selecciona Papel normal de 8.5 “x 11” , es posible realizar copias a alta velocidad. 

  6. Presione el botón <+> varias veces para seleccionar el número de copias. (El número máximo de copias es 20.) 
    1. Al hacer 20 copias, presione el botón <+> varias veces para seleccionar [F]. La letra F aparecerá después del número 9. 
    2. Al hacer de 10 a 19 copias, presione el botón <+> varias veces para seleccionar [F] y luego cargue el número exacto de páginas en el ASF. 

      Por ejemplo, para hacer 15 copias, cargue 15 páginas en blanco en el ASF. 

      Nota: El número de copias se puede configurar de 1 a 9 y 20 (F es la selección). Por lo tanto, es importante cargar el número exacto de hojas en el ASF al hacer de 10 a 19 copias. 
    3. Después de completar las copias de la 10 a la 19, aparecerá el siguiente error. Esta es una función normal para esta impresora al hacer este número de copias. 



  7. Presione el botón <Ajustar a la página> para encender la lámpara Ajustar a la página. 

    Nota: Para cancelar la copia de Ajustar a la página, presione el botón Ajustar a la página nuevamente. 

  8. Para iniciar la copia de ajuste a la página , presione el botón <Color> o <Negro>. 

  9. Para cancelar la copia, presione el botón <Stop / Rest>.

Ingeniería inversa con java


Si alguna vez  ha tenido un proyecto java compilado en forma de fichero .class  o .jar   y necesita conocer como esta construido el código para  hacer ingeniería inversa o simplemente para investigar su  funcionamiento,  la herramienta que vamos a ver, lo hace de maravilla ! y además es gratuita!, veamos en detalle en que consiste.

En  efecto el “proyecto Java Decompiler” tiene como objetivo desarrollar herramientas para descompilar y analizar el “código de bytes” de Java 5 y las versiones posteriores siendo  JD-GUI la utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos “.class”.

Con esta herramienta puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos Incluso puede integrarse  con el IDE de Eclipse  gracias a  JD-Eclipse, que  es un complemento para la plataforma Eclipse.

La herramienta le permite mostrar todas las fuentes Java durante su proceso de depuración, incluso si no las tiene todas. JD-Core es una biblioteca que reconstruye el código fuente de Java de uno o más archivos “.class”. JD-Core se puede usar para recuperar el código fuente perdido y explorar la fuente de las bibliotecas de tiempo de ejecución de Java.

Se admiten las nuevas características de Java 5, como anotaciones, genéricos o tipo “enum”. JD-GUI y JD-Eclipse incluyen la biblioteca JD-Core. JD-Core, JD-GUI y JD-Eclipse son proyectos de código abierto publicados bajo la licencia GPLv3.

Veamos un poco algo sobre la historia de esta  interesante  herramienta:

  • En 2011, Alex Kosinsky inició una variante de JD-Eclipse que admite la alineación del código descompilado por los números de línea de los originales, que a menudo se incluyen en el Bytecode original como información de depuración.
  • En 2012, una rama de JDEclipse-Realign de Martin “Mchr3k” Robertson  extendió la funcionalidad mediante el control de descompilación manual y el soporte para Eclipse 4.2 (Juno).
  • Y llegamos a la actualidad    D (Java Decompiler) ,  es un decompilador para el lenguaje de programación Java.Se proporciona como una herramienta GUI, así como en forma de complementos para los entornos de desarrollo integrado Eclipse (JD-Eclipse) e IntelliJ IDEA (JD-IntelliJ).Es compatible con la mayoría de las versiones de Java desde 1.1.8 hasta 1.7.0, así como JRockit 90_150, Jikes 1.2.2, Eclipse Java Compiler y Apache Harmony y, por lo tanto, a menudo se utiliza donde anteriormente se operaba el popular JAD

Java decompiler

Instalación

Se puede descargar directamente desde  su pagina de Github

La versión ultima   disponibles  es la 1.5.2

Esta versión incluye los siguientes cambios:

  • Actualizando JD-Core a 1.0.3
  • Adición de soporte de archivos AAR (archivo de Android)
  • Adición de soporte de archivos JMOD (módulo Java 9)

Este   es el enlace para descargar el  jd-gui-windows-1.5.2.zip   que es la versión  que   funciona sobre windows.

Descomprimimos el  ficherpo zip ( https://github.com/java-decompiler/jd-gui/releases/download/v1.5.2/jd-gui-windows-1.5.2.zip)

Finamente lanzaremos la aplicación  jd-gui.exe

JD-GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos “.class”  y también  “.jar”  . Puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos.

Existe JD-Eclipse es un complemento para la plataforma Eclipse. Le permite mostrar todas las fuentes Java durante su proceso de depuración, incluso si no las tiene todas.

JD-GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos “.class”. Puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos.

Mas  información en su sitio  http://java-decompiler.github.io/

Cómo enviar correos de forma masiva gratis y sin limite


Si alguna vez  se  ha preguntado cómo enviar correos electrónicos de forma masiva  y prácticamente  sin límite  sin caer en spam , o lo que es lo mismo,  mandar emails,  newsletter o boletines a  destinatarios que haya recopilado con el consentimiento de esas personas, así como  a listas de correos, sin necesidad de ir enviándolos uno a uno,   en  este post   vamos  a ver como gracias al veterano servicio de calidad de  Mailrelay con más de 15 años online, usado  tanto de forma personal como profesional ,  es en realidad una  tarea bastante sencilla  hacerlo y todo ello sin coste alguno   usando este servicio web    que además  cuenta   prácticamente  una capacidad ilimitada (es decir 75.000 emails al mes, y gestión de hasta 15.000 suscriptores).  

Quizás  lo más  interesante de destacar es que el servicio de Mailrelay al contrario de otros servicios , es   gratuito  sin publicidad en las newsletters  pues  otros servicios  similares   ponen muchas trabas, y se aprovechan insertando publicidad , incluso en cuentas de pago básicas en algunos casos,   y además no tiene  límite de envío diario, no tiene  limitaciones de funcionalidades y ofrecen  soporte gratuito  ¿Por qué gastar esfuerzos de marketing en publicitar o r anunciar otra empresa?

En efecto   gracias a Mailrelay es posible  crear newsletter, enviar mailings, gestionar listas de suscriptores y analizar  campañas de email de   una forma  gratuita  y más ahora  que    ha sido actualizada  y mejorada  en  nueva version 3 que como vamos    ver en este video  hace  que sea realmente sencillo lanzar este tipo de e-mails

 

Como vemos  en el video esta nueva version V3  de Mailrelay cuenta  nuevo dashboard principal con menú superior y resumen de las últimas campañas,nuevo y potente editor drag & drop (que facilita la creación de newsletters, con bloques para redes sociales, vídeo, texto, grupos de imágenes, columnas, etc)  ,estadísticas mejoradas con más información y en tiempo real,posibilidad de segmentación por grupos de forma tradicional o utilizando los nuevos segmentos dinámicos ,automatismos mejorados y ampliados en base a registros, click o apertura de boletín , etc

De hecho  más de 200.000 clientes en todo el mundo incluyendo grandes empresas   lo están usando como  puede apreciarse  en el gráfico de abajo

 

Veamos  a continuación cómo realizar una  sencilla campaña con  Mailrelay   ,donde como  vamos a ver,  no es demasiado  difícil  pues la operativa se  reduce a la importación de   los contactos, crear una newsletter, enviarlas   y `por supuesto realizar   un seguimiento estadístico de todo,

Bien  veamos  como hacerlo  usando esta  veterana herramienta.

 

 

1- Importación de  contactos y creación de  lista de suscriptores

Suponiendo que tengamos cuenta gratuita con  Mailrelay , lo primero que tenemos que hacer es crear la «ubicación» donde vamos a incluir » nuestros contactos.Tenemos dos opciones bien diferenciadas: Grupos  y Segmentos .( los segmentos se diferencia porque los contactos que hay en ellos deben cumplir una condición y son dinámicos, por lo que su número de suscriptores es variable.)  Nos  iremos al menú «suscriptores» -> «grupos» y en esta pantalla haremos clic en el botón «añadir», para crear un nuevo grupo.

Crear un grupo es muy sencillo pues solo tenemos dos valores posibles para darle: Nombre  y Descripción ( !ojo pues esta es  solo un valor interno,  para que podamos organizar nuestra lista de contactos”) .Añadiremos  un nombre al grupo y haremos click en «crear grupo».

Una vez hemos hecho clic en crear grupo veremos esta pantalla:

mailrelay email marketing tutorial v3

Ahora realizaremos una nueva importación, haciendo click en el botón «nueva importación» que podemos ver a continuación:

mailrelay email marketing tutorial v3

En la siguiente pantalla, vamos a ver las opciones de importación de las que disponemos actualmente Veamos las opciones:

  1.  Copiar y pegar
  2.  Subir Archivos > importar de un txt o CSV esta es la que usaremos ahora
  3.  Importar desde Mailchimp >

Al  marcar la opción, aparece un recuadro donde podemos arrastrar el fichero a subir. Puede importar un fichero CSV o TXT (también ha de estar separado por comas).En realidad no importa demasiado cuántos valores tengamos, pero debemos respetar que solo tengamos un contacto por línea, y que los campos estén separados por comas.

Bien, una vez tengamos ese fichero, lo que haremos será arrastrarlo a la casilla donde pone «arrastra el archivo». Una vez se haya subido el fichero, vamos a ver una pantalla bastante similar a la siguiente:

Como vemos en la imagen hay tres  puntos clave:

  1.  Campos y columnas: iremos usando  los desplegables y nos ayudaremos de la vista previa de los datos. En los desplegables de campo  hay campos de tipo «incorporado», campos que existen por defecto en el sistema, como nombre, dirección, ciudad, etc. No es necesario que los cree, simplemente importe los datos en ellos.
  2.  Importar en los grupos. Aquí elegiremos el grupo al que queremos importar los contactos (, solo tenemos que hacer click y seleccionarlo) 
  3.  Opciones adicionales. Por último podemos elegir qué hacer con los contactos existentes, si bien ignorarlos (los saltamos y no hacemos nada) o los sobreescribimos

Ahora solo queda hacer click en «importar» y se realizará la importación  del contenido del fichero  csv a la bbdd del servicio de Mailrelay .Una vez finaliza la importación de contactos veremos un pequeño resumen,con  el listado de emails importados, y el resultado, por si hubiera habido algún error o problema con el email en cuestión..

 

2· Crear una newsletter con el editor drag & drop de Mailrelay

Esta  nueva versión de Mailrelay incluye varias opciones para crear nuestros boletines, opción que  podemos ver en el menú «Boletines» –>«Boletines».

Aquí, si hacemos click en el botón «Añadir» como en los menús anteriores, veremos una pantalla  con cuatro opciones de edición de boletines:

  1.  Crear boletín. Con esta opción haremos uso del editor drag & drop para crear nuestro diseño de newsletter de forma fácil y rápida
  2.  Pegar código. Si disponemos de un diseño de boletín en html, podemos importarlo pegándolo directamente en un editor clásico
  3.  Subir archivo zip. Funciona igual que la opción anterior, pero importando directamente
  4.  Importar desde una URL. Otra función similar, en esta ocasión importaremos desde una URL. Importante: las páginas web hacen uso de CSS, Javascript externos, menús, etc. Por lo que no se importarán bien, o no se enviarán bien como un email. No importes la URL de una web
Elegimos la opción «crear boletín», y lo primero que tendremos que hacer será rellenar    la típica información que enviaríamos en un e-mail:
  1.  Asunto. El asunto de nuestro email, el subject o título, es lo que verán los contactos al recibir en su cliente de correo.
  2.  Previsualizar texto. Es el texto de la precabecera, un pequeño texto que aparece después del asunto en algunos clientes de correo.
  3.  Remitente. Aquí pondremos el email de remitente que vamos a emplear, por defecto podemos elegir el email con el que hemos creado la cuenta.
  4.  Grupos. Y el grupo que hemos creado lo seleccionaremos aquí.

Cuando ya lo tenemos todo listo, haremos click en el botón «Siguiente» de la esquina inferior derecha y  pasaremos a una pantalla donde podremos seleccionar una plantilla de base . Podemos elegir la que queramos y haremos  click de nuevo en «siguiente».

► El editor drag & drop para crear newsletters

Este editor es muy sencillo de utilizar pues tenemos dos espacios bien diferenciados, a la izquierda la visualización de la plantilla.Lo  destacado es que si pasa sobre cualquier elemento verá que se superpone un menú flotante que nos permite: Mover el elemento, Editarlo,Duplicarlo o eliminarlo. Asimismo en las imágenes verá también la opción de «buscar imagen» para sustituir la imagen por defecto por una de las que tenga en su equipo.

Bien,  en la parte  derecha veremos esto:

opciones del editor de Mailrelay

Como vemos ,los elementos que tenemos disponibles son:

  1.  Texto. Para insertar un cuadro de texto, donde poder escribir, insertar enlaces, y en general darle el formato que queramos.Los bloques de texto funcionan igual que las imágenes, solo tiene que arrastrar el bloque en cuestión a la zona donde quieras ubicarlo.Recuerde, una vez arrastrado el bloque de texto, hacemos clic en «editar»:Tenemos tres opciones:
    1.  Contenido. Este será el contenido de texto del bloque
    2.  Diseño. Valores como tipo de fuente, tamaño, alineación, etc
    3.  Configuración. Número de columnas
  2.  Imagen. Nos permite insertar una imagen.Si ya tenemos un elemento de imagen solo tenemos que hacer click en el botón «buscar imagen», y si no, primero arrastraremos un elemento de tipo «imagen»a la zona de edición.Al hacer click en «buscar imagen» y en la caja donde pone «Drop files here to upload»?Aquí podremos pinchar y elegir la imagen de nuestro equipo, o arrastrar la imagen, con lo cual la veremos aparecer.Una vez hecho eso, solo tenemos que hacer click en la imagen que queremos utilizar, se situará en la parte izquierda, y podremos hacer click en el botón «usar archivo», lo que hará que la imagen aparezca en el editor de esta forma:
  3.  Imagen con leyenda. Si tenemos que poner una imagen que incluya una leyenda.Para empezar solo tenemos que arrastrar este bloque a donde queramos posicionarlo.Elegiremos
    1. Número de imágenes. Elegiremos  las imágenes que deseemos incorporar
    2.  Posición de las columnas. Podemos tenerlas una al lado de otra, o una encima de la otra
    3.  Posición de la leyenda. Esto hace referencia a la posición del texto, arriba de la imagen, o debajo
  4.  Grupo de imágenes. Para insertar más de una imagen en nuestra newsletter
  5.  Botones de redes sociales
  6.  Divisor
  7. Vídeo

Con estas opciones tendremos más que suficiente para crear un buen diseño para nuestro email.

Estos elementos los podemos arrastrar a la parte izquierda para crear elementos de forma fácil, como vemos en la siguiente imagen:

 

► Añadir el nombre del contacto

Antes hemos subido nuestra lista de contactos incluyendo el nombre, así que quizás  se pregunte ¿cómo incluimos el nombre en la newsletter? Pues editaremos el bloque de texto donde queremos incluir el nombre, posicionamos el cursor del ratón donde queremos añadir el nombre y utilizamos el desplegable «Variables» , En el mismo bajamos hasta encontrar la sección «Suscriptor» y elegimos la opción «Nombre» y ya cuando envíe la newsletter esta variable se sustituirá por el nombre del contacto en cuestión.

► Añadir  el enlace de baja

Al igual que en el caso anterior, vamos a utilizar el editor, pero en este caso, la variable que seleccionaremos será una de las opciones de «URLs de baja»:

editor de newsletter mailrelay enlace de baja

Tenemos varias opciones aquí:

  1.  URL de baja normal. Cuando el suscriptor hace click, se da de baja inmediatamente
  2.  URL de baja con confirmación por email. Cuando el suscriptor hace click recibe un email de baja en el que ha de hacer click para confirmar
  3.  URL de baja de grupo. Solo da de baja al suscriptor en el grupo en el que ha realizado el envío

Si hace click en esta opción, verá que inserta en el editor algo como esto:{{ unsubscribe_url }}

Y ya está. Ahora que tenemos la newsletter lista y preparada, la guardamos utilizando el botón de la esquina inferior derecha:

guardar plantilla de newsletter

 

3· Enviar una newsletter 

Vamos a entrar en la última parte  realizando el envío del boletín, así que lo  primero que tenemos que hacer es volver al menú «Boletines»– «Boletines», y ahi veremos un listado de los boletines ,.

Ahora miremos un poco más a la derecha:verás por cada línea, una serie de iconos como estos:

enviar newsletter gratis con Mailrelay

De izquierda a derecha esos enlaces  tienen esta  funcionalidad:

  1.  Enviar newsletter ( no esta por casualidad en primer lugar) ,Al hacer click en el mismo veremos una pantalla de errores posibles.Lo bueno, es que si hace click en los enlaces, puede ver cómo se deben realizar estas configuraciones.
  2.  Duplicar
  3.  Mostrar (visualizar el boletín)
  4.  Editar
  5.  Borrar

 

enviar newsletter gratis con mailrelay

 

Si seguimos un  poco más abajo tenemos otras dos opciones más:

  1.  Enviar boletín a un grupo o segmento. Opción con la que podríamos enviar el boletín al grupo donde hemos importado los suscriptores.
  2.  Enviar un boletín de prueba. De esta forma nos podemos enviar una prueba de boletín, para ver cómo queda la newsletter en nuestro cliente de correo
  3. Y para terminar  como tercer punto podemos ver que es posible programar el envío para una fecha determinada o enviar la newsletter en ese momento

Bueno, en todo caso  pulsando el primer botón de enviar newsletter , ya tendremos nuestro mailing enviado por lo que sólo nos queda comprobar que efectivamente ya se ha enviado  asi como lo datos estadisticos.

 

4- Las estadísticas del envío 

Es interesante cerciorarse que en efecto el envío de la newsletter se ja realizado con éxito , así que nos  iremos al menú «informes» – «boletines enviados». Aquí vemos una lista de los boletines enviados:

listado de mailings enviados

Es importante fijarse  que el estado indique  «completado», ya que en otro caso indicaría si está en proceso o cualquier posible error.

También en esta pantalla de boletines enviados podemos ver un pequeño resumen, de emails enviados, visualizaciones y clicks, aunque de todas formas si queremos ver el detalle del envío podemos hacer click en el asunto de la newsletter e iremos a una pantalla con más detalle:

estadísticas de mailing

Como  podemos ver en esta pantalla a modo de  resumen rápido y general podemos  ver información rápida de: Emails entregados, cantidad y porcentaje, Emails rebotados, Visualizaciones y porcentaje (es posible que un mismo suscriptor abra varias veces el email) y  Clicks y porcentaje

Pero ademas fíjese que tenemos más menús, al lado de la flecha: Emails enviados, Visualizaciones, Clicks, Baja y  Reenviado. En estos menús tenemos mucha más información, como los contactos que han abierto, los que han hecho click, el mapa de click,geolocalización, etc .

Si le interesa en su blog  puede ampliar mas información al respecto .

 

 

 

Creemos  que para una primera toma de contacto, ya hemos visto los aspectos más importantes de lo que se puede hacer con una nueva cuenta de Mailrelay en su nueva version  V3  ,  que como decíamos en la introducción, es uno de  las pocas servicios gratuitos ,·que no tiene límite diario de envío, y  que  como hemos visto , incluye  una ingente  número de funcionalidades  extra  .

Además  un aspecto que no debemos  desdeñar de la  funcionalidad de Mailrelay ,  es que  no incluyen publicidad en sus newsletters, pues la verdad suena un poco anacrónico que para  intentar informar de algún producto nuevo , una novedad  o lo  que sea que queramos enviar a nuestra  base de clientes  o usuarios   tengamos  que incluir publicidad  de terceros ¿a  que sonaría bastante raro verdad?  

 

Controlando placas de IoT desde javascript


Node.js framework  fue  creado por Bocoup para controlar placas de desarrollo en una configuración de host-cliente   aunque   realmente su uso mayoritario sea como plataforma web   siendo    Johnny-Five la plataforma open  source de Robótica e IoT de JavaScript 

En realidad existen diferentes  plataformas donde se puede ejecutar el programa Johnny-Five :

  • En un entorno Linux a bordo: beagleBone Black,Chip,Intel Galileo gen 1,Intel Galileo Gen 2,Intel Edison Arduino,Intel Edison Mini, SparkFun Edison GPIO Block,SparkFun Arduino Block, Intel Joule 570x (Carrier Board),Linino One,pcDuino3 Dev Board,Raspberry Pi 3 Model B, Raspberry Pi 2 Model B. Raspberry Pi Zero,Raspberry Pi Model A Plus,Raspberry Pi Model B Plus, Raspberry Pi Model B Rev 1, Raspberry Pi Model B Rev 2, Tessel 2
  • En una máquina host conectada (a través de Serial USB o Ethernet) a un cliente.: Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,
  • En una máquina host que se comunica por wifi al cliente: Electric Imp April, pinoccio Scout, Particle Core ( Spark Core) ,Particle Photon, Sparkfun Photon RedBoard
  • En una máquina host que se comunica a través de Bluetooth al cliente :Blend Micro v1.0,LightBlue bean,

Johnny-Five como vemos hacer un énfasis especial en la robótica, pero tambien puede hacer muchas cosas diferentes con el software.De hecho ha existido durante hacer  más tiempo que la mayoría de los marcos de JavaScript para hardware . Ademas iene una API clara  y “fresca” ,ambas cosas ideales para los principiantes de hardware.

Lanzado porBocoup en 2012, Johnny-Five esta mantenido por una comunidad de desarrolladores de software apasionados e ingenieros de hardware. De hecho más de 75 desarrolladores han hecho contribuciones para construir un ecosistema robusto, extensible y muy versatil.

 

Hola Mundo! 

A los microcontroladores y las plataformas SoC nos gusta decir “Hola mundo” con un simple LED parpadeante, así  que veamos en primer lugar un ejemplo como lo hariamos  usando el Ide clásico  de Arduino

Como vemos en la imagen ,conectaremos un led entre el pin 13  y masa , respetando la polaridad (el ánodo al pin13 y el cátodo o pin corto a masa )

Para  hacer destellear el citado led,  estos son los pasos básicos  que tenemos que seguir en nuestro sketch  programandolo desde el IDE de Arduino:

  1. Configurar el pin 13 (con LED incorporado) como una SALIDA
  2. Establecer el pin 13 ALTO para encender el LED
  3. Esperamos 500 ms (medio segundo)
  4. Establecer el pin 13 BAJO para apagar el LED

Y este es el código completo para ejecutar desde el Ide de Arduino:

void setup() {
pinMode(13, OUTPUT);    
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);  
delay(500);
}

Y ahora vamos a ver el mismo ejemplo , pero ejecutandolo en Javascript por medio de node-js,

Desgraciadamente  si usamos un Arduino o alguno de sus variantes (Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,)   necesitaremos que el programa JavaScript se ejecute en una máquina host que ejecute Node.js. de modo que el programa transmitirá instrucciones básicas de E / S a la placa a través de una interfaz  serie USB , que actuara como un cliente ligero .

El método host-cliente implica la comunicación a través de una API común entre el host y el cliente. El marco Node.js usado con Arduino y placas similares , Johnny-Five, se comunica (de forma predeterminada) con las placas  utilizando un protocolo llamado Firmata, protocolo que permite que los hosts (computadoras) y los clientes (microcontroladores) intercambien mensajes de ida y vuelta en un formato basado en mensajes MIDI. El protocolo Firmata especifica cómo deben ser esos mensajes de comando y datos. La implementación de Firmata de Arduino proporciona el firmware real que puede poner en su tablero para hacer que “hable” Firmata. Toma la forma de un boceto de Arduino que sube al tablero.

Firmata es lo suficientemente popular como para que los bocetos de Firmata que necesita vengan empaquetados con el IDE de Arduino asi que bastara con subir este a Arduino una única vez  ya que  el código javascript  correra en el host usando node.js.

Puede seguir estos pasos para cargar el interfaz correcto de Firmata en su Arduino  para que se pueda utilizar como cliente en una configuración de host-cliente:

Resumidamente estos son los pasos previos para ejecutar el   mismo  ejemplo del led parpadeante  que hemos visto pero   en  javascript en una placa Arduino;

  • En primer lugar  conectar  su Arduino  mediante USB a  su ordenador
  • Lanzar el IDE de Arduino.
  • Asegurarse que esta configurada la version de su placa,  así como el puerto COM  virtual al que esta conectado
  • Acceda al menú Archivo> Ejemplos> Firmata
  • Seleccione StandardFirmataPlus de la lista y despliegue este sw sobre su Arduino

  • Ahora Instale Node.js   en su pc . Funciona  con ultima version 11.3.0  de  64 bit que incluye  npm 6.4 (no olvidar de chequear que se instalen  otros componentes )Este es el link de descarga https://nodejs.org/en/download/ 
  • En la instalación de Node.js, repetimo  no debemos olvidar de chequear que se instalen  otros componentes  pues  con ellos se   instalara automáticamente
    • Python 2.7.3 (http://www.python.org/getit/releases/2.7.3/)
    • Visual Studio Express 2010 de 32 bits (con  las dependencias de C ++)
    • El comando npm
    • Alternativamente si dispusiésemos de npm podríamos instalar ambos entornos  con  npm --add-python-to-path install --global --production windows-build-tools
  • Este pasos anterior ( instalacion de componentes ) es  innecesario  si chequeamos en la instalación  de node.js  pues se instalaran  esos componentes  automáticamente
  • Ahora instalar node-gyp  medianete  el comando  npm install -g node-gyp (esto instalará node-gyp globalmente)                          
  • Ya puede  crear su primer proyecto Johnny-Five, por lo que en primer lugar cree un directorio para él e instale el paquete framework npm, como se muestra en la siguiente lista:
    • < mkdir hello-world
    • < cd hello-world
    • < npm install johnny-five
  • Ejecute  el comando “npm install johnny-five” desde la carpeta del proyecto
  • Ya por fin podemos crear el fichero javascript  con su editor de texto  que contendrá el código en javascript  . 

Realmente estos son los pasos  que tenemos que seguir:

  1. Requerir el paquete johnny-five
  2. Inicializar un nuevo objeto Board que represente a su placa .
  3. Esperar a que el tablero dispare el evento listo
  4. Crear una instancia de un objeto LED en el pin 13 (el pin LED incorporado de Uno)
  5.  Hacer que el LED parpadee cada 500 ms

Este es el código en js :


const five = require(‘johnny-five’);
const board = new five.Board();
board.on(‘ready’, () => {
 const led = new five.Led(13);
   led.blink(500);
});


Guarde el archivo como hello-world.js  y  conecte su Arduino  a un puerto USB en su ordenador  si aún no está conectado.

En una terminal  de windows  vaya al directorio del proyecto y ejecute este comando:

<node hello-world.js


Verá una salida como la siguiente en su terminal ejecutando hello-world.js en una terminal

 

 

Si el LED incorporado parpadea ,!enhorabuena !  !acaba de controlar una placa Arduino con JavaScript!  ¿a que es realmente sencillo?.

Aunque en el caso de la familia Arduino tiene la innegable penalización de necesitar un host para operar , la ventajas de este  modelo son evidentes pues no tenemos que estar constantemente compilando  y  subiendo el sketch con el ide de Arduino ya que el programa corre en host . Ademas  podemos usar un simple editor de texto para cambiar el código en javascript fácilmente

Asimismo el lenguaje javascript ha ido evolucionando hasta un ritmo que no podemos imaginar   incluyendo muchas características que no son soportadas de forma directa desde Arduino

Por ultimo mencionar la autentica potabilidad del código , pues el código que hemos visto en el ejemplo podremos usarlos  en múltiples plataformas  tan diferentes como Raspberry pi, Intel Edison , etc usando siempre el mismo código fuente aun siendo soportado por placas muy diferentes ¿ a que es interesante?

 

 

Placas soportadas

Johnny-Five ha sido probado con una variedad de tableros compatibles con Arduino . 

Para los proyectos que no están basados ​​en Arduino, los complementos de IO específicos de la plataforma están disponibles. Los complementos IO permiten que el código Johnny-Five se comunique con cualquier hardware en cualquier idioma que la plataforma hable.

Como comentábamos   existen diferentes  formas de   ejecutar  el programa Johnny-Five  segun la placa:

  • En un entorno Linux a bordo: beagleBone Black,Chip,Intel Galileo gen 1,Intel Galileo Gen 2,Intel Edison Arduino,Intel Edison Mini, SparkFun Edison GPIO Block,SparkFun Arduino Block, Intel Joule 570x (Carrier Board),Linino One,pcDuino3 Dev Board,Raspberry Pi 3 Model B, Raspberry Pi 2 Model B. Raspberry Pi Zero,Raspberry Pi Model A Plus,Raspberry Pi Model B Plus, Raspberry Pi Model B Rev 1, Raspberry Pi Model B Rev 2, Tessel 2) ,   Es  facil adivinar qeu este es el mabiente ideal   pues dentro de la placa se oprtan tanto el host como el cliente  por lo qeu no ncesitamos conectarnos con otro dispositivo
  • En una máquina host conectada (a través de Serial USB o Ethernet) a un cliente.: Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,
  • En una máquina host que se comunica por wifi al cliente.: Electric Imp April, pinoccio Scout, Particle Core ( Spark Core) ,Particle Photon, Sparkfun Photon RedBoard
  • En una máquina host que se comunica a través de Bluetooth al cliente :Blend Micro v1.0,LightBlue bean,

Veamos  ahora cada  caso en concreto;

Arduino Uno 

Ambiente 

  • Firmware / Runtime: : StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

SparkFun RedBoard 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

ping

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

 

Arduino leonardo 

Ambiente 

  • Firmware / Runtime:  StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Arduino Mega 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

Arduino Fio 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Arduino Micro 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Mini 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Nano 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Pro Mini 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
ping

BotBoarduino 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

chipkit uno32 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire
Paso a paso
Serial / UART
Dac no
ping

Spider Robot Controller 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere  tetehering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

DFRobot Romeo 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Teensy 3 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART no
Dac no
ping

BeagleBone Black 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

CHIP 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo no
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Ping no

Blend Micro v1.0 

Ambiente 

  • Complemento IO: BlendMicro-IO ( instrucciones adicionales )
  • Firmware / Runtime: BLEFirmata
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a través de Bluetooth a la placa, que actúa como un cliente ligero .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Ping no

 Electric Imp  April 

Ambiente 

Plataforma específica 

  • Requiere una conexión WiFi conectada a Internet y está sujeto a la limitación de la tasa de solicitud por parte del servidor de Electric Imp API.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C no
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Intel Galileo Gen 1 

Ambiente 

Plataforma específica 

  • Las compilaciones que no son IoTKit ya no son compatibles.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Intel Galileo Gen 2 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

Intel Edison Arduino 

Ambiente 

Plataforma específica 

  • El hardware es capaz de soportar solo 4 salidas PWM. Como resultado, los enlaces nativos no admiten PWM en los pines 10 y 11.
  • Aunque Galileo-io / Edison-io / Joule-io todavía no admite comunicaciones en serie, puede enlazar a / dev / ttyFMD1 en la placa Edison Arduino usando el módulo serialport .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

Intel Edison Mini 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

SparkFun Edison GPIO Block 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

SparkFun Arduino Block

Ambiente 

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART no
Dac no
ping no

Intel Joule 570x (Carrier Board) 

Ambiente 

Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

LightBlue Bean

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Linino uno 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

pcDuino3 Dev Board 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo no
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Pinoccio Scout 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C no
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Raspberry Pi 3 Modelo B 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Raspberry Pi 2 Modelo B 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Silbido no

Raspberry Pi Zero 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Raspberry Pi Model A Plus 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Frambuesa Pi Modelo B Plus 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Silbido no

Raspberry Pi Modelo B Rev 1 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Ping no

Raspberry Pi Modelo B Rev 2 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no


Particle Core (Spark Core)

Ambiente 

Plataforma específica 

  • Los temporizadores se comparten en grupos: Temporizador 2: A0 , A1 , Temporizador 3: A4 , A5 , A6 , A7 , Temporizador 4: D0 , D1
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping


Particle Photon

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
ping no
Silbido

Sparkfun Photon RedBoard 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping

Tessel 2 

Ambiente 

Plataforma específica 

  • El soporte de servo se proporciona a través de componentes I2C (por ejemplo, PCA9685 )
  • DAC está limitado a Puerto B, Pin 7
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac
ping no

Mas información en  http://johnny-five.io/platform-support/

Nueva protección antimalware de Windows


Windows Defender   en su características contra amenazas  avanzadas , como novedad , ofrece una característica muy interesante de protección antimalware : Bloqueo a primera vista ,característica  que ofrece una nueva  manera de detectar y bloquear nuevo malware en segundos.

Desgraciadamente no hay ninguna configuración individual específica en System Center Configuration Manager para habilitar o deshabilitar el bloqueo a primera vista. Se habilita de manera predeterminada cuando la configuración de requisitos previos está definida correctamente  (donde es  de destacar que el antivirus windows defender este activo y que la licencia del  sistema operativo este vigente).

En la mayoría de los casos, esta configuración de requisitos previos se habilita de manera predeterminada así que esta característica se ejecutara sin necesidad de intervención alguna ( de hecho se puede usar la configuración de Directiva de grupo para confirmar que la característica está habilitada ), pero si no esta seguro, es muy sencillo confirmar que el bloqueo a primera vista está habilitado con la aplicación de seguridad de Windows  como vamos a ver a continuación.

Bloqueo a primera vista está habilitada automáticamente siempre y cuando la protección basada en la nube y el envío automático de muestras estén activados.Obviamente también suponemos que Windows Defender esta activo para lo cual debe tener el equipo con licencia del sistema operativo  activa y disponer de conectividad: 

En efecto, se puede confirmar que el bloqueo a primera vista está habilitado en la configuración de Windows , Para confirmar que el bloqueo a primera vista está habilitado en clientes individuales basados en windows 10, puede seguir estos pasos:

  1. Abra la aplicación de seguridad de Windows, y haga clic en el icono de escudo en la barra de tareas.

  2. Haga clic en el icono de protección contra Virus y contra amenazas (o en el icono de escudo en la barra de menús de la izquierda)

  3. A continuación, haga clic en configuración de protección contra Virus y amenazas:                                       

  4. Confirme que la Protección basada en la nube y el Envío de muestras automático se han establecido en Activado.(en la imagen del ejemplo se ve en un pequeño circulito en verde con la “v” de verificado

 

Por cierto ,en Windows 10, versión 1803, bloqueo a primera vista puede bloquear ahora no portátiles archivos ejecutables (por ejemplo, JS, VBS o macros), así como los archivos ejecutables.

 

Funcionamiento

Cuando el Antivirus de Windows Defender encuentra un archivo sospechoso pero no detectado, consulta en la nube de Azure el servicio  de protección de la nube. El back-end de nube aplica heurísticas, aprendizaje automático y análisis automatizado del archivo para determinar si los archivos son malintencionados o limpios.

Bloqueo a primera vista solo usa el back-end de protección en la nube para los archivos ejecutables y portátiles que no son los archivos ejecutables que se descargan de Internet o que se originan desde la zona de Internet. Se comprueba un valor de hash del archivo .exe a través del back-end de la nube, para determinar si se trata de un archivo no detectado anteriormente.

Si el back-end de nube no puede determinarlo, Antivirus de Windows Defender bloqueará el archivo y se cargará una copia en la nube. La nube realizara un análisis adicional para llegar a una determinación antes de que permita la ejecución del archivo o lo bloqueará en todos los encuentros futuras, dependiendo de si se determina que el archivo es malintencionado o seguro.

En muchos casos, este proceso puede reducir el tiempo de respuesta de  nuevo malware de horas a segundos.

 

Validar las conexiones entre la red y la nube

Existe una  serie de url’s asocidos a este  servicio de Windows Deefender a los que debe asegurarse el acceso desde el equipo  ( es decir es una especie de lista blanca las direcciones URL) ,

En la tabla siguiente se  pueden ver  los serviciosa, las descripciones   y por supuesto sus direcciones URL asociadas a los que la red tiene que poder conectarse. 

Servicio Descripción Dirección URL
Servicio de protección entregada en la nube del Antivirus de Windows Defender, también conocido como Microsoft Active Protection Service (MAPS) Usado por el Antivirus de Windows Defender para proporcionar protección entregada en la nube *. wdcp.microsoft.com
*. wdcpalt.microsoft.com
*. wd.microsoft.com
Servicio Microsoft Update (MU) Inteligencia de seguridad y las actualizaciones de productos *.update.microsoft.com
Inteligencia de seguridad de las actualizaciones de ubicación de descarga alternativa (ADL) Ubicación alternativa para las actualizaciones de inteligencia de seguridad de Antivirus de Windows Defender si la inteligencia de seguridad instalada desactualizadas (7 días o más) encuentra detrás de *.download.microsoft.com
Almacenamiento de envío de malware Cargar la ubicación de los archivos enviados a Microsoft a través del envío del formulario o el envío de muestra automático *.blob.core.windows.net
Lista de revocación de certificados (CRL) Usado por Windows al crear la conexión SSL a MAPS para actualizar la CRL http://www.microsoft.com/pkiops/crl/
http://www.microsoft.com/pkiops/certs
http://crl.microsoft.com/pki/crl/products
http://www.microsoft.com/pki/certs
Almacén de símbolos Usado por el Antivirus de Windows Defender para restaurar ciertos archivos críticos durante los flujos de corrección https://msdl.microsoft.com/download/symbols
Cliente de telemetría universal Usado por Windows para enviar datos de diagnóstico de cliente; Antivirus de Windows Defender lo usa para fines de supervisión de calidad de productos Esta actualización usa SSL (puerto TCP 443) para descargar manifiestos y cargar datos de diagnóstico en Microsoft, usando los siguientes puntos de conexión DNS:
  • vortex-win.data.microsoft.com
  • settings-win.data.microsoft.com

Por desgracia no podría usar un archivo de configuración automática de proxy (.pac) para probar las conexiones de red a estas direcciones URL por lo que tendrá que comprobar sus servidores proxy y cualquier filtrado de herramientas manualmente para garantizar la conectividad de red.

Para comprobar  si en ese equipo se llegan a estas url’s ,  Microsft proporciona la utilidad  mpcmdrun.exe que se identifica a sí mismo como el Microsoft Malware Protection Command Line Utility siendo  parte del Windows Defender de Microsoft.  Esta utilidad al conectarse a internet, puede parecer sospechoso, pero usualmente es un programa del propio Microsoft  que solo funcionará en Windows 10, versión 1703 o posterior.

Use el argumento siguiente con la utilidad de línea de comandos (mpcmdrun.exe) de Antivirus de Windows Defender para comprobar que la red puede comunicarse con el servicio de nube de Antivirus de Windows Defender:

<pre class="wp-block-syntaxhighlighter-code brush: plain; notranslate" style="padding-left:80px;"><strong>MpCmdRun -ValidateMapsConnection
</strong></pre>

Para ejecutar esta utilidad , deberá abrir un interfaz de comandos   ( ejecutar comando cmd)   y  ejecutándolo como administrador del símbolo del sistema(hagz clic con el botón secundario en el elemento del menú Inicio, en Ejecutar como administrador y en  en el mensaje sobre permisos.  Por cierto , para ejecutarlo debería situarse en  %ProgramFiles%\Windows Defender\  ( es decir normalmente en  C:\Program Files\Windows Defender\:

 

Si por alguna razón falla, tendrá  que asegurarse de que no existen reglas de filtrado de red o firewall que puedan denegar el acceso a estas direcciones URL, Incluso puede que tenga que crear una regla de permiso específicamente para ellas

Comprobado  que su equipo tiene conectividad con los servidores de Windows Defender,  podemos probar la efectividad del proceso  descargándonos un archivo de prueba: de este modo el Antivirus de Windows Defender detectará y bloqueará si está conectado correctamente a la nube.

Obviamente este archivo no es un fragmento real de malware. Es un archivo falso que está diseñado para probar si está conectado correctamente a la nube y si funcionan adecuadamente los servicios de Windows Defender antimalware

El ejemplo se puede descargar  visitando el siguiente vínculo:

http://aka.ms/ioavtest

Si estás conectado correctamente, verá una advertencia de notificación de Antivirus de Windows Defender:

 

Si usa Microsoft Edge o Internet Explorer  también verá un mensaje de notificación muy similar al anterior

Si le interesa ver el detalle ,también verá una detección de amenazas en cuarentena en la sección de historial de exámenes en la aplicación de seguridad de Windows:

  1. Abra la aplicación de seguridad de Windows haciendo clic en el icono de escudo en la barra de tareas o buscando Defender en el menú Inicio.
  2. Haga clic en el icono Protección contra virus y amenazas (o en el icono de escudo de la barra de menús de la izquierda) y, después, en la etiqueta Scan history:
  3. En la sección Quarantined threats, haga clic en la etiqueta Ver historial completo para ver el malware falso detectado:

 

Asimismo , el registro de eventos de Windows también mostrará el id. de evento 2050 del cliente de Windows Defender.

Para  terminar, windows defender, se encargara de eliminar el propio fichero descargado de prueba pues este contenía el malware que ha sido detectado  , analizado  y puesto en cuarentena  por este nuevo servicio de Windows Defender:

 

Por cierto las versiones de Windows 10 anteriores a la versión 1703 tienen una interfaz de usuario diferente pero en esencia las opciones de estos menús de windows defender son muy similares

 

Mas información en https://docs.microsoft.com/es-es/windows/security/threat-protection/windows-defender-antivirus

 

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