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...

Descripción completa

Detalles Bibliográficos
Autores principales: Schatz, Alexej, Winter, York
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