Cargando…
LabNet hardware control software for the Raspberry Pi
Single-board computers such as the Raspberry Pi make it easy to control hardware setups for laboratory experiments. GPIOs and expansion boards (HATs) give access to a whole range of sensor and control hardware. However, controlling such hardware can be challenging, when many experimental setups run...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
eLife Sciences Publications, Ltd
2022
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9803348/ https://www.ncbi.nlm.nih.gov/pubmed/36583654 http://dx.doi.org/10.7554/eLife.77973 |
_version_ | 1784861864520318976 |
---|---|
author | Schatz, Alexej Winter, York |
author_facet | Schatz, Alexej Winter, York |
author_sort | Schatz, Alexej |
collection | PubMed |
description | Single-board computers such as the Raspberry Pi make it easy to control hardware setups for laboratory experiments. GPIOs and expansion boards (HATs) give access to a whole range of sensor and control hardware. However, controlling such hardware can be challenging, when many experimental setups run in parallel and the time component is critical. LabNet is a C++ optimized control layer software to give access to the Raspberry Pi connected hardware over a simple network protocol. LabNet was developed to be suitable for time-critical operations, and to be simple to expand. It leverages the actor model to simplify multithreading programming and to increase modularity. The message protocol is implemented in Protobuf and offers performance, small message size, and supports a large number of programming languages on the client side. It shows good performance compared to locally executed tools like Bpod, pyControl, or Autopilot and reaches sub-millisecond range in network communication latencies. LabNet can monitor and react simultaneously to up to 14 pairs of digital inputs, without increasing latencies. LabNet itself does not provide support for the design of experimental tasks. This is left to the client. LabNet can be used for general automation in experimental laboratories with its control PC located at some distance. LabNet is open source and under continuing development. |
format | Online Article Text |
id | pubmed-9803348 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2022 |
publisher | eLife Sciences Publications, Ltd |
record_format | MEDLINE/PubMed |
spelling | pubmed-98033482022-12-31 LabNet hardware control software for the Raspberry Pi Schatz, Alexej Winter, York eLife Neuroscience Single-board computers such as the Raspberry Pi make it easy to control hardware setups for laboratory experiments. GPIOs and expansion boards (HATs) give access to a whole range of sensor and control hardware. However, controlling such hardware can be challenging, when many experimental setups run in parallel and the time component is critical. LabNet is a C++ optimized control layer software to give access to the Raspberry Pi connected hardware over a simple network protocol. LabNet was developed to be suitable for time-critical operations, and to be simple to expand. It leverages the actor model to simplify multithreading programming and to increase modularity. The message protocol is implemented in Protobuf and offers performance, small message size, and supports a large number of programming languages on the client side. It shows good performance compared to locally executed tools like Bpod, pyControl, or Autopilot and reaches sub-millisecond range in network communication latencies. LabNet can monitor and react simultaneously to up to 14 pairs of digital inputs, without increasing latencies. LabNet itself does not provide support for the design of experimental tasks. This is left to the client. LabNet can be used for general automation in experimental laboratories with its control PC located at some distance. LabNet is open source and under continuing development. eLife Sciences Publications, Ltd 2022-12-30 /pmc/articles/PMC9803348/ /pubmed/36583654 http://dx.doi.org/10.7554/eLife.77973 Text en © 2022, Schatz and Winter https://creativecommons.org/licenses/by/4.0/This article is distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use and redistribution provided that the original author and source are credited. |
spellingShingle | Neuroscience Schatz, Alexej Winter, York LabNet hardware control software for the Raspberry Pi |
title | LabNet hardware control software for the Raspberry Pi |
title_full | LabNet hardware control software for the Raspberry Pi |
title_fullStr | LabNet hardware control software for the Raspberry Pi |
title_full_unstemmed | LabNet hardware control software for the Raspberry Pi |
title_short | LabNet hardware control software for the Raspberry Pi |
title_sort | labnet hardware control software for the raspberry pi |
topic | Neuroscience |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9803348/ https://www.ncbi.nlm.nih.gov/pubmed/36583654 http://dx.doi.org/10.7554/eLife.77973 |
work_keys_str_mv | AT schatzalexej labnethardwarecontrolsoftwarefortheraspberrypi AT winteryork labnethardwarecontrolsoftwarefortheraspberrypi |