Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Elvin: Estimado ando muy preocupado me compre el USRP2 y las tarjetas de GSM cuando me entere que no trabaja openbts con usrp2, help me :(  
  • Phylevn: Si claro, hay un software israelí que es gratuito no recuerdo como se llama, solo tienes que compilar asterisk-addons para que también guarde en el CDR el ID de la llamada para asi despues relacionarla con la grabación.  
  • Cesar: Que ta amigo... sobre la pregunta de ligar una extencion a una troncal o hice con customcontext en freepbx.
    solo tengo una duda, hay algun plugin para freepbx para poder monitorear las llamadas grabadas como en elastix?
    gracias.. y saludos  
  • Sergio: Hola!!
    Oie al parecer hay errores en las entradas sobre la Facturacion Electronica del SAT, hace unos dias lei los Post y hoy YA NO PUEDO ENTRAR, me marca que la pagina no se encontro.
    Gracias  
  • Conmutador IP: @Max: Para que tu Tel IP haga y reciba llamadas necesitas configurarlo, si tu teléfono usa el protocolo SIP entonces necesitas configurar usuario, password, dominio o proxy, outbound proxy en algunos casos y puerto que el default es 5060, estos datos te los da el proveedor IP con los que contrates el servicio como puede ser Alestra en México, o callcentric.com en estados unidos por ejemplo  
  • Max: hola tengo una duda, tengo un telefono IP pero nose si se requiere alguna configuracion para que trabaje con el modem de infinitum, es decir que tengo q hacer para que pueda hacer y recibir llamadas con el.
    espero puedas ayudarme  
  • Phylevn: Si lo puedes hacer, busca lo que son los contextos en asterisk.  
  • Cesar: Que tal, si me funciono, solo que curiosamente con no-ip o ddns solo fuinciona cuando son isp diferentes, aquí en Nayarit, Telmex y Megacable, si lo hago solo con Megacable debo poner la ip de la der de Megacable, 10.163.x.x no tengo idea por que solo así funciono... Otra duda, en asterisk se puede hacer que por ejemplo la extensión 500 solo use la troncal 1 y todas las demás extensiones utilizen otra troncal? Esto sin teniendo el mismo plan de marcado en ambas troncales, es decir, poder hacer que una troncal y una extensión estén vinculadas para hacer llamadas.  
  • Angel Reyes: Hey Filein,
    Quiero conversar contigo sobre una oportunidad de negocio. ¿me pasas tu email?
    Saludos.  
  • Comutador IP: @Cesar: Si es posible, solo requieres poner el puerto SIP de tu Conmutador IP Asterisk en una IP Pública, puedes usar DynDNS para este caso junto con DDClient y ya solo el SPA lo apuntas a la IP Pública de tu conmutador IP Asterisk siguiendo los mismos pasos de configuración de siempre. Eso es todo.  

Escribe el código Captcha que estás viendo

Printing with Zebra Technologies RW-420 Printer and Symbol Motorola MC70 Mobile Terminal using Bluetooth connections..

Today I was programming an application using the Compact Framework 2.0 with Visual Studio .Net 2005. I needed to print using the bluetooth connection between a Symbol MC70 Terminal and a Zebra RW-420 Printer and searching libraries in System.IO.Serial I can't found nothing interesting, then I remember that OpenNetCF released a Serial Library as Open Source, without think more I went to the OpenNetCF Site to get the Source Code of the library and build with VS .Net 2005 to obtain the dlls and add the reference to my project.
The URL of the Serial Library is :
http://www.opennetcf.com/FreeSoftware/OpenNETCFIOSerial/tabid/252/Default.aspx
Then using the library I make a light class to print CPCL Code in Zebra RW 420.
The Bluetooth connection between the RW420 and MC70 was successfully, Creating a Serial Com Port in ther mobile terminal with Windows Mobile 2005. Only I need Label Vista for Zebra to configure the properties of serial port of the mobile printer.
If anyboy have any problem using RW420 printer, I put the code of my class, only you will need add the class in a namespace:
    class Zebra
    {
        OpenNETCF.IO.Serial.Port Serial;
        string status;
         string status_error;
        string receive_data;
        public Zebra() {
            status = "";
            status_error = "";
             receive_data = "";
        }
               
                public Boolean OpenPort(string portName)
                {
            StatusClean();
            OpenNETCF.IO.Serial.HandshakeNone portSettings = new OpenNETCF.IO.Serial.HandshakeNone();
                        Serial = new OpenNETCF.IO.Serial.Port(portName, portSettings);
                        Serial.DataReceived += new OpenNETCF.IO.Serial.Port.CommEvent(dataReceived);
                        Serial.RThreshold = 1;
                        Serial.InputLen = 30;
                        Serial.SThreshold = 1;
                        Serial.Settings.BaudRate = OpenNETCF.IO.Serial.BaudRates.CBR_57600;
                        Serial.Settings.Parity = OpenNETCF.IO.Serial.Parity.none;
                        Serial.Settings.StopBits = OpenNETCF.IO.Serial.StopBits.one;
                        Serial.Settings.ByteSize = 8;
                        if (!Serial.IsOpen)
                        {
                                try
                                {
                                        Serial.Open();
                                        status = "Port opened";
                                        return true;
                                }
                                catch (Exception ex)
                                {
                                        status_error = "Error in port opening";
                                        return false;
                                }
                        }
                        else
                        {
                                return true;
                        }
                }
               
        /// <summary>
        /// Close Serial Port
        /// </summary>
                public void ClosePort()
                {
            StatusClean();
            try
            {
                status = "Serial Port closed successfully";
                Serial.Close();
            }
            catch {
                status_error = "Seial Port not closed";
            }
                }
                /// <summary>
                /// Send a string to the Serial Port
                /// </summary>
                /// <param name="cmd"></param>
                public void SendCmd(string cmd)
                {
            StatusClean();
            if (Serial != null)
                        {
                                if (Serial.IsOpen)
                                {
                                        try
                                        {
                                                Serial.Output = StrToByteArray(cmd);
                                        }
                                        catch (Exception ex)
                                        {
                                                status_error = ex.Message.ToString();
                                        }
                                }
                        }
                        else
                        {
                                status_error = "Port is not opened";
                        }
                }

               
                /// <summary>
                /// Allow to know the incoming string from serial port
                /// </summary>
                /// <param name="s"></param>
                /// <param name="e"></param>
                public void ReceivedData(object s, EventArgs e)
                {
                        byte[] inputData = new byte[30];
                        inputData = Serial.Input;
                        string displayString = Encoding.ASCII.GetString(inputData, 0, inputData.Length);
                        receive_data += displayString;
                }
                //________________________
               
                /// <summary>
                /// Convert  a string to byte array
                /// </summary>
                /// <param name="str"></param>
                /// <returns></returns>
                public static byte[] StrToByteArray(string str)
                {
                        System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                        return encoding.GetBytes(str);
                }
               
        /// <summary>
        /// Clean the status properties
        /// </summary>
        private void StatusClean(){
            status_error = "";
            status_error = "";
            status = "";
        }

 
You can call the class from an event, for example:
//Create the property in your class
private Zebra ZebraPrinter;
// call to the constructor
ZebraPrinter = new Zebra();
//And execute the OpenPort Method given the Serial Port of your Connection
if (ZebraPrinter.OpenPort("COM4") == true) {

//If the connection is successfully then send the string to Serial Port
ZebraPrinter.SendCmd("! 0 200 200 800 1\r\nLABEL\r\nCONTRAST 0\r\nTONE 0\r\nSPEED 3\r\nPAGE-WIDTH 240\r\nBAR-SENSE\r\nTEXT90 4 3 36 288 .88\r\nTEXT90 5 2 163 273 SWEATSHIRT\r\nVBARCODE UPCA 2 1 45 139 576 04364503284\r\nTEXT90 7 0 191 511 043645032841\r\nTEXT90 5 0 4 524 COMPARE AT\r\nTEXT90 4 0 30 508 $ 30.00\r\nTEXT90 5 0 115 575 ZD-180-KL\r\nTEXT90 5 2 119 269 ALL COTTON\r\nTEXT90 7 0 114 389 01/17/98\r\nTEXT90 0 0 208 173 EA00-732-00560\r\nTEXT90 5 0 82 519 ELSEWHERE\r\nBOX 189 358 217 527 1\r\nPRINT\r\n");
   }
//Close the POrt when you finish to send data to the Zebra Printer
ZebraPrinter.closePort();
 
The code is very simple, but it works and save many time and work ..
My English suck.. but I need to practice it...

# Re:Re:Printing with Zebra Technologies RW-420 Printer and Symbol Motorola MC70 Mobile Terminal using Bluetooth connections..

Javier, <javo.olvera@gmail.com> / 11 December, 11:29am  
avatar

hola, me fue muy util, por fin logre imprimir, pero tendras alguna breve explicacion de la funcion Send? para modificar la estructura de la etiqueta.. pasa que ademas al mandar 1, la impresora jala 4 etiquetas.. no sé que parametro cambiar o como solucionarlo.. gracias

Dejar un comentario

Escribe el código Captcha que estás viendo

Fuentes XML de comentario: RSS | Atom

Estadísticas de visitantes

185508

Emblemas

Energizado por Jaws Project
Soporta RSS2
Energizado por Software Libre
Energizado por Mozila Firefox
Energizado por Ubuntu Linux
Energizado por PHP
Energizado por Apache Web Server
Energizado por MySQL
Energizado por SQLite
atom

¿ Where The Hell Am I ?

Mi Flickr







Aquí Mis Mejores Fotos

Eventos

Encuesta

¿Que medio de comunicación usas más ?

Comentarios Recientes