Designing and Programming Small Devices for Networking
Embedded Ethernet and Internet Complete is a developer's guide to designing and programming embedded systems to communicate in local Ethernet networks and on the Internet.
This book is for anyone who wants to design, program, or learn about networking with embedded systems. It assumes you have a basic knowledge of digital circuit design and microcontroller or microprocessor programming for embedded systems, but covers networking right from the basics.
Each of the chapters in this book has two sections: Quick Start and In Depth. The Quick Start section gives practical information and examples that you can put to work immediately. The In Depth section has more detail about the protocols and technologies used in the Quick Start examples.
Every example application in this book is provided in both Java for Dallas Semiconductor's TINI (DSTINIm400) module, and in Dynamic C for Rabbit Semiconductor's RCM3200 module. The book also discusses a number of other components that are suitable for many projects.
With author Jan Axelson's help, you will find out ...
... whether Ethernet is the right technology for your project.
... how to select the right components for your systems.
... how to put together an Ethernet network.
... how to obtain an Internet connection for your device and to configure it.
... how embedded systems can use TCP/IP protocols to communicate.
... how to make your device function as a web server, and how to create the pages it will serve.
... how your system can display real-time information and respond to user input.
... how your system can exchange mail or transfer files via FTP.
... how to keep your device and network secure.
Embedded Ethernet and Internet Complete Reviews
"This book is remarkably practical and complete. Beginners and experts alike will benefit from Jan's clear exposition of the embedded Internet." --Norman Rogers, President, Rabbit Seminconductor
"A good read for embedded-device programmers as well as anyone wanting to learn about network programming. Examples written for popular embedded devices serve as an introduction to a thorough discussion of network programming concepts." --Don Loomis, Executive Director, Microcontroller Business Unit, Dallas Semiconductor.
"Jan successfully blends her broad hands-on expertise with a methodical presentation style in a way that translates a tough subject into something both understandable and practical." --Steve Ciarcia, Founder and Editorial Director, Circuit Cellar magazine.
Embedded Ethernet and Internet Complete Table of Contents
1. Networking Basics
Quick Start: The Elements of a Network
The Network Protocol Stack
Clients and Servers
Requirements for Internet Communications
A Word about Web Servers
In Depth: Inside Ethernet
Using a PC for Network Communications
The IEEE 802.3 Standard
Media Access Control: Deciding When to Transmit
Using a Protocol Analyzer to View Ethernet Traffic
2. Building a Network: Hardware Options
Quick Start: Connecting to a PC
Components and Configurations
In Depth: Cables, Connections and Network Speed
Cable Types for Different Uses
Twisted Pair Cable
Fiber Optic Cable
Connections for Harsh Environments
Interfacing to Ethernet Controllers
Using Repeater Hubs, Ethernet Switches, and Routers
3. Design Choices
Quick Start: Selecting Components
In Depth: Ethernet Controllers
What the Hardware Does
Ethernet Controller Basics
The ASIX AX88796
Cirrus Logic CS8900A
4. Using the Internet Protocol in Local and Internet Communications
Quick Start: Connecting to the Internet
Considerations in Obtaining Internet Service
Technologies for Connecting
Static and Dynamic IP Addresses
Connecting Multiple Computers to the Internet
Communicating through a Firewall
Obtaining and Using a Domain Name
In Depth: Inside the Internet Protocol
What IP Does
The IP Header
Assigning an IP Address to a Host
Matching an IP Address to an Ethernet Interface
How a Datagram Finds Its Way to Its Destination
The Internet Control Message Protocol (ICMP)
5. Exchanging Messages Using UDP and TCP
Quick Start: Basic Communications
Configuring a Device for Network Communications
Sending UDP Datagrams
Receiving UDP Datagrams
Exchanging Messages using TCP
UDP and TCP from PC Applications
In Depth: Inside UDP and TCP
About Sockets and Ports
UDP: Just the Basics
TCP: Adding Handshaking and Flow Control
6. Serving Web Pages with Dynamic Data
Quick Start: Two Approaches
Serving a Page with Dynamic Data
Rabbit Real-time Web Page
TINI Real-time Web Page
In Depth: Protocols for Serving Web Pages
Using the Hypertext Transfer Protocol
Elements of an HTTP Message
Inside the Hypertext Markup Language
Server Side Include Directives
7. Serving Web Pages that Respond to User Input
Quick Start: Device Controller
The Device Controllerís Web Page
Rabbit Device Controller
TINI Device Controller
In Depth: Using CGI and Servlets
CGI for Embedded Systems
Servlets for Embedded Systems
Receiving Form Data
8. E-mail for Embedded Systems
Quick Start: Sending and Receiving Messages
Sending an E-mail from a Rabbit
Sending an E-mail from a TINI
Receiving E-mail on a Rabbit
Receiving E-mail on a TINI
In Depth: E-mail Protocols
How E-mail Works
Using the Simple Mail Transfer Protocol
Sending E-mail with a URL
Using the Post Office Protocol
9. Using the File Transfer Protocol
Quick Start: FTP Clients and Servers
Rabbit FTP Client
TINI FTP Client
Rabbit FTP Server
TINI FTP Server
In Depth: Inside the File Transfer Protocol
Transferring a File
Requesting a File with a URL
10. Keeping Your Devices and Network Secure
Quick Start: Limiting Access with Passwords
Using Basic Authentication
Basic Authentication on the Rabbit
Basic Authentication on the TINI
In Depth: Four Rules for Securing Your Devices and Local Network
Use a Firewall
Restrict Access with User Names and Passwords
Validate User Data
Encrypt Private Data
Paperback; 450 pages