Skip to content
Snippets Groups Projects
Commit 712fec03 authored by Ethan Walters's avatar Ethan Walters
Browse files

Added third-party software for node-red and sensing+actuating

parent 20b82d2a
No related branches found
No related tags found
No related merge requests found
......@@ -88,6 +88,40 @@ This folder holds the logic for the website.
# Running the Project #
- On the Pi, run `~/cm2305/pi/start.sh`. On running, this should start Node-Red with required libraries.
# Third-Party Software and Frameworks #
- **Python 3.10.9**
- Purpose: Core programming language used for backend scripts and control logic on the Raspberry Pi.
- Documentation: [https://www.python.org/downloads/release/python-3109/](https://www.python.org/downloads/release/python-3109/)
- **Node-RED** (latest via official installer)
- Purpose: Visual programming environment to wire together hardware, APIs, and data flows.
- Documentation: [https://nodered.org/docs/](https://nodered.org/docs/)
- **node-red-node-serialport** (latest)
- Purpose: Node-RED node to enable serial communication with Arduino boards over USB.
- Documentation: [https://flows.nodered.org/node/node-red-node-serialport](https://flows.nodered.org/node/node-red-node-serialport)
- **Arduino IDE 1.8.xx or newer**
- Purpose: Used to write and upload sketches to the two Arduinos.
- Documentation: [https://www.arduino.cc/en/software](https://www.arduino.cc/en/software)
- **Servo Arduino Library 1.1.8**
- Purpose: Controls servo motors connected to Arduino pins.
- Documentation: [https://www.arduino.cc/reference/en/libraries/servo/](https://www.arduino.cc/reference/en/libraries/servo/)
- **Node.js 22.14.0 and npm**
- Purpose: JavaScript runtime and package manager required to install and run Node-RED on the Raspberry Pi.
- Documentation: [https://nodejs.org/en](https://nodejs.org/en)
- **smbus2 0.5.0**
- Purpose: Python library used for I2C communication with devices like the Grove LCD screen.
- Documentation: [https://pypi.org/project/smbus2/](https://pypi.org/project/smbus2/)
- **RPi.GPIO 0.7.1**
- Purpose: Python library for controlling GPIO pins on the Raspberry Pi.
- Documentation: [https://pypi.org/project/RPi.GPIO/](https://pypi.org/project/RPi.GPIO/)
# Code Documentation #
Code is primarily documented via inline annotations.
The Node-Red flow features two 'comment' nodes that act as pointers for developers, such as an explaination of the Lock and Unlock nodes.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment