Navegación
Inicio de sesión
Tweets
Videos
QPort 1.5
El proyecto QPort, es un widget (control) para QT4.
Con él es posible comunicarse con el puerto serie de la PC, casi sin la necesidad de escribir una línea. El mismo cuenta con funciones para enviar datos por el puerto serie, cambiarlos de formato y recibir los que llegan al puerto en el formato que preferiremos.
QT según wikipedia:
"Qt es una biblioteca multiplataforma para desarrollar interfaces gráficas de usuario y también para el desarrollo de programas sin interfaz gráfica como herramientas de la consola y servidores. Qt es utilizada principalmente en KDE, Google Earth, Skype, Qt Extended, Adobe Photoshop Album, VirtualBox y Opie. Es producido por la división de software Qt de Nokia, que entró en vigor después de la adquisición por parte de Nokia de la empresa noruega Trolltech, el productor original de Qt, el 17 de junio de 2008.
Licencia LGPL v2.1 (desde Qt 4.5) GPL 2/3 Q Public License Propietaria"
Más información sobre QT en su web www.qtsoftware.com desde donde se pueden bajar las bibliotecas gratis.
Problemas solucionados de esta versión:
* Arregle el error que tenia de conversión de datos.
* Se soluciono el error de datos recibidos.
* Corregí los errores que tenia el manual.
* Re localice los archivos de cabeceras para que estén más prolijos.
Espero lo puedan instalar sin problemas.
Videos
Videos de Ejemplos
http://www.sebest.com.ar/?q=node/77
- Inicie sesión para enviar comentarios





