I've played with RS485 and TTL comms before.
I've come across this interesting page, and I realise at the base of it all, It'll be digitalWrite type bit banging to make this type of comms happen.
The point of this scheme, is that it is almost immune to electrical interference. What you need to do, is build a "constant current source" which generates 45 mA, and then keep turning it on and off according to the binary code you are trying to send. An easy way to make a constant current source is I think using a LM317 regulator and setting it up with the right external resistors and feedback to make it into a constant current device.
Google "LM317 constant current", should give you some places to start looking. You then need to devise a way to turn it on and off at the appropriate timing, should not be too hard.
current loops are relatively immune to capacitive interference, which is high-impedance,
because its a low-impedance technique, but that won't protect it from inductive interference
per-se, its being a high-voltage signalling scheme that does that. So current loops running
at 20V or so are going to withstand loads of full-on EMI, but at a cost of lots of power
wasted.
A differential signalling scheme is probably a better performer, since cancelling out
interference to a first-order allows lower voltages and currents for the same robustness.
(PS the name is a bit odd really, all circuits are current loops!)
Yeh, I'll be the 'poller', the other end likely has the resistors and such already in place.
To be the client, it sounds like all I need to do is add a transformer, I'm not yet sure if it's AC or DC, and what potential.
To find that out, I suppose I need to know the resistance on the other end...
Then, to talk to it, the opto isolator should be all that is needed?