iMest es un software desarrollado bajo la plataforma LAMPG - Linux Apache MySQL PHP y Gnokii.
Este software permite usar Gnokii como interfaz para envío de sms y así poder enviar multiples mensajes SMS personalizados desde una página web a múltiples categorías de contactos.
Características del software.
Envío de mensajes SMS múltiples por tipo de contacto.
Envío de mensajes SMS a múltiples categorías de contacto.
Envío de mensaje SMS personal.
Captura de categorías de contactos.
Captura de contactos.
Asignación de contactos a múltiples categorías.
Programación de fecha de envío de mensajes SMS.
Uso de múltiples teléfonos móviles para envío de SMS.
Importación de contactos.
Captura, edición, listado, búsqueda y eliminación de contactos.
Captura, edición, listado, búsqueda y eliminación de categorías.
Captura, edición, listado, búsqueda y eliminación de mensajes.
Registro de mensajes enviados y no enviados.
Reenvío de mensajes.
Personalización de mensajes múltiples enviados en base a palabras clave.
Detección automática de teléfonos conectados por usb desde configuración del sistema.
#INSTALACION DE OAXROM WEB SMS EN UBUNTU LINUX #actualizamos el repositorio de Ubuntu sudoapt-get update #instalamos las dependencias del software sudoapt-getinstall--yes apache2 sudoapt-getinstall--yes php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db #al instalar el servidor de Base de Datos pedirá una contraseña, introducir "ubuntu" sin comillas o alguna otro password para acceso al servidor que se usará más adelante sudoapt-getinstall--yes mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev sudoapt-getinstall--yes libgnokii3 libgnokii3-dev gnokii gnokii-common gnokii-cli gnokii-smsd gnokii-smsd-mysql sudoapt-getinstall--yesunzip #entramos al directorio web cd/var/www #obtenemos el software desde internet
Ir al sitio del proyecto en https://sourceforge.net/projects/binnizawebsms/ y obtener la última versión disponible de OaxRom WebSMS #descomprimimos el archivo sudounzip sms.zip #accedemos al directorio cd sms #creamos la base de datos para el WebSMS
mysql -u root -p #password: es el que se introdujo cuándo se instaló mysql en este caso:ubuntu #Asignar password
create database NOMBREBASEDEDATOS;
grant all privileges on NOMBREBASEDEDATOS.* to USUARIO@localhost identified by "SUPERSECRETO";
flush privileges; exit
mysql -u USUARIO -pSUPERSECRETO NOMBREBASEDEDATOS < imest.sql #configurar en el siguiente archivo los parámetros de nombre de base de datos, usuario y password sudo editor includes/config.php #creamos el archivo dónde recibiremos los archivos csv de contacto que importemos mkdir csv #copiamos el directorio cron que contiene un script para monitorear constantemente los envíos de SMS programados sudocp-rf cron csv #buscamos el usuario del servidor web apache ps aux | grep apache #esto podría regresarnos "www-data" en la primera línea sin las comillas, ese valor lo usaríamos a continuación #www-data 8284 0.0 0.4 28404 4388 ? S 14:46 0:00 /usr/sbin/apache2 -k start #asignamos el usuario y grupo del usuario del servidor web a la carpeta creada para que tenga permisos de escritura la aplicación WebSMS sudochown-R www-data:ww-data csv #ponemos al usuario web apache dentro del grupo de usuarios que tienen permiso de usar los puertos módem, esto para enviar sms por los usb de los teléfonos sudo editor /etc/group #buscamos dónde diga dialout y agregar ",www-data" sin las comillas, en este caso dice phylevn pero el valor cambia al usuario del sistema
dialout:x:20<img src="plugins/Emoticons/images/tongue.png"border="0"alt="tongue.png "width="16"height="16"/>hylevn #por
dialout:x:20<img src="plugins/Emoticons/images/tongue.png"border="0"alt="tongue.png "width="16"height="16"/>hylevn,www-data #guardamos, para el caso del editor nano presionando CTRL+O,ENTER para aceptar y luego presionamos CTRL+X para salir. #modificamos la configuración de PHP sudo editor /etc/php5/apache2/php.ini #buscamos los siguientes valores en el archivo y le ponemos los valores aquí mencionados, para buscar en el editor presionar Ctrl +W y teclear default_charset para ir a donde estuviera la linea buscada, igual para las siguientes opciones
default_charset = "utf8"
magic_quotes_gpc = off
upload_max_filesize = 32M
max_execution_time = 900
max_input_time = 900
memory_limit = 128M #ya que se editen estos valores, presionar CTRL+O y ENTER para guardar, luego CTRL+X para salir.
#reiniciamos el servidor web sudo/etc/init.d/apache2 restart
*************
Probando el software de envío de SMS
*************
Abrimos un navegador web a la dirección IP de la máquina dónde se instaló el software de envío de SMS
#por ejemplo si el servidor está sobre la misma máquina que se está usando:
http://localhost/sms/
#Si estuviera en alguna otra máquina
http://DIRECION_IP_DEL_SERVIDOR/sms
#Pedirá un login y password, por default es :
login:admin
password:admin
Para probar el envío de SMS:
Conectar un teléfono por USB, los Nokia funcionan bien.
Cuándo se conecta el teléfono en Linux lo detecta como un puerto TTYACM0
Esto se puede verificar tecleando el comando "dmesg" y podría darnos algo como lo siguiente
[28833.199893] cdc_acm 4-1:1.1: ttyACM0: USB ACM device
Para que el sistema detecte el puerto conectado ir a configuración y seleccionar detectar puerto, si lo lista entonces todo va bien, de lo contrario reintentar
Al momento de detectar el puerto por default crea un archivo de configuración en el directorio csv
Si detectó el puerto ahora se puede enviar el mensaje sms, para esto ir a
Mensajes SMS -> Solo un Mensaje
El introducir un número de celular,
un texto,
seleccionar el archivo de configuración por dónde se desea enviar el SMS, en este caso solo está el que se creó anteriormente,
introduzca las letras para validación y presione enviar.
El sistema enviaría en automático el mensaje SMS al número introducido, verificar que haya llegado correctamente
*************
INFORMACION ADICIONAL
*************
Si por alguna razón no envía los sms, puede ser que linux no le esté permitiendo al usuario apache usar gnokii, para esto editar el archivo<br> sudo editor /etc/sudoers<br>
y agregar
www-data ALL=NOPASSWD: gnokii
esto para que al usar sudo gnokii linux se salte el password y le deje ejecutar el software
*************
GNOKII
*************
#archivo de configuración de gnokii #El sistema permite leer diversos archivos de configuración de Gnokii de tal forma que es posible usar diversos móviles para enviar SMS desde la aplicación web. #Cada teléfono es detectado como un puerto serial por Linux, por ejemplo si se detecta el siguiente puerto /dev/ttyACMO el archivo configurado csv/gnokiiNokia3500 contendría lo siguiente: [global]
port = /dev/ttyACM0
model = AT
connection = serial debug=on #Y asi sucesivamente se pueden configurar diversos teléfonos, el sistema en base al archivo de configuración detectará las configuraciones y las usará para enviar SMS.
*************
Programación para fecha de envío de mensajes.
*************
csv/cron.sh #Archivo que se pondrá en cron para que cada hora se ejecute y verifique si ya se ejecutó cron.php, si no se ha ejecutado lo ejecuta. #Aquí hay que editar el directorio dónde se instaló cron.php
csv/cron.php #Archivo que consulta la base de datos y verifica que mensajes tienen fecha anterior a la actual y que no han sido enviados para poder empezar a enviarlos usando gnokii #En este archivo hay que configurar la ruta del archivo init.php y sms.php #Es importante que el directorio de cron se encuentren fuera del directorio web. #Para que el sistema verifique los mensajes a enviar periodicamente editar el siguiente archivo : sudo editor /etc/crontab #Y agregar al final la siguiente línea
0 **** root php -q/var/www/sms/csv/cron.php #presionar CTRL+O luego ENTER para guardar #reiniciamos el servicio de programador de tareas sudo/etc/init.d/cron restart #con esto el sistema monitoreará cada hora los mensajes SMS por enviar
*************
Configuración de APACHE para enviar SMS desde página web.
*************
find/etc/apache2/-type f| xargsgrep"User " #Posiblemente nos regrese www-data. #Este usuario hay que ponerlo dentro del grupo de dialout $sudo editor /etc/group #agregar al grupo dialout el usuario www-data.
dialout:x:20:gsmsms,www-data #reiniciar apache sudo/etc/init.d/apache restart
*************
Modificando la configuracion
*************
sudo editor includes/config.php
$sqlDb="imest"; $sqlUser="imest"; $sqlPassword="imest"; $sqlServer="localhost"; $appID="jUi109-HJikL"; $appKey="7Uy-L09P;=lIkH";#permite usar el sistema para enviar SMS desde otras aplicaciones con C# mediante metodos POST como por ejemplo la librería webstream ó curl. define('CSV_PATH','/var/www/sms/csv/'); #Directorio dónde se almacenarán los registros CSV importados para importar contactos. $dir_fuentes="/var/www/sms/includes/fonts/"; # si se instaló en otra parte el servidor reeeditar la ruta correspondiente en esta parte define('CONFIG_PATH','/var/www/sms/csv/'); #Directorio dónde se encuentran los archivos de configuración de los dispositivos de gnokii. define('CONFIG_FILE','gnokii'); #archivos de configuración de gnokii que contengan en el nombre de archivo la cadena configurada. por ejemplo /csv/gnokiiNokia3500, /etc/gnokii6130, etc.
En internet existen muchas alternativas comerciales de Text to Speech(Texto a Voz) las cuáles son muy útiles para desarrollar aplicaciones dinámicas telefónicas texto a voz con Asterisk, pero a veces solo queremos un texto estático para ponerlo en alguna grabación, esto podríamos hacerlo fácilmente con festival usando el comando siguiente
echo"texto a voz" | text2wave -o audio.wav
El detalle que la voz sale muy robotizada asi que para ciertos casos no es muy conveniente. Buscando en internet encontré el sitio http://www2.research.att.com/~ttsweb/tts/demo.php
El cuál permite generar textos estáticos, de tal forma que podemos obtener nuestros audio textos y de ahí usar algún editor de audios como Audacity para poder convertirlo a un formato adecuado.
Hace algunos 6 años trabajé para una compañía que distribuye equipo de Symbol Motorola, recuerdo que en ese tiempo la gente de ventas hacia las cotizaciones a mano a veces en una hoja de excel otras en word, por lo que se me ocurrió desarrollarles un sistema de cotizaciones de tal forma que los clientes podían entrar al sitio web, validarse y desde ahí elegir los productos que requerían cotizar.
En ese tiempo me surgió el detalle de saber de como generar PDFs al vuelo de las cotizaciones generadas por los clientes, ya que los clientes al seleccionar sus productos y presionar el botón de cotizar, el sistema lo que hacía era enviarles una liga a su correo desde dónde podían bajar el PDF directamente.
Para esto eché mano de htmldoc el cuál es un software que permite generar PDF de archivos HTML, al igual convertir PS a PDF y viceversa.
Lo que hice básicamente fué pasarle la url a htmldoc del script php con los parámetros para generar la cotización, de tal forma que htmldoc leía el archivo html generado por PHP y lo convertía a PDF, y solo modificaba los encabezados para que el usuario obtuviera un archivo a guardar.
Lo primero fué poner en un script php el encabezado que debería mandar, que indicara que es un archivo PDF y que lo mandaría como cotización-seguido del número de cotización correspondiente, y que lo enviara como archivo adjunto para que el navegador pidiera que se guardara en un archivo o se mostrará, tal como cuándo le picas a un archivo para descargar.
Abajo del script mandaba una llamada al sistema que solicitaba ejecutar htmldoc con los parámetros adecuados, tal como se muestra en el siguiente código:
--headfootsize 8: tamaño del encabezado y pie de página
--footer '/D' : indica que pondrá la fecha en el pié de página
--jpeg '90' : comprensión de las imágenes
--links : activación de links
--logoimage '".DIR_IMAGES."pdf.png': colocará el logo en la parte superior de la página
--linkcolor '#0000FF' : color de las ligas
--size 'a4' : tamaño del documento
--fontsize 10: tamaño de letra del documento
--charset 8859-15 : conjunto de caracteres a usar
--webpage liga del documento html a convertir a formato PDF
Con esto lo que hacía es que primero el script php generaba la cotización en base a lo requerido por el cliente, htmldoc convertía el documento a pdf y el encabezado que se mandaba al navegador indicaba que ese archivo generado se descargara o se mostrara en el navegador.
Hace unos días en Oaxaca me fui a caminar con mi hermana de la casa de mis padres hasta MonteAlban, salimos como a eso de las 5:40 de la mañana y a las 7:00 am ya estábamos al otro lado en MonteAlban, ahí nos entretuvimos tomando fotos, videos y ya como a las 8.30 estábamos en el legendario y épico Monte Alban.
Al estar parado desde una de las piramides me llamó la atención que desde ahí se escuchaba todo lo que platicaban en toda la explanada de abajo, un efecto acústico interesante.
Al observar esa explanada quise tomarle una foto pero mi cámara no alcanzaba a capturar todo el panorama que desde ahí observaba, por lo que tome pequeñas partes del explanada, cómo las fotos las tomé horizontalmente me ocupó solo 4 fotos capturar un ángulo de 180 grados de la vista del lugar.
Al llegar a la casa quise armar las 4 partes, para esto use The Gimp el cuál es un excelente software para edición de fotos y el cuál es software libre. Al principio quise hacer la edición manualmente abriendo las 4 fotos e irlas alineando horizontalmente de izquierda a derecha, esto fué un poco tedioso, ya que había que ir incrementando el tamaño de la imagen horizontal, luego agregar las capas, pegar las imágenes, alinearlas vaya todo un show, por lo que cerré Gimp y busqué en internet un tutorial de como hacer fotos panorámicas con The Gimp.
Entre búsqueda y búsqueda encontré un script existente para The Gimp llamado Pandora. Este script te facilita todo el proceso de generación de las capas, dejándote unicamente la parte de la alineación de las imágenes.
Para poder usar el script Pandora, primero se requiere descargarlo de la siguiente URL:
En seguida sobre esa misma foto seleccionar "Abrir como capas" y seleccionar desde la primer foto hasta la última foto vista de izquierda a derecha.
En la ventana de capas, ordenar de arriba-abajo las fotos que van de derecha a izquierda.
En seguida borrar la capa que dice fondo o backgound.
Posteriormente seleccionar la primera capa y presionar el botón derecho del mouse, y seleccionar del menú :
Filtros->Combinar->Arrange to Panorama.
En seguida aparecerá un cuadro de dialogo con el título de ventana: Script Fu: Arrange to Panorama
En esa ventana ajustar en porcentaje el porcentaje de traslape que hay entre foto y foto, esto es muy importante, si tu traslape entre foto y foto es de como el 5-10% ponle 10%, si le pones 50% tendras resultados poco deseados.
Presionar Aceptar, con esto el script de pandora comenzará a crear las capas para generar la foto panorámica.
Al finalizar veras en la parte de capas, como el script creo una imagen con las fotos puestas horizontalmente.
Ahora para ajustar las fotos ve al principio de la imagen de abajo-arriba(vista izquierda a derecha).
En las capas presiona el botón del ojo y dejala solo en las 2 primeras capas.
Selecciona la segunda capa de abajo para arriba, al seleccionarla selecciona el botón de mover en la caja de herramientas de The Gimp y mueve la segunda capa para ajustarla a la primera capa hasta quedar correctamente alineadas.
Ya que haya quedado alineada la segunda capa con la primer capa, ahora presionar el botón que está despues del ojo para bloquear la edición de las capas.
En seguida activa la tercera capa presionando sobre el botón del ojo y repite el proceso anterior.
Y asi sucesivamente ir alineando todas las fotos capa por capa.
Al finalizar en la ventana de capas presionar el botón derecho del mouse y seleccionar Aplanar Imagen para conjuntar en una sola capa todas las capas.
Ahora solo falta recortar la foto en las partes que hayan quedado arriba o abajo, para eso presiona de la caja de herramientas el botón de cortar y pon la imagen en un 25% para verla completamente.
Con esto rápidamente ya deberías tener generada tu foto panorámica con The GiMP.
Tip Adicional
Para hacer HDRs generalmente uso el formato RAW y de ahí paso 3 fotos a QTPFSGUI, en este caso lo quise intentar usando la foto panorámica generada con The Gimp, para esto despues de tener la foto panorámica solo cree 3 imágenes a partir de esta, la primera semi obscura, la segunda deje la msma generada, y la tercera le aumenté la intensidad de luz, y cada una la guarde agregándole al nombre 1,2,3.
Para poder generar la foto con 3 diversos niveles de luz, en la foto presionar el botón derecho y seleccionar colores->niveles y ahí ir moviéndole a los 3 primeros triangúlos de la primer barra de intensidad, cada que se genere una imagen con un nivel de luz diferente guardar la imagen y generar otra con diferente nivel hasta completar por lo menos 3(clara, media, obscura).
Despues de tener las 3 fotos con diferentes niveles de luz, use QTPFSGUI para generar un "HDR" a partir de las 3 fotos y el resultado aunque un poco sucio fué el siguiente:
Hace unos días por error borré los binarios de una aplicación que me permitía generar licencias para un sistema de toma de inventario para terminales portátiles que se desarrolló, pero por un error de selección borré el instalador y la aplicación. Por lo cuál me salió una urgencia de generar unas licencias ante la petición de más licencias por parte de un cliente, por lo que necesitaba compilar el código del generador de licencias para poder ejecutar el generador, el detalle fué que no tenía instalado Visual Studio .Net en la máquina, pero como dicen en mi pueblo "a falta de pan tortilla" por lo que entré a la página de MonoDevelop a buscar la versión de Mono lidereada por el compatriota mexicano Miguel de Icaza.
Mono es un software open source que es como un .Net multiplataforma (Windows, Linux, MacOSX, Solaris, etc, etc.). Prácticamente incluye casi todas las características de .Net y la ventaja que tiene es que se puede desarrollar en diversos lenguajes(C#, Java, PHP, Python, Perl, Visual Basic, etc).
Lo lindo de Mono es que me permitió compilar mi código de generador de licencias permitiéndome tener el ejecutable sin mover nada al código fuente, de tal forma que despues de decargar Mono, instalarlo y compilar mi código en unos minutos tenía el ejecutable de mi generador de licencias y así poder darle a mi cliente las licencias para la aplicación de toma de inventarios para sus equipos terminales portátiles PPT8800 e Intermec CK31.
Hace unos días había posteado sobre como crear tus propios LiveCDs personalizados en base a tu instalación de Linux, el detalle que me salió en esa ocasión es que a veces puedes llegar a generar un ISO de más de 700 MB que es la capacidad de un CD Grabable, por lo que para quemar la imagen del ISO necesitarías un DVD.
El problema es que en Windows Nero a veces no lo quema a DVD, si no el ISO lo quiere pasar a fuerza a un CD, por lo que si seleccionas grabar una imagen de DVD y seleccionas el ISO simplemente no te deja.
Por lo que una solución Open Source de excelente calidad es InfraRecorder con el cuál prácticamente puedes sustituir a Nero Burnig para quemar tus discos sobre Windows.
Con InfraRecorder solo seleccione el ISO, metí el DVD, seleccione la unidad grabadora y en unos minutos ya tenía la imagen del ISO volcado en el CD, con lo cuál ya podía reiniciar el sistema usando el LiveCD generado.
Lleva los productos de tu negocio a internet con este nuevo software para implementación de un portal de comercio electrónico, sin inversión en licencias de software más que el soporte y costo de un servidor en internet.
Entre las características del software Magento cumple con las cualidades necesarias para un sistema de comercio electrónico profesional y serio, tales como:
Manejo de productos
Manejo de múltiples precios por producto
Categoría de productos
Control de clientes y proveedores
Conexión con sistemas de pago electrónico
Manejo de pedidos y envíos
Control de usuarios
Control de Accesos
Ofertas y Descuentos
Reporte de ventas, ofertas, clientes, ingresos, etc.
Comparación de productos
Revisión de precios.
Multilenguaje
Conexión con Google Maps
Compatiblidad con navegadores HTML
Soporte para dispositivos móviles con iPhone
Múltiples envíos por orden.
Facturación
WebService para integración son sistemas de terceros(SAP, Microsoft Dynamics, ).
Entre otras múltiples características que pueden observarse en la siguiente URL: http://www.magentocommerce.com/product/features
Pero una de las que llama más la atención es el soporte de multi tiendas y sobre todo la integración del control de accesos, ya que permite asignar una tienda a un usuario en específico así como también a ciertas acciones, lo que permitiría integrar servicios de tienda online a diversas empresas bajo una misma plataforma y servidor tal como actualmente ofrece Mercado Libre.
El detalle con Magento es que hay una versión Community y una versión Enterprise, como siempre la versión community es Open Source pero no tiene todas las características que trae la versión Enterprise, esto es obvio ya que como software Open Source debe tener un valor agregado en su versión enterprise para que pueda ser negocio mantener el software e ir desarrollándolo, aparte la versión Community no incluye soporte por parte de Magento.
Para saber más de este software puede accederse a la siguiente URL: http://www.magento.com
O puedes acceder a youtube y ver el video de la presentación del software(en ingles). http://www.youtube.com/watch?v=hZod3JocAZs
Hace unos días leí que Microsoft había violado la GPL, pues tomó el código de una aplicación para generar ISOs de su nuevo sistema Windows 7 , la cuál el código es libre bajo la licencia GPLv2, y Microsoft lo que hizo fué tomar el código, crear una nueva aplicación cerrar el código y venderlo.
Pero no contaba que un internauta desensamblaría su nueva aplicación y encontrara similitud entre él código de la aplicación libre y la "nueva" aplicación de Microsoft.
Por ello estuve buscando una aplicación que desensamblara las aplicaciones .Net solo para probar ya que también desarrollo en .Net, pero en este caso estuve buscando una que funcionara en Linux, ya que eso de entrar a Windows me da flojera, por lo que buscando en los repositorios de Ubuntu me encontré con DotGnu y pnet-dev, por lo que solo hice un sudo apt-get install pnet pnet-dev pnet-ctools pnet-assemblies
Y con eso ya tenía instalado el desensamblador para .Net.
Por lo que solo bastó ejecutar
ildasm MiAplicacionEnPuntoNet.Exe
Hace unos días un amigo me envío un correo pidiéndome que le indicara como ejecutar un script que estuviera checando constantemente si un proceso esta ejecutándose y si no que el script lo ejecutara.
Para esto le envíe el siguiente ejemplo y lo posteo por aquí por si alguien le fuera de utilidad..
#ejecutamos este comando para crear un directorio# sudomkdir/scripts #editamos el script# sudo editor /scripts/script.sh #***colocar lo siguiente dentro del script**# #/bin/bash if[[!`pidof-s nombre_del_proceso`]]; then sudo/ruta_del_proceso/nombre_del_proceso fi #****Hasta aqui***# #ejecutar este comando para asignar permisos de ejecución chmod +x /scripts/script.sh #Por ejemplo que el script anterior lo guardáramos en /scripts/script.sh
Para que este script se ejecute y verifique cada x tiempo si asterisk esta arriba hay que ponerlo en el archivo de /etc/crontab #ejecutar sudo editor /etc/crontab #agregar al final del archivo lo siguiente
# m h dom mon dow user command 1/10**** root /scripts/script.sh #***hasta aqui*******
#lo anterior indica que el escript se ejecutará cada 10 minutos todas las horas y todos los días del mes, el usuario que lo ejecutará es root y el ecript está en /script/script.sh #despues guardar los cambios en /etc/crontab y luego reiniciar ejecutando sudo/etc/init.d/cron restart
Comentarios Recientes