Arm Based Embedded Web Server
Published on Nov 30, 2023
As the World-Wide Web (WWW) continues to evolve, it is clear that its underlying technologies are useful for much more than just browsing the web. Web browsers have become the de facto standard user interface for a variety of applications including embedded real time applications such as Remote Data Acquisition System.
This brings in a need for web services being deployed on various embedded processors such as Advanced RISC Machine (ARM) in real time context. The main aim of the project is to develop an embedded web server using ARM7 TDMI processor.
The web pages which are required for the web server will be developed using HTML. This embedded web server which will be developed by using Embedded C language can be beneficial for mission critical applications, remote data acquisition systems, ATM and controlling devices such as servo motor, dc motor, stepper motor ,turning ON or OFF the stereo sets., use as dimmerstat to control light intensities. can be used in home automation, store programs in flash memory and run the according to need.
Embedded systems are specialized computer systems designed and optimized to perform a particular task. Usually they are a part of a larger system or a machine In today's world, embedded systems are everywhere homes, offices, cars, factories, hospitals, plains and consumer electronics. They span all aspects of modern life and examples of their use are numerous.
Modern embedded systems are able to connect to the internet and can be remotely maintained and diagnosed . M2M(Machine to machine) communication is growing with a considerable rate. The possibility to connect two or more embedded systems enables developers to build more powerful distributed systems such as networked embedded systems .Remote maintenance is performed by different communication protocols. The most common communication protocol is HTTP which enables remote system control and monitoring
A web server is a computer program that implements HTTP protocol. It accepts HTTP requests from clients like web browsers and serves HTTP responses which are usually HTML pages with linked objects. There are many web servers available, and a number of them are free, like Apache, AOL , Roxen . Internet Information Services, Sun Java System web Server are some of the most common commercial web servers. Some web servers can run on almost any operating system while others are platform specific.
The general purpose web servers are intended to run on powerful server computers, workstations or personal computers and support a number of advanced features. On the other hand, web servers for embedded system shave limited resources and offer only a set of required features
This project implements an EMBEDDED WEBSERVER with networking capability using ARM microcontroller. Various Analog Sensors can be connected to the ARM Board. The project includes complete implementation of an HTTP Web Server in am ARM7 microcontroller. The websites are stored inside the program space of the ARM7 microcontroller and features a flexible pattern parsing algorithm. This supports using keywords to instruct the web server to include special data in the page delivered to the browser (i.e. current temperature as ASCII text).
Using any standard web browser on any PC you can access the web pages performing a variety of operations like viewing a temperature plot of the last 24 hours, control the servo motor , read/write any I/O pin by using a simple mouse-click, upload any file to the Data Flash storage and access files stored on the flash. The web server implements ARP,IP, TCP, UDP, HTTP (server), NTP (client), servo control, I/O Pin control, 2nd software UART etc.
This system is very suitable for acquiring data or signals form a large scale industry field. Hundreds of such terminals can be grouped within a network. One PC is enough for monitoring many terminals. Link from server to the internet can be also established to realize remote monitoring. You can see the data in the office, even at home if you have internet access. This system can also be integrated into ERP system, which will improve management level access. This system will not only be useful in industry field, but also has great future in smart-house applications, networked lighting control system and other distributed control systems.
• The ARM7TDMI controller is a member of the Advanced RISC machine family of general purpose 32-bit microcontroller.
• 16/32-bit ARM7TDMI-S microcontroller in a tiny LQFP64 or HVQFN package
• ARM7 - 32-bit Advanced RISC Machine
• T - Thumb architecture extension
• Two separate instruction sets, 32-bit ARM instructions and 16-bit Thumb instructions
• D - Debug extension
• M - Enhanced multiplier
• I - Embedded ICE macro cell extension
• Von Neumann Architecture
• 3-stage pipeline
-fetch, decode, execute
• 32-bit Data Bus
• 32-bit Address Bus
• 37 32-bit registers
• 32-bit ARM instruction set
• 16-bit THUMB instruction set
• 32x8 Multiplier
• Barrel Shifter.
• 8/16/32kB of on-chip static RAM and 32/64/128/256/512kB of on-chip ﬂash program memory. 128-bit wide interface/accelerator enables high-speed 60MHz operation.
• One (LPC2131/32) or two (LPC2134/36/38) 8-channel 10-bit ADCs provide a total of up to 16 analog inputs, with conversion times as low as 2.44 µs per channel.
• Single 10-bit DAC provides variable analog output (LPC2132/34/36/38).
A load cell is a transducer that is used to convert a force into electrical signal. This conversion is indirect and happens in two stages. Through a mechanical arrangement, the force being sensed deforms a strain gauge. The strain gauge measures the deformation (strain) as an electrical signal, because the strain changes the effective electrical resistance of the wire. A load cell usually consists of four strain gauges in a Wheatstone bridge configuration.
Load cells of one strain gauge (quarter bridge) or two strain gauges (half bridge) are also available.The electrical signal output is typically in the order of a few millivolts and requires amplification by an instrumentation amplifier before it can be used. The output of the transducer is plugged into an algorithm to calculate the force applied to the transducer.
Although strain gauge load cells are the most common, there are other types of load cells as well. In industrial applications, hydraulic (or hydrostatic) is probably the second most common, and these are utilized to eliminate some problems with strain gauge load cell devices.
As an example, a hydraulic load cell is immune to transient voltages (lightning) so might be a more effective device in outdoor environments
Functionality Principal Of A Web Server
Simplified a Web server can be imagined like a special kind of a file server. . The Web server receives a HTTP GET-request from the Web browser. By this request, a specific file is required as answer . After that ,the Web server tries to get access on the file system of the requested computer. Then it attempts to find the desired file (step 2). After the successful search the Web server read the entire file (step 3) and transmit it as an answer (HTTP response comprising of header and content object) to the Web browser (step 4). If the Web server cannot find the appropriate file in the file system, an error message (HTTP response which only contains the header) is simply be send as response to the client.
The web content is build by individual files. The base is build by static files with HTML pages. Within such HTML files there are references to further files embedded –these files are typically pictures in GIF or JPEG format. However, also references to other objects, for example Java-Applets, are possible. After a Web browser has received a HTML file of a Web server, this file will be evaluated and then searched for external references. Now the steps 1 to 4 from picture 2.A will run again for every external reference in order to request the respective file from the corresponding Web server. Please note, that such a reference consists of the name or IP address of a Web server (e.g. "dilnetpc.com"), as well as the name of the desired file (e.g. "picture1.gif"). So virtually every reference can refer to another Web server.
In other words, a HTML file could be located on the server "ssv-embedded.de" but the required picture -which is external referenced by this HTML file- is located on the Web server . "dilnetpc.com". Finally this (worldwide) networking of separate objects is the cause for the name World Wide Web (WWW). All files, which are required by a Web server, are requested from a browser like the procedure shown on picture 2.A.
Normally these files are stored in the file system of the server. The Webmaster has to update these files from time to time .A further elementary functionality of a Web server is the Common Gateway Interface (CGI) -we have mentioned before. Originally this technology is made only for simple forms, whichare embedded into HTML pages. The data, resulting from the padding of a form, will be transmitted to a Web server via HTTP-GET or POST-request (see step 1 into picture 2.B).
In such a GET- or POST-request the name of the CGI program, which is needed for the evaluation of a form, is fundamentally included. This program has to be on the Web server. Normally the directory "/cgi-bin" is used as storage location. As result of the GET- or POST request the Web server starts the CGI program located in the subdirectory "/cgi-bin" and delivers the received data in form of parameters (step 2). The outputs of a CGI program are guided to the Web server (step 3). Then the Web server sends them all as responses to the Web browser
Conclusion and Future Scope
Hence, the “ARM BASED EMBEDDED WEB SERVER” seminar report is completed satisfactorily with mentioned literature survey and required completion of project as per the Academic Schedule of Pune University.
The report work consists of most of innovative topics.
Digit Magazine -JULY 2003
More Seminar Topics:
Embedded Web Technology,
Embedded System in Automobiles,
Electronic Toll Collection,
Electro Dynamic Tether,
Easy-To-Swallow Wireless Telemetry,
Earthing Transformers For Power Systems,
Direct Current Machines,
DD Using Bio-robotics,
Clos Architecture in OPS,