-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Already existing "big" solutions/frameworks #2
Comments
What's missing is a low entry point, many of those solutions, while powerful, are quite complicated to set up. It seems hard to get "just" the communication parts, without involving RunEngines (BlueSky), daemons (yaq), device servers (Tango), etc. @bmoneke failed to install a working Tango installation. Tango needs C++ skills and SQL databases. |
bluesky sends "message" objects and they are queued in the recipient. This seems a good idea to learn from. |
There's an interesting paper "How to Design & Implement a Modern Communication Middleware Based on ZeroMQ" (https://doi.org/10.18429/JACoW-ICALEPCS2017-MOBPL05). I think it's definitely relevant to our design effort, and only a couple of pages. |
Thanks for that source, it is really insightful. |
A few ideas from that paper, which might be good for us or spark a discussion:
|
Yeah, this would ~ also have been my summary of the main points. Thank you for the excerpt! |
Here is the COAP definition (an IoT protocol), which can serve as a language / definition reference and hints for protocol ideas: wikipedia short article: https://en.wikipedia.org/wiki/Constrained_Application_Protocol |
Following from my comment in pymeasure/pymeasure#676 Hi, experimental physics RPC called tango-controls developer here. Late adder, but I already have most things sorted out in my package which is based on ZMQ, with HTTP support. Its a proper RPC, with possibility of REST like design. Its pretty modern, pythonic and a good alternative for older packages coming from experimental physics world like EPICS and tango. I use a tested RPC pattern. I am also adding support for Web of Things. I wish to integrate with all devices you have defined here (in pymeasure). I also need some help to smoothen rough areas from people who are deep into this area and I am open to ideas. Anybody interested? Examples - https://gitlab.com/hololinked-examples/oceanoptics-spectrometer |
My package's slowly upcoming doc is here : https://hololinked.readthedocs.io/en/latest/index.html |
Just an update - If you guys are also doing RPC, I simply propose a merger. |
Hey @VigneshVSV , thanks for telling about your project. It's sad to see, that another project does basically the same thing. I'm glad, that you found your way here to see, whether we could join our efforts.
Yes, LECO offers RPC, we call it the "control protocol". Don't get discouraged by the current state of the LECO protocol definitions. Most issues are sorted out, but due to personal challenges, the last details have not yet been reviewed and merged. The python implementation PyLECO is already in a stable state. In fact, we are using it in our lab for a year or more without on a daily base. It is also published on pypi (not yet on conda). The core of LECO is the message transport among peers (called Components) in the network.
You're welcome to contribute to the protocol definitions (LECO), the python implementation (PyLECO), or add-ons. Your web control sounds very interesting. If you have questions, don't hesitate to ask. |
I dont exactly see a double-effort as a negative thing because one still learns a lot and its better to own one's knowledge thoroughly with practice. I am open to changing stuff within my RPC/merging it, not a issue. It would be best if we once discuss in terms of specifications of user features to see if a merger is possible because both are based on ZeroMQ. May be we can share a power point presentation to each other? Can I write to your email ? I heavily suggest this because the web of things paradigm has a lot of industrial players within it and no representatives from experimental physics side. Further, these industrial players themselves have a few different implementations, some commerical, some open source. Therefore its better to have some united approach from people like us. The web of things is becoming part of W3C and will likely be the future of IoT. |
You can already study and compare what we have come up with on the specification side at the rendered documentation: https://leco-laboratory-experiment-control-protocol.readthedocs.io/en/latest/ :-) |
For future reference - moved conversation to email. |
From here
We should really check what protocols have already been defined. Protocol design is hard and finicky work, and it would pay to make use of the work of those who came before. I got the feeling that we can't be the first ones concerned with this problem space.
If there is something that
we should take a l_ong hard look_ at reusing instead of coming up with our own stuff.
Specifically,
The text was updated successfully, but these errors were encountered: