The interval between successive high tides is usually around 12.5 hours. In an ideal world the tide height against time is a sinusoidal curve; local effects change this, with the Solent being particularly non-sinusoidal - you get a double high water in places. (see http://www.ntslf.org/data/realtime?port=Portsmouth
for Portsmouth, which is relatively good compared with nearby Southampton (http://easytide.ukho.gov.uk/easytide/ea ... onLength=2
Calculation of tide height involves a number of 'harmonic constants' - can be 200 or more, although a smaller number will suffice for a reasonable approximation.
Have a look at http://www.wxtide32.com/
- I found that its times of high/low tide were within half an hour of more accurate predictions from other sources (for the River Thames, at least). More to the point, you could download its source code (or the original XTide http://www.flaterco.com/xtide/
, which being a Unix program might need less work to run on the Pi).
A number of ports (e.g. Portsmouth - http://www.qhm.mod.uk/portsmouth/port/tides
) also publish tide tables.
Or you may be able to get a data feed from Bramble Bank weather station (http://www.bramblemet.co.uk/%28S%28zyua ... fault.aspx
) out in the Solent.
Maybe you could improve on the original tide gauge display!