I want to give a fully free way to talk to test gear in a simple and lightweight way.
But SNMP is not simple. Yes, I know what the S in SNMP stands for. But it it is really only in relation to other network management protocols.
hey, its a new idea and I'm going to give it a try. I'm not saying that its going to be a new fad or anything but snmp is a perfectly fine remote control protocol; and to me, scpi is still just another tree-based command language and so mapping scpi to snmp won't be that hard and I don't think it will be that hard to use, either. snmp is easily scriptable and as long as you have ip connectivity, snmpwalk and snmpset should work just fine.
the other comment about not being closed-loop; I'm not sure how much that will matter to me. if I happen upon that situation, I'll see how best to deal with it, but I'm more thinking about doing a batch setup of gear, starting a 'run', collecting data and then closing down the run. for that, I'm pretty sure this paradigm will work out well enough.
the net-snmp cli tools would be a first way to control things. something like:
% snmpset -v2c -c private 192.168.1.1 KEITHLEY2500::trigger.count.1 = 1
% snmpset -v2c -c private 192.168.1.1 KEITHLEY2500::sample.count.1 = 5
% snmpset -v2c -c private 192.168.1.1 KEITHLEY2500::genCmd.1 = "init; *opc?"
% data = $(snmpget -v2c -c public 192.168.1.1 KEITHLEY2500::response.1)
% echo $data
etc.
in this case, I'm talking to instance 1 of the keithley. I'd first do a walk of the equipment 'slot table' to find out what gear I have and what their instance id's are. here, I found it was '1' (I only have one of these boxes on the network). then I use the instance ID to point to which box the cmds are directed at. do set's to change things and get's to fetch things.
if I want to get fancy, I could even have an snmp trap come out when an experiment is done so I don't have to poll for a status variable.
just some initial thoughts. I know its quite a different take on remote control, but I'm going to work thru it and see if its something that can actually be useful or if its just a tech demo.