Arduino as a SCPI device

Hi,

I've been asked to generate an environmental monitoring device using an Arduino.

There are several bits of hardware attached which read back temperature/humidity etc.

Sending a message to Arduino will then obtain these readings.

I'd like to "standardise" the communication by basing the expected receipt and response based on SCPI.

And this is where my knowledge ends. Is there some open source SCPI driver that I can use. For example I assume the Checksum of messages is already defined so I don't want to have to re-develop this.

I can use a SCPI parser to ensure the messages coming in are of the correct standard, is that all I need, then some code to deal with the commands that will actually do something?

Your help much appreciated.

What is SCPI ?

...R

Robin2:
What is SCPI ?

...R

google. I did

Juraj:
google. I did

I did too.
SPCI Single-Premium Credit Insurance
That was the first hit. I am not sure what Single-Premium Credit Insurance has to do with an arduino.
:stuck_out_tongue:

Edit: That is a really lame smiley with its tongue sticking out. My intent is to convey that I am attempting to be humorous/sarcastic.

vinceherman:
I did too.
SPCI Single-Premium Credit Insurance
That was the first hit. I am not sure what Single-Premium Credit Insurance has to do with an arduino.
:stuck_out_tongue:

Edit: That is a really lame smiley with its tongue sticking out. My intent is to convey that I am attempting to be humorous/sarcastic.

SCPI not SPCI

The best way to use this forum is to google a bit until you find something close to what you want. Then come here and explain what you want to do differently to that example.

Preferably after downloading it, compiling it for your Arduino and getting some kind of result from your device.

Juraj:
google. I did

I like to leave complicated stuff like that to the OP

…R

SCPI = Standard Commands for Programmable Instruments. It definitely makes more sense when you google the right acronym. Even Yoda, who appears to be mocked for his sentence dyslexia, would have known that.

Anyway - I did do a few searches on using Arduino as a SCPI device but found just a lot of info on how to interface to SCPI devices via Arduino.

I've done a little more digging, since the responder's digs, and found this GitHub - LachlanGunn/oic: Open Instrument Control which is a starting point, but there really isn't much out there.

WilliamCroome:
It definitely makes more sense when you google the right acronym.

It makes even more sense for you as OP to have defined and/or described what it was in the first place, along with a link to the authority which maintains that standard.

WilliamCroome:
there really isn't much out there.

Well how much of a standard is it? Is it a standard de jure, or de facto, or just a wannabee? Does it have, for example, any standing with the IEEE or IEE?

(edit) I'm not finding it even mentioned in TAoE V3, my bible....

arduin_ologist:
It makes even more sense for you as OP to have defined and/or described what it was in the first place, along with a link to the authority which maintains that standard.

+1

...R

But whatever, I'm not getting a mental pic of what you're asking.

Could you cobble together a block diagram showing the main components you anticipate, with links showing the data flows and protocols between them?

A link to the standard is here http://www.ivifoundation.org/docs/scpi-99.pdf

Its an IEEE/IEC standard IEC 60488-2-2004

What I am trying to do is emulate a SCPI based device using my Arduino.

Possibly in my mind I thought the people I might get help from were the people who looked at the post, saw SCPI and knew what that was.

Thanks for taking the time to respond but unless you have knowledge in this very niche area I don't think you will be able to give me the help I'm after, whether or not I have described my problem well enough to forum standards.

Cheers

WilliamCroome:
Possibly in my mind I thought the people I might get help from were the people who looked at the post, saw SCPI and knew what that was.

Yes I was ambivalent about my comment, because that went through my mind too. It is likely that folk would ignore the thread if they didn't recognise the acronym.

That said, there is a chance that someone might think "Hmm, that looks interesting, let me investigate just for the hell of it." I have all sorts of junk that I bought just to play with, having seen threads in various fora that piqued my interest. I got to grips with the device, from reading its datasheet etc etc, then tested it, used in a dummy application, and never used it again. We're tinkerers by nature, and figuring out how to use SCPI in Arduino-land may well tickle someone's fancy.

But you're the one wanting help; if you want to minimise the chance of help by limiting responses to those who already know about SCPI as opposed to those who might be inclined to invsetigate it, that's your loss.

here’s another a github library!

https://github.com/MightyPork/scpi_parser

one thing that I’m not clear on though (maybe its in the IEEE standard but can access that!) is the actual transmission layer ie how are all those commands actually transmitter? It look like, they be ASCII characters but its not clear to me.

couple more links:
http://www.the-control-freak.com/SCPI/SCPI.htm

https://github.com/j123b567/scpi-parser