.env.example
CHANGELOG.md
CONTRIBUTING.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
requirements-dev.txt
requirements.txt
docs/MIGRATION_REPORT.md
docs/NIELIT_RaspberryPi_Manual.html
docs/PRACTICAL_INVENTORY.md
docs/index.html
docs/assets/manual.css
docs/assets/manual.js
docs/assets/practicals_data.js
docs/hardware/README.md
docs/installation/README.md
docs/troubleshooting/README.md
examples/practical_3_1/README.md
examples/practical_3_1/main.py
examples/practical_3_10/README.md
examples/practical_3_10/main.py
examples/practical_3_10/__pycache__/main.cpython-310.pyc
examples/practical_3_11/README.md
examples/practical_3_11/main.py
examples/practical_3_11/__pycache__/main.cpython-310.pyc
examples/practical_3_12/README.md
examples/practical_3_12/main.py
examples/practical_3_12/__pycache__/main.cpython-310.pyc
examples/practical_3_13/README.md
examples/practical_3_13/main.py
examples/practical_3_13/__pycache__/main.cpython-310.pyc
examples/practical_3_14/README.md
examples/practical_3_14/main.py
examples/practical_3_14/__pycache__/main.cpython-310.pyc
examples/practical_3_15/README.md
examples/practical_3_15/main.py
examples/practical_3_15/__pycache__/main.cpython-310.pyc
examples/practical_3_16/README.md
examples/practical_3_16/main.py
examples/practical_3_16/__pycache__/main.cpython-310.pyc
examples/practical_3_17/README.md
examples/practical_3_17/main.py
examples/practical_3_17/__pycache__/main.cpython-310.pyc
examples/practical_3_18/README.md
examples/practical_3_18/main.py
examples/practical_3_18/__pycache__/main.cpython-310.pyc
examples/practical_3_19/README.md
examples/practical_3_19/main.py
examples/practical_3_19/__pycache__/main.cpython-310.pyc
examples/practical_3_1/__pycache__/main.cpython-310.pyc
examples/practical_3_2/README.md
examples/practical_3_2/main.py
examples/practical_3_20/README.md
examples/practical_3_20/main.py
examples/practical_3_20/__pycache__/main.cpython-310.pyc
examples/practical_3_2/__pycache__/main.cpython-310.pyc
examples/practical_3_3/README.md
examples/practical_3_3/main.py
examples/practical_3_3/__pycache__/main.cpython-310.pyc
examples/practical_3_4/README.md
examples/practical_3_4/main.py
examples/practical_3_4/__pycache__/main.cpython-310.pyc
examples/practical_3_5/README.md
examples/practical_3_5/main.py
examples/practical_3_5/__pycache__/main.cpython-310.pyc
examples/practical_3_6/README.md
examples/practical_3_6/main.py
examples/practical_3_6/__pycache__/main.cpython-310.pyc
examples/practical_3_7/README.md
examples/practical_3_7/main.py
examples/practical_3_7/__pycache__/main.cpython-310.pyc
examples/practical_3_8/README.md
examples/practical_3_8/main.py
examples/practical_3_8/__pycache__/main.cpython-310.pyc
examples/practical_3_9/README.md
examples/practical_3_9/main.py
examples/practical_3_9/__pycache__/main.cpython-310.pyc
src/nielit_raspberrypi_practicals.egg-info/PKG-INFO
src/nielit_raspberrypi_practicals.egg-info/SOURCES.txt
src/nielit_raspberrypi_practicals.egg-info/dependency_links.txt
src/nielit_raspberrypi_practicals.egg-info/entry_points.txt
src/nielit_raspberrypi_practicals.egg-info/requires.txt
src/nielit_raspberrypi_practicals.egg-info/top_level.txt
src/nielit_rpi/__init__.py
src/nielit_rpi/cli.py
src/nielit_rpi/py.typed
src/nielit_rpi/version.py
src/nielit_rpi/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/__pycache__/cli.cpython-310.pyc
src/nielit_rpi/__pycache__/version.cpython-310.pyc
src/nielit_rpi/actuators/__init__.py
src/nielit_rpi/actuators/relay.py
src/nielit_rpi/actuators/servo.py
src/nielit_rpi/actuators/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/actuators/__pycache__/relay.cpython-310.pyc
src/nielit_rpi/actuators/__pycache__/servo.cpython-310.pyc
src/nielit_rpi/communication/__init__.py
src/nielit_rpi/communication/mqtt.py
src/nielit_rpi/communication/rfid.py
src/nielit_rpi/communication/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/communication/__pycache__/mqtt.cpython-310.pyc
src/nielit_rpi/communication/__pycache__/rfid.cpython-310.pyc
src/nielit_rpi/config/__init__.py
src/nielit_rpi/config/settings.py
src/nielit_rpi/config/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/config/__pycache__/settings.cpython-310.pyc
src/nielit_rpi/displays/__init__.py
src/nielit_rpi/displays/lcd_i2c.py
src/nielit_rpi/displays/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/displays/__pycache__/lcd_i2c.cpython-310.pyc
src/nielit_rpi/examples/__init__.py
src/nielit_rpi/examples/practical_3_1/README.md
src/nielit_rpi/examples/practical_3_1/main.py
src/nielit_rpi/examples/practical_3_10/README.md
src/nielit_rpi/examples/practical_3_10/main.py
src/nielit_rpi/examples/practical_3_10/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_11/README.md
src/nielit_rpi/examples/practical_3_11/main.py
src/nielit_rpi/examples/practical_3_11/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_12/README.md
src/nielit_rpi/examples/practical_3_12/main.py
src/nielit_rpi/examples/practical_3_12/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_13/README.md
src/nielit_rpi/examples/practical_3_13/main.py
src/nielit_rpi/examples/practical_3_13/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_14/README.md
src/nielit_rpi/examples/practical_3_14/main.py
src/nielit_rpi/examples/practical_3_14/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_15/README.md
src/nielit_rpi/examples/practical_3_15/main.py
src/nielit_rpi/examples/practical_3_15/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_16/README.md
src/nielit_rpi/examples/practical_3_16/main.py
src/nielit_rpi/examples/practical_3_16/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_17/README.md
src/nielit_rpi/examples/practical_3_17/main.py
src/nielit_rpi/examples/practical_3_17/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_18/README.md
src/nielit_rpi/examples/practical_3_18/main.py
src/nielit_rpi/examples/practical_3_18/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_19/README.md
src/nielit_rpi/examples/practical_3_19/main.py
src/nielit_rpi/examples/practical_3_19/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_1/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_2/README.md
src/nielit_rpi/examples/practical_3_2/main.py
src/nielit_rpi/examples/practical_3_20/README.md
src/nielit_rpi/examples/practical_3_20/main.py
src/nielit_rpi/examples/practical_3_20/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_2/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_3/README.md
src/nielit_rpi/examples/practical_3_3/main.py
src/nielit_rpi/examples/practical_3_3/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_4/README.md
src/nielit_rpi/examples/practical_3_4/main.py
src/nielit_rpi/examples/practical_3_4/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_5/README.md
src/nielit_rpi/examples/practical_3_5/main.py
src/nielit_rpi/examples/practical_3_5/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_6/README.md
src/nielit_rpi/examples/practical_3_6/main.py
src/nielit_rpi/examples/practical_3_6/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_7/README.md
src/nielit_rpi/examples/practical_3_7/main.py
src/nielit_rpi/examples/practical_3_7/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_8/README.md
src/nielit_rpi/examples/practical_3_8/main.py
src/nielit_rpi/examples/practical_3_8/__pycache__/main.cpython-310.pyc
src/nielit_rpi/examples/practical_3_9/README.md
src/nielit_rpi/examples/practical_3_9/main.py
src/nielit_rpi/examples/practical_3_9/__pycache__/main.cpython-310.pyc
src/nielit_rpi/gpio/__init__.py
src/nielit_rpi/gpio/button.py
src/nielit_rpi/gpio/buzzer.py
src/nielit_rpi/gpio/led.py
src/nielit_rpi/gpio/pwm_led.py
src/nielit_rpi/gpio/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/gpio/__pycache__/button.cpython-310.pyc
src/nielit_rpi/gpio/__pycache__/buzzer.cpython-310.pyc
src/nielit_rpi/gpio/__pycache__/led.cpython-310.pyc
src/nielit_rpi/gpio/__pycache__/pwm_led.cpython-310.pyc
src/nielit_rpi/networking/__init__.py
src/nielit_rpi/networking/flask_app.py
src/nielit_rpi/networking/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/networking/__pycache__/flask_app.cpython-310.pyc
src/nielit_rpi/sensors/__init__.py
src/nielit_rpi/sensors/adc.py
src/nielit_rpi/sensors/dht.py
src/nielit_rpi/sensors/pir.py
src/nielit_rpi/sensors/ultrasonic.py
src/nielit_rpi/sensors/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/sensors/__pycache__/adc.cpython-310.pyc
src/nielit_rpi/sensors/__pycache__/dht.cpython-310.pyc
src/nielit_rpi/sensors/__pycache__/pir.cpython-310.pyc
src/nielit_rpi/sensors/__pycache__/ultrasonic.cpython-310.pyc
src/nielit_rpi/storage/__init__.py
src/nielit_rpi/storage/sqlite_logger.py
src/nielit_rpi/storage/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/storage/__pycache__/sqlite_logger.cpython-310.pyc
src/nielit_rpi/utilities/__init__.py
src/nielit_rpi/utilities/cleanup.py
src/nielit_rpi/utilities/system_info.py
src/nielit_rpi/utilities/__pycache__/__init__.cpython-310.pyc
src/nielit_rpi/utilities/__pycache__/cleanup.cpython-310.pyc
src/nielit_rpi/utilities/__pycache__/system_info.cpython-310.pyc
tests/conftest.py
tests/__pycache__/conftest.cpython-310-pytest-8.2.2.pyc
tests/integration/__init__.py
tests/unit/__init__.py
tests/unit/test_actuators.py
tests/unit/test_cli.py
tests/unit/test_communication.py
tests/unit/test_config.py
tests/unit/test_displays.py
tests/unit/test_gpio.py
tests/unit/test_sensors.py
tests/unit/test_storage.py
tests/unit/__pycache__/__init__.cpython-310.pyc
tests/unit/__pycache__/test_actuators.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_cli.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_communication.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_config.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_displays.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_gpio.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_sensors.cpython-310-pytest-8.2.2.pyc
tests/unit/__pycache__/test_storage.cpython-310-pytest-8.2.2.pyc