Problema con Qt Creator
Jorge_ELO — Mar, 05/29/2012 - 21:13Busque la carpeta donde me dijiste y copie el archivo .so, cuando volvi a abrir el Qt Creator me apareció en el lado de los widgedts el QPort, el problema es que nose como enlazar la librería dinamica en el Qt Creator, veo que el ejemplo lo haces con QDevelop. Gracias por la ayuda
Jorge
Seguí el manual, tenes que
sebest — Mar, 05/29/2012 - 21:21Seguí el manual, tenes que copiar los headers también.
Se enlaza como cualquier librería. Fijate en la opciones del proyecto, no tiene nada de raro.
Nos vemos
Problema al instalar qport
Jorge_ELO — Lun, 05/28/2012 - 14:59Hola soy nuevo en Linux, estuve mirando el primer video y todo bien hasta que copias qport.so en /usr/lib/qt4/plugins/designer ya que dentro de la carpeta qt4 no tengo ninguna carpeta llamada plugins. Cual puede ser el problema? Desde ya muchas gracias
Jorge
Eso es debido a la versión y
sebest — Lun, 05/28/2012 - 15:49Eso es debido a la versión y distribución de linux que tenes instalado en tu pc. En la ultima versión de ubuntu modificaron la ubicación de esa carpeta. Y esta ahora según si te 64 o 32 bits en:
/usr/lib/x86_64-linux-gnu/qt4/plugins/designer
/usr/lib/i386-linux-gnu/qt4/plugins/designer
lo que podes hacer para estar seguro sino es abrir una consola y escribir
cd /
sudo find -name 'designer' | grep plugins/
y te va a salir todos los lugares donde tenes esa carpeta.
Recordá que tenes que recompilar la librería y para que no te de error, tenes que dezipear el archivo que bajar y despues borrar todos los ".o" y despues podes compilar sin problemas.
Además tenes que tener instalado QT4 y los build-essentials.
Nos vemos, suerte.
Tengo problemas para compilar Qport
leoA — Vie, 10/14/2011 - 20:33Hola, yo de nuevo ja, disculpa la falta de info del mensaje anterior. Yo estoy usando ubuntu 10.04 LTS, instale todo lo referido a paquetes para realizar la compilacion. El ide que utilizo es el QtCreator, el cual baje hace muy poco. Paso a explicar un poco mas:
Cuando descargo y extraigo el paquete, me aparecen los siguientes elementos:
debug ManageSerialPort.h qextserialport.cpp
images plugin.cpp qextserialport.h
LEER plugin.h release
libqport.so plugin.pro ttyplugin.qrc
LICENCIA.txt posix_qextserialport.cpp ui
Makefile posix_qextserialport.h win_qextserialport.cpp
Makefile.Debug qextserialbase.cpp win_qextserialport.h
ManageSerialPort.cpp qextserialbase.h
Siguiendo los pasos del video que explicas, despues de hacer el make, me sale el siguiente error:
/usr/bin/uic-qt4 ui/qport.ui -o ui_qport.h
make: /usr/bin/uic-qt4: No se encontró el programa
make: *** [ui_qport.h] Error 127.
Ese es el problema del que te comentaba anteriormente. No se si debo descargar otra cosa o hago algo mal.
Vuelvo a repetir, disculpa las molestias y espero me puedas ayudar.
Si miras en el video vas a
sebest — Sáb, 10/15/2011 - 00:00Si miras en el video vas a ver que primiero tenes que hacer "make clean", para borrar los objetos. Trata de mirar el primer video con un poco más de detenimiento.
Además parece que tenes mal instalado QT4 o te falta algo
"/usr/bin/uic-qt4: No se encontró el programa"
Revisa eso
Nos vemos.
problemas compilacion plugin en ubuntu
leoA — Vie, 10/14/2011 - 12:58Hola Sebastian, actualmente estoy desarrollando un proyecto para la facultad y Qport me pareció mas que interesante, pero tengo problemas para compilar el plugin. Resulta que sigo todos los pasos, pero en el terminal aparece el error 127, diciéndome que falta ui_qport.h. Existira alguna forma de solucionarlo? Desde ya muchas gracias y disculpen las molestias
Más info necesito
sebest — Vie, 10/14/2011 - 15:50Ya viste todos los videos?, en el primer video se muestra como se compila QPort. Además está el manual que explica como compilar.
Si especificas un poco mejor te voy a poder ayudar. Necesitaría que me digas que sistema operativo usas, que complidor de C++ y que versión de librería de QT tenes (y si usas algún IDE). Además podrías copiar todo lo que te devuelve como error el compilador.
En la sección foro hay otro tópico sobre este tema por si queres leer las consultas de otros usuarios.
problemas Nombre de puerto!!
Nay VG — Lun, 05/23/2011 - 13:59Buenas tardes!!
De ante mano muchas gracias por esta doc. la veo demasiado útil!!!
He instalado QPort y parece que funciona bien pero tengo un pequeño problema con el nombre del puerto a abrir, estoy usando un cable USB-SERIE y leyendo el manual me encontré con que tengo que especificar el puerto que quiero utilizar con el nombre de /dev/ttyUSBX pero al ejecutar el programa no abre el puerto, siempre me marca que esta cerrado, lo que verifico con el método isopen(), quisiera saber cual es la diferencia en usar como nombre /dev/ttySX y conectar un cable USB-SERIE es que he buscado y no encuentro algo que me pueda ayudar!
De ante mano agradezco
/dev/ttyUSBX corresponde solo
sebest — Lun, 05/23/2011 - 14:40/dev/ttyUSBX corresponde solo para sistemas operativos linux. La X la tenes que reemplazar por un valor numérico correspondiente a la enumeración del puerto en el sistema operativo. Podes ver que valor tiene desde una consola, mediante el comando
ls /dev/ttyUSB*
Te va a listar todos los dispositivos series USB que tengas conectado en la PC, lo más probable es que si solo tenes un puerto usb-serie conectado reciba el numero "0" entonces te quedaría /dev/ttyUSB0
En los sistemas operativos linux los puertos usb-serie reciben el nombre ttyUSBx y los puertos series nativos ttySx donde la x corresponde a un numero generalmente consecutivos para diferencias un puerto de otro.
Nos vemos.
Muchas gracias por responder, otra duda!!!
Nay VG — Jue, 05/26/2011 - 02:45Hola.
Muchas gracias por responder, en verdad que me aclaraste mi duda!!! ;) He podido hacer que funcione tal cual yo esperaba, muy buena aportación.
Una pregunta mas, al compilar un proyecto y querer abrir el puerto del /dev/ttyUSB0 tengo que hacer alguna otra configuración?! es que me percaté de que al haber hecho una configuración con minicom es como me deja abrir el puerto, de lo contrario mi programa se queda trabado (pero solo con los dispositivos del tipo /dev/ttyUSBx, porque con los puertos serie nativos al parecer funciona bien!!!).
De nuevo muchas gracias!!! Excelente trabajo :)
Saludos
Dentro de la configuraciones
sebest — Jue, 05/26/2011 - 11:28Dentro de la configuraciones gráficas de qport podes seleccionar la velocidad de transferencia y todos los parámetros que uses, eso es muy importante porque solo se pueden comunicar dos dispositivos si transmiten y reciben a la misma velocidad.
Después simplemente tenes que poner qport->open(true) y ya te abre el puerto, no hay que hacer más nada. Yo no me encontre con ningún problema a la hora de usar un puerto nativo o un usb-serie.
Nos vemos
problemas con mingw
guille36 — Jue, 08/26/2010 - 16:14Hola Sebastian, muy buen trabajo!!
Te cuento que lo hice andar con ubuntu sin problemas, pero en windows tengo un problema que no es del widget sino con las herramientas. Al parecer mingw no tiene un make convencional y al intentar compilar con el que viene me da un error de compilacion (como si hubiera un error de sintaxis en el makefile generado por qmake) tenes idea o te paso algo parecido? gracias.
Re: problemas con mingw
sebest — Jue, 08/26/2010 - 22:54Hola, gracias por tu comentario, yo uso mingw32 en windows como compilador, y nunca tuve problemas, el make se llama mingw32-make en windows.
Y te recomiendo que intentes borrando primero todos los objetos que tengas en el directorio.
Por otro lado el error te lo da cuando intentas compilar el plugin o cuando compilas una aplicación con el plugin?
Nos vemos, espero tengas suerte, descargate el manual también te va a servir de ayuda.
qport
nicolas8702 — Vie, 07/09/2010 - 23:33hola gracias por responder ya realize los pasos del manual oara instalar qport el problema es que qtcreator no me muestra el widget pero el qtdesigner si como hago para que elqt creator me lo reconozca dentro de sus widgets
No soy usuario de QTCreator,
sebest — Sáb, 07/10/2010 - 02:12No soy usuario de QTCreator, así que no tengo ni idea. No lo instalé, no lo uso y me resulta demasiado pesado, como para usarlo habitualmente.
Quizá algún otro usuario te pueda decir como hizo, se que algunos usuarios me comentaron que lo hicieron andar, pero no tengo idea de como hicieron.
Probá!!! o usa QDevelop que te lo recomiendo mucho.
qport
nicolas8702 — Mié, 07/07/2010 - 17:32Hola a todos estoy trabajando en mi trabajo de grado tengo que utilizar un aoftware libre y me recomendaron el qt creator para utilizar el puerto serial del pc y comunicarlo con un microcontrolador el problema es que no supe como utilizar el qport ni como instalarlo bien pues segui todos los pasos para instalarlo y no me funciono ni se ve el widget en el qt les agradecera una explicacion con plastilina por que no entiendo nada gracias
No hay problemas
sebest — Jue, 07/08/2010 - 09:49Probá seguir los pasos del manual, pero en vez de usar el IDE Qt Creator usá QDevelop que es un poco más simple.
Seguí todos los pasos y cualquier cosa que no te ande nos posteas el error y te ayudamos.
Nos vemos
El jueves me fijo, no recuerdo como lo deje en el trabajo
martinartaza — Mié, 06/30/2010 - 00:18Al laboratorio voy Martes y Jueves, y bueno el jueves te respondo, pero ya voy a tratar de llenarme de paciencia e instalar un windows aca.
Aquel que duda y no investiga no solo se vuelve infeliz sino también injusto.
Blass Pascal.
Compilar Qport Win 7
luislamb99 — Sáb, 06/26/2010 - 00:46Hola Sebastian, excelente trabajo..
Quiciera que por favor, si es posible, nos explicaras a los que poco sabemos, como compilar paso a paso Qport, pero en Win 7, he cargado el plugin.pro como proyecto en Qt creator para construirlo, pero me aparecen 74 errores de compilacion.
De antemano gracias.
Hola
sebest — Sáb, 06/26/2010 - 01:22No uso windows 7, ni tampoco QtCreator. Yo te recomiendo que borres todos los archivos de objetos ".o" y lo compiles desde la consola con qmake y despues make, debería poder compilarse exactamente igual que en cualquier windows desde xp en adelante.
Si persisten tus problemas podes o darle una leida al manual para ver si estas haciendo todo correctamente o sino postear los errores que te esta dando así podemos evaluar un poco mejor el problema.
Nos vemos, suerte!
Windows
telmocho — Jue, 04/29/2010 - 11:04Buenas,
tengo problemas para conseguir compilar un proyecto con QT y el QPort con Windows (Win7).
Entiendo que algo he instalado bien porque el programa de ejemplo ya compilado funciona correctamente.
No ocurre lo mismo cuando intento compilar el Ejemplo de aquí arriba (camarografo) ni tampoco creando un proyecto nuevo básico.
Parece que el problema es con la librería libqport.a, que copié en qt/lib.
Pongo la salida de la compilación con QTCreator:
Ejecutando los pasos para construir el proyecto camarografo...
Configuration intacta, saltando paso QMake.
Iniciando: C:/Qt/2010.02.1/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `F:/TelmoEsinor/Mis documentos/Pruebas Programación/camarografo SF'
c:/Qt/2010.02.1/qt/bin/qmake.exe -win32 -o Makefile camarografo.pro
mingw32-make: Leaving directory `F:/TelmoEsinor/Mis documentos/Pruebas Programación/camarografo SF'
mingw32-make: Entering directory `F:/TelmoEsinor/Mis documentos/Pruebas Programación/camarografo SF'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o bin/camarografo.exe compilar/dialogimpl.o compilar/main.o compilar/moc_dialogimpl.o -L'c:/Qt/2010.02.1/qt/lib' -lmingw32 -lqtmain -lqport -lQtSql4 -lQtGui4 -lQtCore4
mingw32-make: Leaving directory `F:/TelmoEsinor/Mis documentos/Pruebas Programación/camarografo SF'
c:/Qt/2010.02.1/qt/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x1c2): undefined reference to `_Unwind_Resume'
c:/Qt/2010.02.1/qt/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text$_ZN7QVectorIPcE7reallocEii[QVector::realloc(int, int)]+0x187): undefined reference to `_Unwind_Resume'
c:/Qt/2010.02.1/qt/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
mingw32-make: *** [bin/camarografo.exe] Error 1
Finalizado retornando 2.
Error durante la construcción del proyecto camarografo
Mientras se ejecutaba la etapa 'Make'
Gracias
sebest — Jue, 04/29/2010 - 11:24Gracias por comentar aca. Te comento 2 cosas, el binario del Camarografo funciona siempre en windows porque tiene la libreria en la misma carpeta que se ejecuta, en windows siempre busca primero en la libreria donde esta el ejecutable.
Si la probas borrar te vas a dar cuenta si tenes QPort bien instalado o no.
Con respecto a QTCreator, no se muy bien como se configura, no lo uso, aparentemente hay que configurar las librerias externas de alguna forma que desconosco, me paso con cualquier libreria que probé.
Por eso yo uso QDevelop que me funciona muy bien. Los ejemplos estan hechos con QDevelop, te recomiendo que uses ese IDE, es bastante mas simple, muy liviano y anda muy bien.
Te cuento por experiencia propia, con el mismo codigo fuente, en la misma PC, probé compilar con QTCreator y con QDevelop y en el QDevelop me compilo bien y en el QTCreator no me encontró la libreria.
Checkea que tengas bien instalado el plugin, y que desde el QDesigner puedas ver el plugin. Además tenes que tener copiados los headers.
Descargá el manual y fijate la parte de instalación en Windows
Probá y cualquier cosa avisa!
Conseguido
telmocho — Jue, 04/29/2010 - 11:30He probado con otro ejemplo que tienes en tu web, el que tiene un video muy bueno.
El problema parece que es en el archivo .pro del proyecto, según la ayuda hay que linkar la librería con
LIBS = -lqporty sin embargo como funciona es con
LIBS = qport.dllMuchas gracias, excelente trabajo, seguiré probando.
Funciono?
sebest — Jue, 04/29/2010 - 12:01De la forma qeu lo puse yo, funciona en multiplataforma. Deberia ser igual ponerlo como lo puse yo, que como lo pusiste vos en Windows
Voy a probar QTCreator de la forma que lo pusiste vos.Gracias por el dato.
Cualquier cosa que necesitas avisanos y si queres publicar algún proyecto en esta web tenes las puertas abiertas.
Nos vemos
Necesito ayuda hacerca de las señales de qextserialport
Draiden — Jue, 03/18/2010 - 22:34Hola..
Estoy desarrollando una aplicacion en sofware, con QT en el marco de mi tesis de grado, y estoy necesitando comunicar un pic con la PC a travez del puerto serial. Necesito que el PIC envie una serie de datos y que la PC lo lea, es decir necesito que la PC detecte cuando un dato llegue y a continuacion emita una respuesta. Estube viendo la clase qport que esta muy interesante y veo que deriva de QextSerialPort, en lo que necesito algo de ayuda es saber como crear la señal esa del qport que detecta cuando un dato llega al puerto serial. Usaron interrupciones??.. O es una señal que ya trae de por si el QestSerial??.. Te agradeceria si me podrias dar alguna orientacion al respecto, osea si es que es posible, si me recomienda alguna pagina, manual o algo..
Gracias de antemano.
Uso de QPort
sebest — Vie, 03/19/2010 - 10:05Hola, la diferencia que hay entre QextSerialPort, es que es más simple
de agregarlo a un proyecto y que ya trae algunas funciones más que no
trae QextSerialPort. Por ejemplo en QPort ya estan implementados los
eventos de cuando llega un dato que en Qext... no están.
Respecto a lo de las interrupcciones, es un "SIGNAL" de QT. No es una
interrupción por hardware (cosas asi no se pueden hacer con los
sistemas operativos actuales). La verdad es una función multihilo que
revisa cuando llega un dato y envia la señal.
Por mi experiencia usando QT, no logre hacer funcionar ningún widgets
que no sean lo que trae QT con el IDE QTCreator. Por eso yo uso un ide
muy basico que se llama QDevelop.
Explicame por favor en que sistema operativo lo queres implementar, si
pudiste complilar la libreria o que problemas tenes al usarla.
En esta página podes ver un par de ejemplos de uso de QPort, te podes
bajar los códigos fuentes y tratar de interpretarlos, o avisame y te
ayudo sin problemas. (www.sebest.com.ar). En el Ejemplo de cámaras PTZ
podes ver como se configura el proyecto para que funcione
multiplataforma y en el ejemplo del HackPort esta configurado para
funcionar solo en linux.
Una vez incluida la libreria, agregado el widgets "QPort" a tu
ventana, configurado los parametros del puerto. Tenes que abrir QPort
con algo como esto. Agrega un checkBox despues directamente desde el
formulario podes asociar la señal toggled(bool) con la señal de qport
open(bool). Y despues para leer la información que te llega al puerto
podes crear un conector por ejemplo asi:
connect(qport,SIGNAL(newData(QByteArray),this,SLOT(miFuncion(QByteArray)));
Crear "miFuncion(QByteArray miDato)" y en el parametro miDato tenes lo
que leyo el puerto en un QByteArray. Si queres por ejemplo crear una
cadena con la información en binario de "miDato" podes hacer algo como
qport->FormatData(miDato,'b'," ");
Probá cualquier cosa me avisas. Suerte.
Hola Sebastian, una preguntita respecto a QDevelop
martinartaza — Mar, 06/29/2010 - 18:35Te comento el Qport me funciona bien a mi en QtCreator en Linux Ubuntu 9.04, pero en Windows (aca donde estoy trabajando debo usarlo en este sistema operativo) no puedo hacerlo andar (no pobre mucho todabia, pero ya lei la ayuda y este hilo y estoy estancado), te queria preguntar si al QDevelop lo probaste en Windows Xp y si te da inconvenientes para hacerlo andar.
Desde ya muchas gracias.
Aquel que duda y no investiga no solo se vuelve infeliz sino también injusto.
Blass Pascal.
Hola
sebest — Mar, 06/29/2010 - 18:52Si, con QDevelop lo probé con windows xp y vista.
Tenes que definir el proyecto ".pro" algo asi:
TEMPLATE = app
win32 {
CONFIG -= debug debug_and_release console
LIBS = qport.dll
}
unix {
DEFINES += _TTY_POSIX_
LIBS = -lqport
}
QT = gui core
CONFIG += qt warn_on console debug
DESTDIR = bin
OBJECTS_DIR = compilar
MOC_DIR = compilar
UI_DIR = compilar
FORMS = TUS FORMULARIOS
HEADERS = TUS CABECERAS
SOURCES = TUS FUENTES
Lo tenes más o menos así? sino postia el error que te dá. Me parece que en windows tenes que tenes la libreria duplicada con nombre "libqport.dll" y "qport.dll", pero no me acuerdo bien.
Nos vemos cualquier cosa avisa!