1 de diciembre de 2016

ESP8266

El ESP8266 es un chip WiFi de bajo consumo y pequeño, desarrollado por una empresa china  Espressif, este chip permite desarrollar IOT (Internet of Things). Así, que se puede conectar con cualquier  sensor (compatible con Arduino a Internet vía WiFi.


El ESP8266 se puede usar directamente por medio una interface Serial usando comandos AT, o mas avanzado, usando el ambiente de programación Arduino para re-programarlo.

Existen varios modelos de este chip, el primero denominado ESP-01, fue el inicial.



Hay otros modelos básicos que incorporan mas GPIO que el inicial, como el ESP-12F




Hay otras versiones que ya están diseñadas para conectarlas (micro usb) y programarlas de inmediato, y cuando no se usa una de esas prototyping boards hay que hacer una adecuación mínima para comenzar a trabajar sobre el ESP8266.

Modelos (prototyping boards):

  • Adafruit HUZZAH ESP8266 (ESP-12)
  • NodeMCU
  • WeMos D1
  • SparkFun ESP8266 Thing

Para trabajar con el ambiente Arduino se necesita lo siguiente:


Diagrama básico (mínimo) de trabajo (ESP-12):


Como subir el programa, se debe poner el esp8266 en modo FLASH, y se realiza de la siguiente forma: Poner  GPIO_0 a GND, al mismo tiempo RESET a GND (poner y retirar, o poner un pulsador) y luego retirar el GPIO_0 de GND, y de esta forma el esp8266 entra en modo flash, es decir, pulsar FLASH mantenerlo pulsado mientras se pulsa RESET y soltar ambos.

ESP-12F en Protoboard

Documentación y ejemplos visitar: https://github.com/esp8266/Arduino


Notas y referencias:

20 de noviembre de 2016

PL-2303HX USB-to-Serial Comm Port


Profilic PL-2303HX es una adaptador USB a Serial.



En Windows 10  no funciona el ultimo driver disponible, ya que esta versión que proviene del mercado chino es falso de fabricación ilegal, así que el fabricante decidió cambiar su versión del chip por 2303HXD o el 2303TA.

El fabricante original dice que es un chip falso y que puede causar daños, pero en realidad lo que hizo fue cambiar la versión del chip y el driver no soportar  la versión antigua o el clon chino.



La solución al problema es instalar una antigua versión del driver 3.3.2 del año 2008.


Pasos para la instalación correcta:

  • Des-instalar el actual driver.
  • Instalar el driver de la versión recomendada.
  • Conectar dispositivo.
  • En caso de que Windows actualice el driver, volver a la versión anterior:
  • Estará listo para ser usado.

Fuentes:




18 de agosto de 2016

Drive web hosting is shutting down


Me llego un correo de Google notificando que el servicio de web hosting de Google Drive sera desactivado.


En un post del año pasado Web hosting with Google Drive explicaba como usar este servicio de compartir archivos de Google Drive,  pero desde el 31 de Agosto de 2016 no sera posible usarlo, y según leo las notas desde el 15 de Agosto de 2015 anunciaron que seria descontinuado.

En mi análisis, se entiende que cierran el servicio por aspectos económicos para vender otros servicios como Google Domains y  Google Cloud Platform, no permitir la creación de mini-sitios que solo necesitan HTML/Javascript para funcionar de forma gratis.


Notas y referencias:

17 de julio de 2016

Compras por Internet II

Hace unos años expuse mi experiencia de compras por Internet (Experiencia Compras en Internet Amazon.com), ahora expongo los problemas y recomendaciones luego de estos años, aplica solo para Colombia.

* Compras por Internet en USA vía Casillero.
* Compras por Internet en cualquier parte del Mundo.


Compras por Internet en USA vía Casillero.


Aquí sigo usando el mismo casillero CoordinadoraUSA, pero su costo se ha incrementado debido a que cobran US $2 por cada paquete, es decir, que si llegan 5 envíos diferentes sin importar la cantidad de productos que contenga cada paquete, cobran 10 dolares, el casillero ha sido confiable, no se ha perdido ningún producto. De este casillero como se paga impuestos, solo las compras declaradas inferior a 200 dolares no pagan IVA pero si importación 10% del valor declarado.


Problemas presentados en las compras:

  • Algunos negocios tiene prohibido el envió a casilleros y en sus políticas de compras dice: "we do not ship to Freight Forwarding Services" que traduce como: "nosotros no enviamos a empresas de servicios de carga". Esto sucede por problemas con los pagos, errores de envió o estadística en tiempos de entrega.
  • Tiene la dirección del Casillero en sus bases de datos marcada por fraude,  y el mensaje mostrado  indica que personas inescrupulosas han usado tarjetas de crédito robadas o han intentando hacer un robo con la compra.
  • Cuando se envié al casillero se debe usar un servicio postal reconocido y con numero de guía, esto permite hacer seguimiento y en caso de perdida realizar el reclamo o la devolución del dinero.

 Compras por Internet en cualquier parte del Mundo


 Las compras de sitios como aliexpress, y ebay (no todo lo que se compra aquí esta en USA) y otras partes del mundo, hay que tener las siguientes consideraciones:

  • Compras en sitios que garanticen la devolución del dinero en caso de perdida del producto o que este llegue defectuoso.
  • El paquete tenga numero de guía internacional, esto es importante debido a que permite rastrear el paquete desde que sale del país de origen hasta el país de destino, esto es importante debido a que se usa el sistema postal oficial de cada país para enviar el producto, y para el caso de Colombia la entrega final se hace por el servicio postal "4-72" hay que tener en cuenta que en caso de reclamo el servicio postal colombiano solo responde por paquetes que tengan guía internacional o que sea correo prioritario (y que tenga un numero valido de rastreo, numero de guía internacional), de lo contrario el paquete es susceptible a que se pierda sin forma de hacerle un reclamo. En caso de compra en aliexpress:
    • China Post Registered Air Mail
    • Hongkong Post Air Mail
    • ó usar algun servicio con numero de registro (guía internacional).
  • El promedio de entrega de los paquetes son 20 días a Colombia desde China.
  • En caso de comprar en algún sitio diferente a los mencionados y que la compra no lleve el numero de guía internacional y el paquete no llegue y se haga el reclamo, el país queda bloqueado para futuras compras.
  • En mi experiencia de compras por aliexpress, ningún paquete con guía internacional se ha perdido, pero si se ha perdido paquetes con numero guía local, son rastreables hasta que dicen que se han exportado, pero no hay forma de saber cuando ingresan a Colombia y como el servicio postal Colombiano "4-72" NO responde por estos, ya que no se pueden rastrear y la ley que ampara el servicio postal "4-72" solo permite reclamar por paquetes que tenga numero de guía local o internacional ( sui usas 4-72 para servicio postal local --Colombia-- este debe tener numero de guía  y asegurar el contenido, de lo contrario es susceptible a perdida (que se lo roben).
  • Todos los paquetes pequeños no pagan impuestos.



Feliz Compra!!!


22 de mayo de 2016

Configurando I2C en Raspberry Pi


En esta antigua entrada (hace como 2 años) se muestra como se configura el I2C "Configurando I2C en Raspberry Pi", con las actualizaciones del sistema operativo y mejoras cambian algunas cosas.

A a partir del kernel o firmware 3.18 de linux, el Raspberry Pi usa Device Tree,  El "Device Tree" es una estructura donde se describe el hardware con el cual se va a interactuar, y el cual se carga al iniciar el sistema operativo.

Para habilitar el I2C se debe seguir los siguientes pasos "sudo raspi-config" y el menú seleccionar "Advanced Options", y luego  "SPI" o "I2C", y habilitar la interface requerida. (se debe reiniciar) Y luego configurar el I2C.

En caso de no hacer esto y se esta validando el I2C pasaría algo como:

pi@raspberrypi ~ $ sudo i2cdetect -y 1
Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory
pi@raspberrypi ~ $    

Comando para validar que dispositivos están conectados al I2C.


Notas y referencias

17 de abril de 2016

Data URI Scheme

El Data URI Schema, es esquema para incluir datos en una URI (del inglés uniform resource identifier),  esto permite incluir pequeños datos (como imágenes) en una pagina web, el RFC 2397, trata como The "data" URL Schema.

Sintaxis: 
data:[<media type>][;charset=<character set>][;base64],<data>
  • data = Definición del esquema "data" seguido de ":".
  • media type = Parametro opcional para definir el tipo de dato ejemplo: image/png.
  • ;charset = Parametro opcional que define el tipo de caracter, por defecto es US-ASCII.
  • ;base64 = parametro opcional para definir que el contenido es binary data.
  • ,<data> = son los datos en base64 codificados en US-ASCII.
Ejemplo:



data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACtCAYAAAD1YTB3AAAABmJLR0QA/wD/AP+gvaeTAAALQUlEQVR4nO3df5CVVR3H8fdlEbd1kR/FACE/FieFNAlztmQsUxodbAfCfmo1/moks6EYzRkrTWcasWTUHZz0DykLx2myTMYFkZrBqFAiBxsNBYsfLevqGrKKLLvA8vTH4dL1unv33uf5nvPcH5/XzPcPftx7z/c857v73Oec5zwgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMrBM2g2Q48YCo4GRQA9wAPgvcCjNRtU6FUg6pgIXAJ8GzgBOA04e4P8dAXYBLwPPAuuBTUB/iEaKhHQScC2wEYgSxGvA3cDMsM0X8eMk4IdAF8kKIz/6gd8BZ4ZLRcTWAmA3toWRH4eBe3DfXUQqQgOwAr+FkR/bgY+FSE4kidOBFwhbHNnoBb7lP0WReM4F9pJOceTGMnSFUsrMebi5i7SLIxsPoCKRMvERoJv0iyI/lvpMWqQYo4EdpF8Mg8WX/KUuMrRHSb8ICkU3MN1b9iIFfI70C6CYWOOrA0QGU4//SUDLmO+nG0QGdh3pD/pSYgu6qiWBDAN2kv6gLzXm+eiMajY87QZUqM8A06zebNasWbS0tDBjxgzGjx9Pb28vHR0dbNy4kba2Nvbt22f1Ud8AnrR6M5HBrMTgJ3pzc3O0YcOGqJCenp5o6dKlUWNjo8VvkF5gjOe+kRp3IvA2CQfrjTfeGB0+fLhgceTatm1bNHPmTIsiudJz/0iNO5+Eg3T58uVFF0au7u7uqLm5OWmBPOK/i6SW3UaCAbpo0aJYxZHV3t4ejRs3LkmBdAboI6lhTxBzcI4ZMyZ68803ExVIFEVRa2tr0t8ik0J0lNSmbcQcmEuWLElcHFEURQcPHkz6pf3CID1VBYal3YAKNDXuCxcuXGjSgPr6eubNSzSlETuHWqMCKc0JuKtYJRs1ahRz5swxa8gll1yS5OW6f71IKpDSNMR94bRp06irqzNryPTpiRboxs6j1qhAStMb94UNDbZjcuTIRL8EYudRa1QgpenDbbNTsq6uLtOGdHYmulr7tlU7qp0KpHR74rxo165dpkWyefPmJC9/1aod1U4FUrqX47yov7+ftrY2s0asWrUqyctfsmqHSL5lxJx/mDt3rsk8yNatW5PMgexHPxjFowUkmMVev3594gK59NJLkxSIlruLV6NxjyWINUCbmpqirq6u2MWxYsWKpMtMbgrQR1Lj1pNgkM6ePTvas2dPycWxcuXKaMSIEUkL5PQA/SM17iqSDdJowoQJ0bp164oqjJ6enmjx4sVJCyPCPXxHxLtGjPbgbWlpidauXRv19fW9pzA6Ojqi1tbWaOLEiRbFEQHX+O2W6qNdLuK7Fbjd6s0aGxtpampi0qRJHDhwgI6ODnbu3EkURVYfsRv3qDc981CCGIX9U6N8hn57SHCJv4sEimfQ3IekIEPCK1oBog84y1cHiAxlIvA66RfCYHG9v9RFinMB7id12sWQHw/7TFqkFF8gwQy7h3gCGOE1Y5ESXZ7JZA5RHsWhuwalLF2UyWTSfBzb/WjPZSlz03CXVkMWxn7gqwFyEzExHLgpk8m8g//iWI0esyYVagrw80wmcxj7wnged3+KSMWbAtyZyWTaKWLwT548ebB/6wV+j3sYjtbSSdUZBpwHrMMN+KPH4l2FUF9fn39qtha4DBibQptFgvoopU8s7gWa0misSEgNuF1F4nzneA73dF2RqvUzkn0xfzB8k0XCmI/N1aurQzdcxLeJ2N1g1QOcHbb5Iv5kgKewnQPZgZ5YK1ViCbbFkY3VaC5EKtxZuMk9HwUSAbeES0XE1vuAf+KvOCLcPSgXh0pIxNJ9+C2ObLyBW8oiUjFaGGAJicf4G7qDUCrEBOA1whVHNu4PkZxIEhlgDeGLIxtX+E9RJL7FpFccEXAAmOU9S5EYzgQOkm6BRMAruK1RRcpGPfAC6RdHNh5Hk4hSRlqxGdiHgX6j97rZa8YiRZqH3SXdrwBfM3qvI8CFHvMWGdJ4oBObAf3YsffMAH80es8u4BQ/qYsUlsHtYmgxkPfi5k+yTsNuDddf0SSipOB6bAZwhDutyneb4fsvt0tbZGgfxt24ZDF4Vw/yGfXAdqPPiHC7ooh4dyLwD2wGbTeFvyPMNfqcCDeJeEbi7EWGcDd2g7aYZwc+bPh5L6NJRPHoIuwu6T5FcZN544F9Rp8ZAb8t8nNFSjIOeBWbQbqf0u7h+KbR52bjhpKzFxnCKuwGaKnPDhyG7SMVjgCfKrENIoO6DrvB+TTxTnFm4ZaiWLWjE/hgjHaIvMsM3BUgi0H5DnBqgrYsM2pHNv4MnJCgPVLjRgBbsBuQ30nYnkbgP4btiYB7ErZJathd2A3EjbjvEkktMGxTNr5o0C6pMXOxu6R7EHeqZsXygkEEvA3MNGyfVLn3Ax3YDcCbjNs3BXep2LJItuJO4USG9Bh2A28TUOehjd8zbGM2fuOhnVJlrsVuwPXhb/3TcOzWhOXGdz21V6rA6bhLsVaD7VbP7T0Xu1t0c4v6PM/tlgo0Avg7dgNtC2HmGB4wbHM2OnBrwESOuxO7AXYI97DOEMYArxu2PRt/ws93J6lAF2B7qnJ72OabbfSQHz8NmYSUp7FAO3aD6kXcTVWhWW30kBtHgc+HTELKz6PYDagjQHPY5h9nudFDbnQfe2+pQddgO5h+Erb573Ebfk61XsQ9411qyIewnY1+CbfRQpqsN3rIjYcD5iEpOwH30BmrwdMPzAmaweAsN3rIj28HzENSdAe2A+fesM0fkuVGD7nRh5uclCp2Pu7LtNWg+RdwUtAMhma90UNutOPuz5cqNAbYjd1gOYoruHJkvdFDbvwBTSJWpV9jO1DuC9v8kgzD3aTlq0juCJeKhHAltgNkNzAyZAIxWG/0kP/bc364VMSnU3F3zVkOjouCZhCf9UYPudFNsk0opAwMB57FdmA8GDSDZHxs9JAbW9AkYkX7MbYDop3K29/Wx0YPufFQsEzE1CexvaQbAZ8NmoEd640e8mNRuFTEwmhgF7aDYGXIBIz52OghN/qAc4JlI4k9gu0A6MQtja9kPjZ6yI1dwAdCJSPxfR37g78waAZ+DAeex2+RrEWTiGVtOvAW9ge+WvhczJiN0HdUSpHq8Dd7/ImAefj0I/wXyFHc8+OlzNyOv4O+icp/MtMp2O1UP1TsBZrCpCXFmIP9Jd38uCJYNn78ijDFkY3nSP8mMgFOBnbi/4B3HvusStSM3WbcpcSKEMlJYb5uEBoolgXKyVIGvyt7h4qr/acog7mcsAf7EO5+9kpyGekVRwT0AGd7z1LeYxpuRWnoA94WIDcrDdjeJBY3duBuWJNA6nDP2EvrgFfKmqxbSL84srGGyr8SWDFuJd2DvZ10dlAsxST8rr+KE7d4zVgAN2nn6065UuIG34km9BDp91F+HAEu9phzzRsJ/Jv0D3SEW9IywW+6sZ1DOpd1i4k3cKuLxYNfkv4Bzo2HvGYbTwb4C+n3TaHYjHsmixj6Mukf2Pw4CnzcZ9IxlGM/DRT3++qAWjQVf5uhJY1nKJ+rM/XY3yjmM67w0gs1pg54mvQPZiUc6B+Qfl+UEgdw2xNJApVw0MthndZE0u+HOPEWlbcRRtloxi3vSPsgFhN3eeqDYv2C9PsgbjxO+ZymVoxG4BXSP3jFRi/prdM6B/tHQoeOm817JYHhaTegCDfg9pjdcezP/bgdEgeyb5C/L/SaQ7hz4IH04HbqGMh+3IRXvoj01huNBL4/xL8PdszrKHx62EDhVQOFcj6RwhvLTeX/x+cq4EncffMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI+/A8LMCN4mGFKjQAAAABJRU5ErkJggg==


Notas y referencias:

22 de marzo de 2016

Raspberry Pi Model B+ 3.5mm Audio/Video Jack


Raspberry Pi Model B+ trae un conector "4-pole" de 3.5 mm, para conectar un televisor convencional mediante un conector RCA.


Este conector "4-pole A/V Jack" es un conector TRRS (Tip, Ring, Ring, Sleeve; punta, anillo, anillo, cuerpo),  no hay un estándar para todos los dispositivos que manejen este conector,  así que hay que buscar un fabricante que maneje el conector como los usa el Raspberry Pi Model B+

Hay varios conectores comerciales que se pueden ser usados como los describe esta imagen:


Se debe tener cuidado los conectores que el Rin 2 (columna 3) no es Ground (tierra) , ya que estos no pueden ser usados, según la imagen anterior el dispositivo MP3 Players no debe ser usado, en cambio el Camcordes si puede ser usado, pero conectando el conector de sonido derecho en el de vídeo. Otra solución es construir su propio cable.



El Cable anterior se armo con los siguientes componentes:
  • 1 - Conector TRRS de 3.5 mm
  • Cable Telefonico de dos pares, es decir 4 cables.
  • Conectores RCA, solo diferencio el de vídeo con el color rojo, el estándar es Amarillo (video),  Blanco (Izquierda), Rojo (Derecha).
  • Cable de timbre calibre 22.
Después de soldar bien todos los cables, y probar la continuidad con tester podemos conectar el Raspberry Pi con el TV.



Notas y referencias:





27 de febrero de 2016

Calendarios con Festivos - Update 1.1


El aplicativo  Calendario con Festivos de Colombia, estara disponible para su actualización desde el domingo 28 de febrero de 2015.

Disponible en Google Play Store: Calendario con Festivos



  • Mejoras:
    • Se agrega selector de mes*.
    • Se agregan botones para el cambio de año.






Notas y referencias

  • (*) El selector fue agregado dado el problema reportado por los usuarios al manejar el gesto de "touch" (arriba-abajo, viceversa) de cambiar el mes.

21 de febrero de 2016

Como generar un GUID en Oracle


Un GUID  (globally unique indetifier) es identificador único global, el cual es un numero pseudoaleatorio usado como llave primaria en bases de datos o para identificar componentes de software. Este GUID se refiere a la implementacion de UIID (universally unique identfier) identificador único universal. 

Para que el numero pueda ser leído (por humanos) se usa la siguiente representación:

123e4567-e89b-12d3-a456-426655440000

La base de datos Oracle tiene funcion SYS_GUID que genera el identificador (RAW) de 16 bytes, para ser usado se puede convertir en "String" de dos formas:

  • Usando la función "asciistr" select asciistr(sys_guid()) as guid from dual 
  • Usando la función "cast" select cast(sys_guid() as char(32)) as guid from dual

El cual genera un GUID como:

2C9BBAD3B7500068E0530A0E0F160068

Notas y Referencias:

30 de enero de 2016

Calendarios con Festivos de Colombia


Icono - Calendario con Festivos

Esta es mi primera App de Android, muestra un calendario con los festivos (días no laborales) de Colombia. Incluyendo festivos religiosos y civiles.





La aplicación usa la librería diseñada para calcular los festivos de Colombia disponible en GitHub ColombiaCalendar.

Update: Ahora disponible en Google Play Store Calendario con Festivos colombianos.

URL de descarga del app para Android : https://googledrive.com/host/0B1UuN47iU4Usa3NCVW5Hd2hndzA/CHC-20160124112410.apk

No disponible en Google Play Store.

Para instalar el App, debe permitir instalaciones de origen de desconocido (Ajustes -> Seguridad, en la sección de Administración del dispositivo, habilitar la opción de Orígenes Desconocidos), solo se puede usar en Android  5 - Lollipop o superior.


Uso:

Al mover el calendario arriba-abajo o abajo-arriba cambia de mes, al seleccionar un festivo, en la parte inferior indica el nombre.


Notas y referencias