Domain: ibutton.com
Stories and comments across the archive that link to ibutton.com.
Stories · 8
-
Kegbot: The Future of Robotic Drink Service, Now
An anonymous reader writes "Frat houses all over the world could soon be linked up in massive online drinking games, thanks to Kegbot, a standard kegerator that uses an RFID alternative to track how much the drinkers have imbibed and feeds that data over an embedded ethernet into an online database. One of Kegbot's main creators, Mike Wakerly, says the technology can actually promote more responsible drinking because it allows people to be cut off from using the tap after the system detects that they've had more than their alloted fluid ounces." Reader bloglogic points to "more pics and instructions on building your own Kegbot at the Make Magazine web site." -
Embedded Ethernet and Internet Complete
tdrury writes " Embedded Ethernet and Internet Complete , by Jan Axelson, is targeted towards the professional as well as the hobbyist embedded system designer who wants to further extend his communication options from traditional serial (RS-232, RS-455) communications to Ethernet. Axelson had been an author for Circuit Cellar magazine, and I have always enjoyed her articles, which tend to cover embedded communications of one type or another. (Axelson authors a set of Complete books including ones covering serial, parallel, and USB communication.)" Read on for the rest of tdrury's review. Embedded Ethernet and Internet Complete author Jan Axelson pages 482 publisher Lakeview Research LLC rating 9 reviewer Tim Drury ISBN 1931448000 summary Designing with Ethernet in embedded systems.Axelson's writing style is a little difficult to describe. At times you feel you could be reading a "For Dummies" (TM, Patent Pending, Please Don't Sue Me) book since her writing style is so easy to digest, but simultaneously, she's covering quite a bit of depth and breadth which you expect from a more advanced volume. This seems paradoxical yet the point stands: you will retain what you read from Axelson.
ContentsThe networking basics sections describes the network protocol stack (Ethernet, TCP, UDP, and IP frames), collision mediation, and how to use a sniffer (Ethereal in her case). It's of moderate detail suitable for an introduction. Much more detail is provided in later sections. Axelson also uses this section to describe, in good detail, the Ethernet media access control scheme that arbitrates which device talks when and how to handle packet collisions.
These network hardware sections are an in-depth description of cabling (Cat-5, fiber, wireless, etc.) which includes bit rate, max lengths, encoding types, etc. She also includes a small section on building your own Cat-5 for you really cheap Joes. There is a cursory review of hubs, switches, and routers and the network architecture limitations imposed by each for each type of network cabling.
Axelson goes on to describe some common embedded systems including TINI (Java-based) and Rabbit (C-based), which are the two systems she uses and provides examples for. Thankfully, keeping with her Circuit Cellar hobbyist tradition, both of these systems are very affordable to the casual hobbyist. She also provides detailed descriptions of some common Ethernet chipsets down to the registers (at least for the ubiquitous NE2000 registers). Also included are schematics for typical interfaces to these chipsets for the reader who wishes to build his own Ethernet-aware embedded system.
The Internet basics sections describe the various connection solutions such as dial-up, DSL, and satellite and the benefits and limitations of each. Axelson provides a cursory discussion of firewalls, domain naming and DNS, URL dissection, DHCP, NAT, ARP, and ICMP. These sections, I believe, are suitably informational for the embedded system designer, but not exhaustive. She then launches into an in-depth discussion of IP addressing and the IPv4 header which, in my opinion, is required for anyone working at the packet level. Axelson uses some data from Ethereal to support her discussion of IPv4. She also reminds us that Ethernet communications need not use the full TCP or UDP stack but can, if desired, use only IP-wrapped packets or even just Ethernet frames to communicate.
We finally get to some real code in the TCP/UDP socket communication sections. Axelson begins with samples of UDP, then TCP, socket communications. She bounces back and forth between Rabbit C code and TINI Java code. Both sets of examples are properly threaded so as to be more than just academic-example hogwash. Then she delves into the details of UDP and TCP, beginning with descriptions of the frame headers, then concludes with handshaking/flow-control (SYN-ACK and so forth). She includes suggestions for other books that continue even deeper into socket communications which is very nice especially since they aren't gratuitous promotions from the same publisher. (They are, in fact, from two different publishers.) By the way, Lakeview Research is her own company, so Axelson self-publishes. Nice.
Fully half of the book is dedicated to describing the top layer of the protocol stack: applications. Specifically, HTTP client and server, receiving and sending email, and FTP client and server. The HTTP samples leverage the bundled TINI and Rabbit libraries to serve web pages. Axelson also includes examples of running a third-party servlet engine (Tynamo) on the TINI system. Similarly, the sections for sending and receiving email and the FTP client/server leverage the bundled libraries of Rabbit and TINI. I find this appropriate -- why write low-level socket code when there are available libraries that perform all the grunge work for you? If you do need to modify the support libraries, the Rabbit Dynamic C source code is available, but the TINI Java library source code is not.
The last few sections of the book discuss security. Axelson doesn't leave security as a footnote, as she does include sample code for basic authentication, but she also doesn't give security the depth she provided the other topics. Sure, security is a huge topic which would take numerous volumes to cover, but I thought this section could use a little more detail. I would like to have seen example code in the sections on encryption (both symmetric and asymmetric). I would like to have seen what is required to enable SSL in the web server examples. If these were not to be provided, I would have like to have her cite other books which would have completed her discussion as she did in the raw socket communications sections.
What Could Be ImprovedI don't really like the large font and spacing used in this book; I prefer a more condensed text which probably would have reduced the book size some 20% or so. But as I think about it, perhaps this is one characteristic that make Axelson's books so easy to read: there is little eye-strain.
In the hardware sections, I would like to have seen even a trivial example of an NE2000 device driver. It wouldn't even have to be an Ethernet-compliant driver, just something that demonstrates sending and receiving with flow and error control. This would be useful if you were building your own device which didn't include a protocol stack.
In the low-level socket communications sections, I would have preferred to see two things. First, I would have liked to see a test program that communicated between the C-based Rabbit and the Java-based TINI to demonstrate a heterogeneous distributed embedded system. Second, I would have like to seen an echo test program. When prototyping communications to any embedded system I always write an echo test program which begins by transmitting a small message with a numeric value, then listens for messages, increments their value, and sends them back out. Validation testing is performed during this process. This program is easy to write and a great diagnostic tool.
ConclusionSince this is my first book review I can't objectively give it an absolute rating like 4 stars or 8/10 since you have nothing to compare my judgment to. However, I can say that this book is well worth the money spent which, all too often, isn't the case anymore these days. I think Axelson has struck an ideal blend of detail where needed and summary when detail is not required. The book is organized well and should satisfy both the casual bathroom reader and the rigorous, horribly-cracked-binding, lab-bench-reference reader.
I like Axelson's writing style; it's an ideal blend of assume I'm an idiot-style when you need it and in-depth when you want to dig. Another great point: she doesn't stuff the appendices with data sheets, API documentation, or command syntax references. All those can be found on-line and have no place in a book, where they quickly become dated. If you absolutely must have a definite rating, then I'd give it an 8 or 9 out of 10. I would place books like Stevens' Unix Network Programming at a solid 10 and about 99% of the other books out there around a 5.
You can purchase Embedded Ethernet and Internet Complete from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
The Dream Handheld
Reader samjam sent in an interesting piece about his dream handheld PC, sort of a cross between a subnotebook and a wireless web pad, with the kitchen sink thrown in. Mmmmm, light-emitting polymers. I can't decide if this kind of thing is right around the corner or just a fantasy - after all, normal notebook computers sell, and at a nice high premium - and web pads are less than successful - why would anyone spend the money to develop a device like this? samjam writes: "My dream handheld is not available though some things come close. The technology is becoming available.Though it may take a few months, here is what I would put together if I had the chance. Including Bluetooth, IButtons, solar panels and light emitting polymer screens...
For links to other linux handhelds, try linuxdevices.com.
My ideal handheld is the size of an A4 pad of paper, so I have to hold it on my left forearm with the fingers of my left hand curled over the end. A4 gives me plenty of screen space for watching real TV, reading real books, writing real emails, browsing real web pages and doing some real showing off.
The front cover is a solar panel, but I can't decide if the cells should be on the inside or the outside to help charge it while I use it or while I'm not using it. Hard one that.
The screen is not heavy-breakable LCD but LEP (brief technical primer, more on Google) or perhaps Xerox Electronic Paper seemingly available under the name Gyricon, pictures here and slight details here.
The choice of processor doesn't bother me much; I'd like to think there are many versions available of my handheld by many manufacturers (to drive the price down) and so many processors will be available but let's pretend the first release will run on a Transmeta just to keep excitement running high.
60 GB or so should be plenty of disk space, 2.5" IDE to keep weight down.
Input via stylus or sticky finger of course, with support for Graffiti, as used on the Palm and many others, also Quickwriting as featured on Slashdot as well as regular handwriting recognition (take your pick) and other pluggable input modules with popup keyboard for those times when you just can't manage to input a tilde (~) or backtick (`) properly.
Connectivity will be provided via a multitide of USB ports (where real keyboards can be plugged), Bluetooth (useless link) in action (good link), wireless ethernet as well as perhaps as many as 4 PCMCIA slots for things that change a lot like GPRS adaptors &c, or radio and TV tuner cards. Yeah! Why not add some Compact Flash while I'm at it? And boring 100 base T ethernet.
In fact I'm going to use the mobile phone card, along with my sound system to make the whole thing into a mobile phone for voice, not just data access. Talking of phones, the built in web cam can be used for video conferencing with (for example) Gnophone.
Better stick some firewire ports on there, too, for good measure, along with a few IRDA ports pointing in a few different directions for those more subversive inter-classroom networks as well as controlling my grannies telly to show off. And talking to my old non-bluetooth mobile which I can't afford to upgrade cos I spent it all on my handheld.
It will have integrated Ibutton support for security and authentification, maybe even built into the BIOS.
What more do I need? Oh yes, an Operating System. Pick your own.
I shall be running Linux with Ximian Gnome because it looks cool (and Bill Gates was nearly right, eye candy counts for a lot if only not to distract you by means of ugliness). I will be running redhat because I find up2date (or redhat channels of RedCarpet) invaluable effort-free way to remove those exploits, and I will finally get round to playing with Rebol.
The first thing I will need to develop is some network scavenging software to grab internet connectivity where it can for syncing imap folders and news, updating "offline web pages" [yikes! MS concept there]. Code to hi-jack available SMTP relays (*cough*). Does this smell a bit like Jini or something like it? I'll need to register my changing location for Gnophone so callers can find me. Perhaps the first thing for company visitors in the future will be to checkin their Ideal Handheld to the company network.
I will load all my favourite books into it as well as the entire classical Mormon works, copies of conference talks Doctrines of Salvation, Journal of Discourses etc, along with the Bible, Book of Mormon, and all of Project Gutenberg.
What will you do with yours? Have I missed any gizmos out? Or gadgets even?"
-
Slashback: Smallness, Blackouts, South Australia
Slashback is back this evening with more on censorship down under, games that you'll brag to your grandchildren you were glad to be beaten with a hot iron while playing, and more. Enjoy with care."Luxury!" DagBot writes: "TW2002 is still alive and can also be played as TCPIP telnet No BBS need to log into. Its called TWGS (Trade Wars Game Server). There is Still TW2002 communities going strong and I run a TWGS server now and have about 40 regular players playing. There is no large time-wasting BBS to log into, but its quick and easy to get into a game and get back to the good old days where you had to know how to read and have quick fingers to play.
There are also 2 TW2002 helpers that will run right out of the box with full telnet and ANSI support along with user-edited and scripts. Both are great programs Attac uses REXX scripts and Swath uses a Java based script for user defined scripts. Both will get you up and playing in a few minutes thinking about the good old days. My TW2002 stand alone server can be found [here] login, play, get a feel for the good old days."
Until everyone has one, it will keep being submitted, and maybe even then. azephrahel writes: "I am sure almost all of Slashdot's readers have drooled over the possibilities that many of the pc-on-a-stick products now offer. You can buy the uCsimm for $300, the matchbox PC for only $1,495, from emj you can get a 386 on a stick for $130 but you have to fit all your os & code & drivers into .9 Megs. Still that is probably the most reasonable, and made by Jumptech. They make fun toys, but there hard to buy peicemeal at a decent price.
Anyway after all that rambling, I just found this companies site, there called i-Button. They sell java computers called TINI, in a 72 pin simm format, and little button shaped devices called i-buttons (yes the thing in the java ring featured on slashdot in March) The important part, they sell peicemeal, reasonably. I just blew $120 bucks on their site and ended up with a java computer on a stick (TINI, complete with an ethernet controller onboard), a javabutton, a tempterature probe, and a project board to hook up and play with these toys on.
I figured that a few others here would like to hear they can get these toys without selling a spleen."All these things have been mentioned on Slashdot before, but it looks like the era of ubiquitous little tiny parts has arrived, and at a price level sustainable by occasional weekend medical experiments, too.
Fraidja can't see that w'out p'mission, bub. For those of you unhappy with the apparent moves toward censorship in South Australia, Danny Yee writes: "Electronic Frontiers Australia has put online analysis of the South Australian legislation and suggestions for action."
-
The Ultimate Bike
Lenbok writes: "The guys at Dallas Semiconductors have been busy. They've wired a bicycle (pix here) with a local microLAN of web-addressable sensors including temperature sensors, addressable switches, A/D converters, iButtons, and chips to manage battery functions. Quiet electric power, exercised on demand, a full instrument panel (via palmpilot), data login, a Web page for your eBike, and even e-mail while traveling. What more could you ask for? GPS integration? That's on its way." [timothy butts in ...] And don't forget that this is only if you want a semi-normal lookin' electric bike. Don't forget that Steve Roberts has been crankin' the pedals of a series of very wired bikes (and now boats) for a long time. Check out his Nomadic Research Labs for some of the coolest because-we-can technology (home-brewed, and re-purposed COTS stuff) you're likely to find on this planet. -
The Ultimate Bike
Lenbok writes: "The guys at Dallas Semiconductors have been busy. They've wired a bicycle (pix here) with a local microLAN of web-addressable sensors including temperature sensors, addressable switches, A/D converters, iButtons, and chips to manage battery functions. Quiet electric power, exercised on demand, a full instrument panel (via palmpilot), data login, a Web page for your eBike, and even e-mail while traveling. What more could you ask for? GPS integration? That's on its way." [timothy butts in ...] And don't forget that this is only if you want a semi-normal lookin' electric bike. Don't forget that Steve Roberts has been crankin' the pedals of a series of very wired bikes (and now boats) for a long time. Check out his Nomadic Research Labs for some of the coolest because-we-can technology (home-brewed, and re-purposed COTS stuff) you're likely to find on this planet. -
The World's Smallest Webserver(s)
The always excellent Russ Nelson sent us a report on the competition for the lucrative title of "World's Smallest Web Server". Apparently there are a few folks going for it. He writes "HP has one. Dallas Semiconductor has one (only $50). MMC Embedded has one that isn't even in the running, although it does have COM1-4 and LPT1. Dawning Technologies' entry is a joke: far too big to be "smallest". Stanford has one which is best known. And Rt-Control has one named uCsimm because it fits in a SIMM module. The latter two get bonus points for running Linux. Phar Lap claims to have one, but it's a non-starter, being PC-104 based. Dekad Ltd says theirs is really small, but they don't have an Ethernet interface. The one from iReady really seems to be the smallest, but it too lacks Ethernet. Emware's one is so small it doesn't need any hardware (how they claim it's smallest without reference to any hardware, I'll never know). " -
Java Decoder Ring
Andreas Bogk writes "DALLAS has what ought to be the coolest piece of jewelry around: a ring with an integrated microprocessor, running Java and supporting RSA cryptography. Wear your PGP key on your finger!" Sounds neat, server is down as of when I'm posting this, hopefully it'll be back.