The Kermit Project |
612 West 115th Street, New York NY 10025 USA • firstname.lastname@example.org
Update September 2010:
This is an ongoing and evolving project. The US Air Force is dropping 10 or 12 EM-APEX floats in front a typhoon near the Philippines this month. A new version of E-Kermit has been deployed in the new floats, which implements true (rather than simulated) sliding window transport protocol, plus some other important improvements. These connections — from a buoy floating in 20-foot seas in driving rain and gale-force winds communicating with an earth satellites through non-error correcting modems to a home station on the other side of the earth — pose one of the toughest challenges that a file-transfer protocol can face. Details to follow...
E-Kermit is now available as Open Source software.
COLUMBIA UNIVERSITY, NEW YORK, 20 SEPTEMBER 2004
CHARLEY, Frances, Ivan, Jeanne... As the hurricane season of 2004 continues to inflict death and destruction throughout the Caribbean, scientists are focussing on the role of ocean currents, temperature, and salinity as they work to improve understanding of hurricane behavior and develop better prediction models to save lives on land and at sea.
Photo: Webb Research
|To collect time-series ocean metrics, scientists and engineers at the University of Washington Applied Physics Laboratory (APL) deployed sensor-laden floats in the Atlantic Ocean in the path of the eye of Hurricane Frances 31 August 2004. The floats, programmed to descend and rise repeatedly to measure conditions as the hurricane approached and passed by, were dropped from aircraft the day before the storm.|
|The devices, manufactured by Webb Research Corporation and called Electromagnetic-Autonomous Profiling Explorers (EM-APEXs) with instrumentation designed and built at APL, measure the ocean's velocity electromagnetically while monitoring water temperature and salinity, with excursions to depths of 500 meters every 16 hours. Each made more than 100 up-and-down profiles, mostly while under water, and then transferred the data they had collected, along with GPS location, over the Iridium satellite cell phone system to an onshore base station, using Columbia University's Embedded Kermit (E-Kermit) software, which had been integrated into the float's control processor by APL Senior Electrical Engineer John Dunlap (pictured on the right, with float), a longtime Kermit Project contributor, who describes Kermit's role in the project:||
Photo: U of Washington Applied Physics
Laboratory. Senior electrical engineers
Jim Carlson and John Dunlap with
the EM-APEX float.
Three of our floats were among the 40 scientific packages launched with
parachutes from an USAF
in front of Hurricane Frances north of Hispaniola. The data is all good and
all parties are pleased. The National Oceanic and Atmospheric (NOAA)
program is called
The EM-APEX float uses Embedded Kermit with an Iridium data modem, a Motorola model 9522. C-Kermit is used ashore on a Linux box with several serial ports and modems. The floats phone home, log in, then give shell commands to start C-Kermit for data transfer. Mission changes are implemented with a file sent to the float. The integration and testing of E-Kermit 1.5 into the float's Philips XAG30 microprocessor took me several days.
We switched to Kermit because the Xmodem protocol was not recovering reliably when bytes were lost. Ocean waves interrupt the signals when they splash over the Iridium antenna which is only about a foot above the ocean surface. We are very pleased to say that all data has arrived intact. This is verified with an end-to-end CRC on each data group which is separate from the Kermit type-3 CRC used used in the actual transfer. The EK addition is fantastic for this application.
John leaves Thursday (September 23rd) on a cruise to collect the floats.
Columbia's Embedded Kermit is ideally suited for applications like this. E-Kermit is the product of more than 20 years' experience with design and real-world implementation of file-transfer protocols that are resilient under harsh conditions, yet can go fast when sailing is smooth. E-Kermit is especially designed for embedding in microcontrollers, where reliable unattended operation in the smallest possible memory footprint is a must. In this application, E-Kermit occupied just 9710 bytes; customer-supplied i/o routines another 4266 bytes, and the customer-supplied control loop 15102 bytes, a total of 29KB.
This is an ongoing and expanding project, watch for new developments in 2010.