Jupyter control laboratory equipent using ipywidgets

45 views
Skip to first unread message

Robin Cole

unread,
Aug 9, 2018, 5:25:17 AM8/9/18
to Project Jupyter
Hi all
I am creating a strategy for automation our laboratory equipment where we build small satellites. I have come across interesting projects using Jupyter such as https://github.com/NSLS-II/bluesky but am seeking examples of people using ipywidgets to control equipment. Something similar to https://www.dashdaq.io/ GUI but using Jupyter. Also a nice-to-have is exposing equipment functionality over the lab network via a RESTful API (or perhaps MQTT). I do similar at home with https://www.home-assistant.io/ but want something purpose built for the lab requirements.
Thanks in advance

Patrick Fuller

unread,
Aug 10, 2018, 3:52:57 PM8/10/18
to jup...@googlegroups.com

Hi Robin,

I’ve been using this “home automation for the lab” strategy for a few years now. What I’ve found is there’s no silver bullet. Lab equipment manufacturers often make up their own protocols or half-implement something before going their own way, which means that you usually need to get your hands dirty with custom communication interfaces.

Our solution is to 1. write a python driver for each brand of (serial) equipment, 2. use raspberry pis to expose async HTTP APIs, and 3. tie ipywidgets to HTTP requests. Accomplishing 1 required some up-front work, but 2+3 are easy and I’ve found we don’t bring in many new brands of equipment.

You can see sample drivers here, a blog post here, and I’d be happy to talk further. We’re constantly talking through how to make this process simpler, and I could share much more detail on how we do it today.

Hope this helps,
Pat


--
You received this message because you are subscribed to the Google Groups "Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+u...@googlegroups.com.
To post to this group, send email to jup...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/c73db86b-ddc7-40a2-a78c-71aba2608d93%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages