網際網路軟體
Internet Connectivity

產品包括:
Nucleus WebServ,
Nucleus Extended Protocol Package (Telnet,
FTP, TFTP),
Nucleus EMAIL (SMTP,
POP3), Nucleus DHCP
Server 及
Nucleus SNTP Client
When most people think about networking, they think of the
Internet. The Internet has literally changed the way that
information is communicated. It has had a profound impact
on everything from the way that businesses advertise and
promote their products to the way that individuals keep in
touch with one another. The Internet ties together much of
the population of the industrialized world, and we have
all seen the statistics on its growth rate.
Some protocols more than others have come to be associated
with the Internet. Specifically these protocols include
HTTP, the basis for Web Servers and Web Browsers, POP3 and
SMTP, the basis for email, FTP and TFTP, file transfer
protocols, and Telnet for remote login. Many of the
features that make these protocols invaluable to desktop
computing, are just as applicable to embedded computing.
This site location introduces you to Accelerated
Technology™’s embedded versions of these protocols.
Nucleus WebServ

With the expansion of the World Wide Web, have you
considered making use of its many benefits in your
embedded system? By using Nucleus WebServ, you can allow
your users to access your embedded system from the
powerful environment provided by Web browsers.
Nucleus WebServ is an implementation of the HTTP (Hyper
Text Transfer Protocol) that is capable of interpreting
important information in HTML (Hyper Text Markup
Language). These capabilities give your users powerful
facilities that will enable them to interact with your
target in a dynamic and exciting way.
How Does It Work?
Your target is, simply put, a Web server. You may have the
concept in your mind of a Web server as a piece of
software that resides on a File Server somewhere. That’s
essentially true, but it may not serve up files to all
users the same way.
With Nucleus WebServ, we provide a utility for you to
select files on your hard disk and convert them to a C
file, which contains the binary representation of the
files and an associated directory. This serves as your
embedded file system (if you are not already using a
traditional file system like Nucleus FILE). In your
embedded file system, you can place any files that you
would like your users to retrieve from your embedded
system.
The power of Nucleus WebServ is that it gives you the
ability to intelligently use the files that you are
serving up to your users. In addition to supplying HTML
files in the standard way (i.e., no manipulation of them
in any way, they are just sent to the Web browser and
displayed), Nucleus WebServ can create dynamic content and
respond to function execution requests from the Web
browser (probably by a reference in one of the HTML files
that are served to the Web browser).

Web Server Capabilities
Traditionally, it’s been difficult to provide an efficient
and easy-to-use interface to embedded systems. With the
advent of the Web and the ubiquity of Web browsers,
Nucleus WebServ supplies you with the ideal tool for
communicating with your users. Through static HTML files,
dynamic Web pages and remotely executable procedures, you
can provide any kind of information about your system.
Plus, you don’t have to write specific applications for
each prospective operating system. There are many
technologies that can improve the usefulness of your
system to its users, but none can do it as effectively and
affordably as incorporating Nucleus WebServ into your
product.
Serve Static HTML Files
The most basic capability of Nucleus WebServ lets you
serve standard HTML files to your users on a Web browser
without writing any code! By using the utility mentioned
previously, you simply select the files you want stored on
your target (a manual for example) and click a button to
generate the necessary code. That code is then compiled
and linked with your application and voila! You are
serving pages.
Building Dynamic Pages
One of the more powerful features of Nucleus WebServ is
the ability to build dynamic pages. This is very useful
for remote monitoring of an embedded device. For example,
suppose the embedded device is a Web-enabled soft drink
machine. It would be possible to dynamically build a page
that consisted of a table showing the flavors of drinks in
the vending machine and how many of each flavor remained.
Every time the dynamic page is loaded, it would be updated
(on your target and sent to the browser) to reflect the
new values as drinks are purchased or the machine is
refilled.
Executing Functions on the Target
The ability of Nucleus WebServ to respond to function
execution requests from a Web Browser can be used in many
ways, the most obvious of which is remote control or
remote configuration of the embedded device. Continuing
the soft drink machine example, suppose the vending
machine operator wished to raise the price of a soft drink
when the temperature rises above 95 degrees Fahrenheit. It
would be possible to have a HTML form embedded in the
machine that would allow the price of a soft drink to be
configured remotely. So, sitting in his nice cool office,
the vending machine operator could load the form, modify
the price and submit it back to Nucleus WebServ. The new
price would take effect immediately.

Nucleus WebServ Features:
- Fully
functional server in tiny package
- HTTP
1.0/1.1 Support
-
Dynamic Web page content (Allows Monitoring)
- Forms
support (Allows Configuration)
-
Content Independent (Serve Java Applets, Images, etc.)
- CGI (plugin)
support
- Server
Side Include support (SSI)
- File
upload (online document update)
-
Flexible page storage (in memory or on disk)
-
Supports multiple concurrent requests
- Basic
authentication
- DES
authentication
-
Document compression

Nucleus Extended
Protocol Package
Some of the most popular, and useful, network applications
include those that provide for file transfer and remote
login. Nucleus Extended Protocol
Package (Standard Networking Application Protocols) is a
suite of protocols that provides complete support for such
applications. Specifically support is included for the
File Transfer Protocol (FTP), the Trivial File Transfer
Protocol (TFTP) and Telnet. As with all Nucleus products,
a demonstration application is provided that shows how
these protocols can be utilized to create a custom FTP
Client, FTP Server, TFTP Server and/or Telnet server
application. Note: TFTP client support is provided as part
of Nucleus NET. This demonstration application is an
excellent starting point for development of your own
applications.
FTP Client/Server
So, what role does FTP play in the Nucleus networking
package? As the name implies, hosts send and receive files
using FTP. The files can be of any type. Enabling an
embedded device with the FTP server allows for remote
users to initiate an FTP session with the embedded device.
The remote user can then transfer files to and/or retrieve
files from the embedded device. The remote user could also
issue standard directory and file commands. For example,
the remote user could, among other things, list a
directory, rename a file, or change directories.
Enabling an embedded device with the FTP client provides
for the same functionality in reverse. That is, the
embedded device initiates a FTP session with a remote FTP
server. Once the session is initiated, the embedded FTP
client can get and put files as well retrieve a directory
listing, and perform other common directory and file
commands.
As you would expect, FTP requires some type of file
system. Utilizing the Nucleus File Abstraction Layer (FAL),
provided with Nucleus NET, the FTP client can operate
without a physical file medium present. In this
configuration Nucleus FAL is configured to use a block of
memory as if it were a physical file medium. The FTP
Server does require a physical file medium and a true file
system to be present. To support the requirement of
physical file storage for the FTP server, Accelerated
Technology provides Nucleus FILE, our MS-DOS compatible
file system. Of course, the FTP Client can also utilize
Nucleus FILE.

TFTP Server
The Trivial File Transfer Protocol (TFTP) can be used for
many of the same purposes as FTP. However, it is more
limited in functionality. TFTP uses UDP as the underlying
transfer protocol, while FTP uses TCP. UDP is less
reliable than TCP, thus TFTP is generally relegated to the
transfer of files on a local network, where the chances of
packet loss and errors is minimal. In addition, the
operations that TFTP can perform are limited to a file get
operation and a file put operation. The primary benefits
of the TFTP are its size and efficiency in processing. TCP
is requires fewer resources than UDP. Also, because of its
limited functionality TFTP is smaller than FTP.
An embedded application enabled with the TFTP server will
provide for remote users transferring files to or
retrieving files from the embedded device.

Telnet Server
Telnet allows a terminal to the embedded system to be
opened from a remote computer. Utilizing this terminal,
you can issue commands to the embedded device, allowing
the device to be controlled remotely. Custom commands can
be added to the Telnet command parser. In this way Telnet
can be customized and extended to parse commands specific
to you embedded device.
The example application provided for Nucleus Telnet plugs
into Nucleus SHELL. Nucleus SHELL is discussed in greater
detail below, but basically this demonstration system will
allow a remote user to perform runtime kernel aware
debugging from a Telnet session. As an example, a user can
issue a command to list the tasks that are present, their
state (suspended, executing, etc.) stack size, priority,
etc.

Nucleus SHELL
Nucleus SHELL was developed to assist users of Nucleus
PLUS in debugging their multitasking applications. It
installs as a task in any Nucleus PLUS system and provides
a number of features designed to complement debugging
performed through your debugger. All user interaction with
Nucleus SHELL is performed through a command line prompt.
The commands are typically issued through a serial
terminal application, but when Telnet is present the same
commands can be issued from a Telnet session.
Nucleus SHELL supports display of information on all
Nucleus PLUS kernel objects. For example, you could issue
a command to see the status of “task 1”. Discovering “task
1” is suspended on a queue, you could then examine each of
the queues to see which of the queues “task 1” is pending
on. You can also remotely invoke Nucleus PLUS services.
For example, you could push an item onto the queue in
order to kick-start “task 1”. Finally, Nucleus SHELL
allows memory to be viewed and modified.

Nucleus EMAIL
Accelerated Technology offers the Nucleus EMAIL package
for those who wish to provide an email client or server in
their embedded device. An obvious question is why would
someone want enable an embedded device with Nucleus EMAIL.
An email client could send logs of information to a
server, or an alarm could be sent to an administrator. An
email server could be mailed commands or configuration
information. Nucleus EMAIL includes support for the two
protocols: POP3 and SMTP. When combined, these protocols
allow any embedded device to be email-enabled.
POP3
POP3 is the most recent version of the Post Office
Protocol, a standard protocol for receiving email. An
email client uses POP3 to retrieve email from an email
server. In other words when you hit the receive button in
Microsoft® Outlook® this is the protocol that does all of
the work.
SMTP
Simple Mail Transfer Protocol (SMTP) is the protocol used
by a device to send email to an email server. The send
button in Microsoft Outlook invokes this protocol. This
protocol is also used by email servers to relay email to
one another. Email messages are queued in a server mailbox
from which they can be periodically checked using POP3.
Developers typically use a program that implements SMTP
for sending email to an email server and POP3 for
receiving messages from an email server.

Nucleus DHCP Server
The Dynamic Host Configuration Protocol (DHCP) defines the
method by which network hosts can dynamically acquire an
IP address, as well as other configuration information.
DHCP is a client/server application, with servers
responding to the configuration requests of clients. DHCP
takes much of the burden out of the administration of
local area networks.
Nucleus DHCP can enable your embedded device to respond to
the configuration requests of DHCP clients, typically PCs.
An example application of Nucleus DHCP Server would be for
use in a residential gateway. This would allow the gateway
to not only perform its routing duties, but to also handle
configuration of the hosts on the LAN.

Nucleus SNTP Client
Nucleus SNTP (Simple Network
Time Protocol) Client enables your embedded device to
retrieve the current time from a time server. This could
be used at boot time to initialize a local clock, or it
could be used to retrieve the time as needed. Nucleus SNTP
client can communicate with both SNTP servers and NTP
servers.

*Link
to material on Mentor.com |