||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Java, C, networking, embedded devices, ethernet, TCP/IP
Title: Embedded Ethernet and Internet Complete: Designing and Programming Small Devices for Networking
Author: Jan Axelson
Publisher: Lakeview ResearchISBN: 1931448000
Level: Introductory networking
Verdict: Useful, clear and informative
Both network programming and developing for embedded devices have reputations as black arts for programmers. Put the two together and you'd think that a developer would need some high wizardry to make any progress. Author Jan Axelson tackles both in 'Embedded Ethernet and Internet Complete: Designing and Programming Small Devices for Networking,', and she does it in a fairly painless fashion too.This is an area that straddles hardware and software, so the book opens with a survey of basic networking technologies and then of embedded devices that include Ethernet support. She looks at a range of these, listing both the hardware and software details, and from these two are used throughout the rest of the book. The Rabbit Semiconductor's RabbitCore Z80-based device is programmed using C, while the TINI device from Dallas Semiconductor is 8051-based and uses an embedded JVM to interpret Java byte code. The core of the book looks in more detail at a number of networking topics related to these devices, including TCP/IP, web serving using HTTP both for dynamic content and user interaction, Email using both POP3 and SMTP and FTP. There is even a chapter on network security. Each topic is tackled separately for the two different devices, both at a high-level for those who just want to get going and at a deeper level for those who want more than just the straightforward functions she describes. Java and C code is listed throughout the book, along with details of the mechanisms used to compile and upload the code to the boxes. While there is a core of principles that can be easily transferred to programming other devices, the code is obviously not transferable. However the in-depth sections of the book certainly provide more than enough information to help in getting applications ported to other devices. In addition there are general explanations of things like HTTP, TCP/IP and the mail protocols that apply to networking right across the board (if you'll pardon the pun). If there was one thing that was missing, it was probably that the book lacks a complete application example. A simple project, like a simple weather station for example, would have made a good final chapter to bring all the topics together. On the other hand perhaps this would have been too far outside the scope of the book. But this is a relatively minor quibble, and in no way detracts from the overall quality of the book. In conclusion, this is a clearly written and useful volume for those who want to program embedded devices with Ethernet. If you plan on using a TINI or a Rabbit then this is exactly what you need. If you want to program other devices then this book provides some useful information but you may have to work harder with the code.