Well here I am back from vacation. This Easter I spent a few wonderful days in Cáceres with my family (a lot of my mother’s family lives there). I had not been there for many years and I missed the drumsticks, the drunkness the family. :) The truth is that I really enjoyed it and I hope to go back soon.

Ok, let’s get on with it… today we are going to look at implementing a Web Server.

Sometimes it can be interesting to incorporate a little web server in our TC65 or MTX65 GPRS modems. It’s convenient to directly connect to the modem with a browser or any parameter. So today I’m putting up an example that I’ve made, it’s slightly longer than usual, it took up quite a lot of time and it implements this: a small and simple (very simple) Web Server. This example can also be used as a Socket Server example. I don’t remember which blog user it was but I told them that I would post an example or Socket Server in Java. So here it is.

The example here is part of one of my projects. I have taken many things from my project, including error control, to break it down a little bit and make it more understandable. I think that it’s enough. Anyway to remove the code there might be an instruction that’s not necessary, I haven’t looked at everything, I just checked that it worked properly.

Blog de Electrónica Avanzada

Alright, what does this example do? 

If you download and open the project you will see 3 files. To test out the example you just have to edit the main.java and change the connection parameters depending on your operator. If you use Movistar in Spain you can leave the code as it is and compile and run the project.

When you run the program you will see that the modem is connected to the GPRS and the obtained IP will come out through the standard output (normally ASC0). If I run it I get:

java-web-server1

After this, open the browser (I only tried with Microsoft Explorer, nothing else) and write something in the address bar like:

http://80.29.209.172/suma.html?a=10&b=20

You will get a response like this:

java-web-server2

This means that the modem has received the HTTP GET request, taken the values “a” and “b” from the parameters passed in the URL, added them together and returned them to a HTTP page with the sum. Obviously what this example does (GPRS calculator) is not used a lot and doesn’t make much sense, but I’m sure that this example will spark new ideas.

One more thing, I have put a variable called “numMaxClientesX” in the code. You can specify the number of concurrent requests that you may have in this. By default it’s “1” and you can increase it but remember that Siemens/Cinterion modems support up to 6 sockets and one of them already has the socket listener that listens in the TCP80 port (Http). Also, think about launching a Thread for each connection established.

The example is done using sockets via java classes. To whoever asked me which is better, if you manage the sockets with java classes or with AT commands as I have sometimes done before in this blog, I wouldn’t know what to say as they are more or less the same. The advantage of using java classes is that perhaps the application (socket server) is slightly simpler to implement and with AT commands you have a little more control over each of the socket’s status. They are subjective assessments as both methods work really well; sometimes I use one and sometimes the other.

I hope that you found it interesting, until next time. ;)

www.blogElectronica.com


Post relacionados:

  1. J2ME File Compression in Siemens TC65 GPRS Modems With lots of GPRS modem applications, data needs to be...
  2. Java FTP example for Cinterion GPRS modems TC65 and XT65 You will possibly at some point have to make a...
  3. Otap for Cinterion modems. TC65, TC65i, XT65, TC65T, MTX65   I have had the OTAP platform active for a...
  4. How to get the time with MTX terminals and Siemens/Cinterion modems I haven’t written on blogElectronica for nearly a month. For...
  5. (Español) Nuevo módem GPRS teminal MTX65 basado en el módem Siemens TC65 Sorry, this entry is only available in Español. FacebookTwitter...








Tags: , , , ,
12 Responses to “How to Implement a Web Server in a TC65 or MTX65 modem”
  1. Pua says:

    bueno , bueno!!!

    Cada día me sorprendes mas!!!

    Salu2

    Pua

  2. miguel says:

    Muchas gracias, por este estupendo artículo.

    Saludos.

  3. Elite says:

    Genial!!!… eres un crack!!!

  4. Antraxa says:

    Adquiri un TC65T y estoy buscando un GPS externo para utilizarlo con el modem, alguien por aqui ah hecho esta comunicacion modem-gps antes? me puede recomendar algun modulo GPS en especial ?

    Saludos.

  5. Luciano says:

    No se si esta bien postear en este tema.. pero no sabia donde postear la siguiente pregunta…

    Querio intentar usar el USB del modulo TC65i y lo conecto a la pc y me lo reconoce como que hay un nuevo dispositivo.. pero no tengo el driver para que me lo reconozca bien…
    lei por ahi que se necesita un archivo usbmodem.inf, pero no lo encuentro en todo el sdk.. alguien sabe dodne esta este archivo o de donde puedo bajarlo?

    gracias!

  6. Luciano says:

    ya consegui el driver gracias….
    por si alguien lo quiere…
    que me mande mail
    a luciano.e.izquierdo@hotmail.com

    saludos!

  7. Luciano says:

    Consulta, tengo una aplicacion corriendo que hace una conexion http, mas precisamente un post, cada 15 minutos.
    Talvez anda bien durante 2 semanas y en un momento se cuelga y empieza a mandar todo el tiempo Profile Could Not Activated.
    Alguien sabe que puede ser?

    lei en este post:
    http://forums.sun.com/thread.jspa?threadID=5175174

    Que hay mucha gente que le pasa lo mismo, uno de los que postea dice que en los TC65i ya no pasa mas, pero no le tengo mucha confianza alguien pudo resolver esto?

    • blogElectronica says:

      Hola Luciano,

      a mi cuando me ha ocurrido eso, ha sido porque o no tengo cobertura (para establecer la conexión), o porque me he quedado sin recursos de sockets en el módem. ¿Vas llamando al System.gc() periódicamente?

      Salu2

  8. Enrique says:

    Antes que nada te felicito es un buen post muy util, oyes tengo una duda yo quiero implementar tu webserver para un experimento aqui en mexico con modem GPRs, mi duda consiste en los parametros a cambiar en tu aplicacion java:

    “movistar.es” me imagino que es el APN de españa
    “movistar” Es el nombre de usuario
    “movistar” ¨Passw
    y la IP es por la que accedera el equipo a mi webserver ?

  9. Si señor, verdaderamente interesante, a ver si profundizo un poco sobre este post.

    Como pequeño aporte os dejo el link donde he comenzado mis andanzas en este mundo de los modem creando un humilde server FTP con un Siemens TC-65 y probandolo con el Fillezilla. Es un poco entuerto hacerlo con este modelo pero weno, como experiencia añadida tambien vale ^_^

    http://chispazocerebral.blogspot.com/2011/10/crear-server-con-modem-tc-65.html

  10. CESAR says:

    Buenas, como siempre enhorabuena por este magnífico Blog.

    Al ejecutar WebServer me da error JAVA no puede crear la instancia….

    Ayuda por favor…. o, en su defecto, un ejemplo de conexion TCP, no me funciona ninguno de los ejemplos del Blog…… Los del puerto 80 sí, pero si utilizo otro…no.

    Me podrías mandar, o colgar, un ejemplo de un servidor TCP que recibiera una cadena (‘Hola’) y delvolviera otra (‘Adios’).

    Muchísimas Gracias…..

    • blogElectronica says:

      Hola Cesar,

      pues no tengo otro ejemplo, pero te aseguro que el ejemplo del WebServer funciona. Eso que dices del puerto 80, ¿no será que tienes algún firewall en tu PC que bloquea la conexión a puertos que no sean el 80???

      Salu2

  11.  
Leave a Reply

Puedes publicar un comentario aquí si quieres, pero te recomiendo que uses el nuevo foroElectronica.com para introducir comentarios. Te contestaré más rápido. Recuerda que debes registrarte si no lo estás para publicar un comentario.