Embedded Web Server using TTL UART to Ethernet TCP/IP converter

Started by "che...@yahoo.co.in [lpc2000]" June 19, 2015
Hi,

I am trying to implement Embedded Web Server wherein i have ported MicroC/OS-II RTOS on NXP LPC2148 MCU with a few sensors interfaced to monitor temperature, moisture level and humidity.
I am planning to use TCP-232-T from USR which is TTL UART to Ethernet TCPIP convert module so that the sensor parameters can be monitored remotely on a client PC using a web browser.

Since i have no experience in tcp/ip ,networking, etc. i have a few queries

1. Is USR-TCP-232-T product suitable for implementing this application.I mean similar to Keil's Easy Web example? I have heard about another similar product - Wiznet 5100.
2. What are the software technical skills required to implement it ? Socket programming ?
3. How does the communication happen between the embedded web page & the sensor data?

Your guidance will be invaluable for me to get started. Thanks.

An Engineer's Guide to the LPC2100 Series

I'm certainly no expert on this device but it seems like it should work for what you want.

Basically, you will set it up as a host (server) listening on port 80 (or 8080, or whatever you want).
The module will send you serial traffic from the client connection whenever something comes through the network.

Your code will analyze the request, format a response (HTML if you are acting as a web server, some kind of text if you are a TCP server) and send it back. In your code, you will read the various sensors and embed the data in the HTML or text.

There are examples in the documentation using the factory SDK
Page 16 shows how the transaction will work:
http://en.usr.cn/download/USR-TCP232-T-EN.pdf http://en.usr.cn/download/USR-TCP232-T-EN.pdf

As I read it, you won't need to know anything about socket programming. The device creates and manages the socket. Page 7 says the module supports 4 connections at a time.

The thing to do is use their SDK to try the system. Connect the serial stream through a converter (RS232 or USB) and connect it to one PC. Then try to connect with other PCs over Ethernet. You can even connect with your first machine. You can work out all of the code before you ever worry about moving it to the LPC2148.

There is a discussion of this in the manual.

Richard
Hi,
Is there any document denoting the type of request & response (i.e. GET, POST, HEAD, etc.,)
transactions like between the Client(PC) when the ip address is entered into the client web browser
and the same is received by the Serial to Ethernet module, which will help firmware developers write code.

I have some more queries,
What kind of data(format) is expected at the output of the Serial to Ethernet module when the IP address is typed ?
How to respond to the request ? What is the format ?
Any documentation available to understand and do the coding ?

thanks,
Chetan
Hi,
Is there any document denoting the type of request & response (i.e. GET, POST, HEAD, etc.,)
transactions like between the Client(PC) when the ip address is entered into the client web browser
and the same is received by the Serial to Ethernet module, which will help firmware developers write code.

I have some more queries,
What kind of data(format) is expected at the output of the Serial to Ethernet module when the IP address is typed ?
How to respond to the request ? What is the format ?
Any documentation available to understand and do the coding ?

thanks,
Chetan
Is there any document denoting the type of request & response (i.e. GET, POST, HEAD, etc.,)
transactions like between the Client(PC) when the ip address is entered into the client web browser
and the same is received by the Serial to Ethernet module, which will help firmware developers write code.

You can get all of this request/response information from any HTTP book that deals with creating servers. Basically, what you get is what is left over on the browser address bar after the server address is extracted.

Here is a start:

In Introduction to HTTP Basics http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html

http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html

In Introduction to HTTP Basics http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html HTTP (HyperText Transfer Protocol) Basics Introduction The WEB Internet (or The Web) is a massive distributed client/server information system as dep...

View on www.ntu.edu.sg http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html
Preview by Yahoo

I have some more queries,
What kind of data(format) is expected at the output of the Serial to Ethernet module when the IP address is typed ?

I'm not sure what you are asking. I would expect typing the address to create a socket connection.

How to respond to the request ? What is the format ?
Any documentation available to understand and do the coding ?

It looks to me like everything you need to know is shown in the document that I linked last week. The manufacturer provides an SDK where you can see both sides of the transaction. Use the provided tools. And WireShark, of course... Experiment!

Set up a WIRED network and use a HUB, not a switch. Include your server, the client workstation and a 3rd machine to run WireShark. With such a small network, you won't get flooded with nonsense. I usually use my workstation for the client and a laptop for the WireShark machine. This isn't really necessary if your workstation provides an unused wired network.

You can find any of a number of uC web server projects around. Just copy what they did. This isn't new territory so everything you need is out there. Note in the HTTP document above, the 2d response option is to take the URL, stuff it into some program (function) and create an output file to deliver to the client. This file will be an HTML document with various pieces of embedded data. Lots and lots of text, some will represent data.

Yes, you will need to understand both HTTP and HTML to build this project. You are creating a web server. It will be pretty much a complete server but with a limited number of documents and functions. For example, I see no need to implement POST as GET will probably be sufficient.

Here is a complete project for the LPC21xx:

Web Server Implementation using ARM7 LPC2148 https://www.pantechsolutions.net/project-kits/web-server-using-arm

https://www.pantechsolutions.net/project-kits/web-server-using-arm

Web Server Implementation using ARM7 LPC2148 https://www.pantechsolutions.net/project-kits/web-server-using-arm Web Server Implementation using ARM7 LPC2148,Webserver source code for ARM7 LPC2148

View on www.pantechsolution... https://www.pantechsolutions.net/project-kits/web-server-using-arm
Preview by Yahoo

It uses the ENC28J60 SPI<-> Ethernet gadget. I have used this device with an LPC2106 several years ago. It worked well as a TCP Client.

Richard