Skip to content

Commit a50e5e7

Browse files
committed
Changes made as per request
1 parent 36c2a85 commit a50e5e7

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

joss-paper/paper.bib

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,18 @@ @article{Knoll:2010
4242
pages = {495–501},
4343
volume = {18},
4444
doi = {10.1002/cae.20217}
45+
}
46+
47+
@software{RPi.GPIO,
48+
author = {Ben Croston},
49+
title = {RPi.GPIO: A Python library for Raspberry Pi GPIO control},
50+
year = {2024},
51+
url = {https://pypi.org/project/RPi.GPIO/}
52+
}
53+
54+
@software{Diozero,
55+
author = {Matt Hawkins},
56+
title = {Diozero: Device I/O library for the Raspberry Pi and other platforms},
57+
year = {2024},
58+
url = {https://github.com/mattjlewis/diozero}
4559
}

joss-paper/paper.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ This allows researchers to use Java, a well-established programming language in
5050
enabling the development of custom research instruments at a lower cost. The ability to interface multiple sensors simultaneously also
5151
promotes collaborative use in shared research environments, reducing the bottleneck often encountered when multiple users need to access sensor data concurrently.
5252

53-
Unlike existing solutions like **Diozero** and **Spring for Raspberry Pi**, Pi4Micronaut is built on the Micronaut framework’s lightweight microservice architecture with its efficient dependency injection system.
54-
By utilizing `@Singleton` communication beans, Pi4Micronaut effectively manages GPIO interactions, improving modularity, performance, and scalability for hardware integration on the Raspberry Pi.
53+
Existing software packages for Raspberry Pi GPIO control include **RPi.GPIO** [@RPi.GPIO], a popular Python library that provides direct, low-level access to GPIO pins and is widely used for simple hardware interfacing and scripting. However, RPi.GPIO is limited to Python and does not offer abstractions for hardware components or support for scalable application architectures. **Diozero** [@Diozero] provides a component-oriented Java API for GPIO, I2C, SPI, and PWM devices, encapsulating devices as high-level classes and supporting multiple board types.
54+
55+
Both Diozero and Pi4Micronaut abstract hardware details, but Pi4Micronaut is mainly focused on Raspberry Pi and distinguished by its deep integration with the Micronaut framework, enabling advanced features such as dependency injection, modular microservice architectures, and seamless bean management. In Pi4Micronaut, hardware components are managed as Micronaut beans, enabling scalable and maintainable IoT applications for complex research and scientific computing.
56+
5557
Pi4Micronaut simplifies deployment by allowing developers to package the entire application as a single `.jar` file, reducing complexity and improving maintainability.
5658
Additionally, this deployment model ensures that the entire application, including dependencies, is bundled in one executable file, simplifying installation and reducing the risk of version conflicts.
5759

0 commit comments

Comments
 (0)