Project notes

Aims

One or more of:

Techniques

Software:
Hardware:

Strategies to generate ideas/move on to further stages

Ideas


Strategies

A- Software features requirements :


Writing our own server

Writing a TCP (or UDP?!) server seems like a good project for providing further experience with sockets, multi-threading, protocol-handling and maybe real-time. However, many services could be more easily implemented by using a servlet or CGI in a web server (e.g. Tomcat or Apache) - this would also, in some cases, allow the use of a browser as a ready-made client. Using a servlet or CGI would probably not provide similar experience of sockets etc. So we need to think of a project for which the use of a web server would be inappropriate.

Reasons for not using a web server:
Note that the client doesn't really enter into the reasons for not using a web server. A web server can be used with clients other than a web browser, and there is no reason why a web client couldn't be, for example, a non-interactive process that does its job in the background.

One possibility is a generic server.

Ideas

AA: Ping tonometer
AB: Night-sky guide
AC: Directional sound alerter (e.g birds - has to be selective)
AD: Bird song recognizer.
AE: Sound-guided camera (e.g. in garden)
AF: Dead-reckoner.
AG: Personal energy conversion.
AH: Protocol converter.
AI: Multiple-sonar obstacle detector for robotics and blind.
AJ: PDA for cycling/camping - rechargable (solar/bike), reference for bike/plant ID/first aid/etc., sonar for night movement detection, robust, GPS,GPRS.

AK: Modbus-related products.

AL: Generic TCP/IP server


Research

AA: Ping tonometer

Speed of sound is approx 340m/s in air and about 1500m/s in water (see Wikipedia). An eyeball is approximately 30mm diameter. If the eyeball acts as a cavity resonator, we would expect the diameter to be half the wavelength of the resonance. If the speed of sound in the humour of the eye is around 1500m/s, then a half-wavelength of 30mm would correspond to a resonant frequency of 1500*1000/30 = 50kHz. The resonance we are interested in is probably not what is normally called a "cavity resonance", and is probably determined more by the elasticity/density of the sclera and the pressure of the humour (haven't yet found a reference for this kind of resonance). I would expect the frequency of this resonance to be much lower than 50kHz - though I can't justify this.

Have yet to find any good information on eyeball resonances. One source reckons that "there is an eyeball resonance in the 60-90 Hz range". A patent application says that "resonant frequencies of a pig's eye located outside of the head were found to be between 100 Hz and 1 kHz, higher frequencies being attenuated because of the viscous nature of the aqueous humor and the vitreous body", but says for the human eye that "the lowest vibrational mode is predicted to be at about 1 kHz".

The pulse used to "ping" the eyeball probably has to cover a range of frequencies that includes the resonant frequency (or frequencies) of interest.

"Acoustic resonance analysis" has been used for inspection of mechanical parts for defects, checking chicken eggs for embryo viability, and checking peaches for ripeness.

There are several patents (or patent applications?) for tonometers using acoustic resonance:

AC: Directional sound alerter

Information on getting direction of sound source using microphone arrays:

AE: Sound-guided camera

Some available cameras:

AH: Protocol converter

AK3: Router

  1. From quick research on Modbus routers, seems to be not many routers, and what there is seems to be a bit of an after-thought.
  2. More of a problem is what is motivation for a router, since master can send directly to IP.
  3. Possible use of a router is in security, using ACLs to restrict access - see http://modbusfw.sourceforge.net/
  4. but these are already standard utilities in linux kermel and probably other OS.
  5. From quick look proxy servers offer caching, security, general control over access to servers behind them - probably not that applicable to a modbus application.

AK4: Modbus-to-SNMP Converter

Whether needed:
Useful links:
Some jargon (from a quick first scan of documentation - probably wrong/misleading):
Java support:
SNMP-Modbus converters already available:

AK5: Register mapper


AK6: Slave interrogator


AK7: Enhancements of current products

Possibilities gathered from previous notes and enquiry emails:

AL: Generic TCP/IP server

Signal-processing software

Some open-source signal-processing libraries and applications: