Skip to content

Commit b96db01

Browse files
authored
Merge pull request #2151 from fidel-makatia/raspberry-pi-smart-home
Add Privacy-First LLM Smart Home System for Raspberry Pi 5
2 parents 25d3be9 + ef68ec5 commit b96db01

File tree

19 files changed

+582
-0
lines changed

19 files changed

+582
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
additional_search_terms:
3+
- cloud
4+
- deploy
5+
6+
layout: installtoolsall
7+
minutes_to_complete: 15
8+
author: Fidel Makatia
9+
multi_install: false
10+
multitool_install_part: false
11+
official_docs: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
12+
test_images:
13+
- ubuntu:latest
14+
test_maintenance: true
15+
title: AWS CLI
16+
tool_install: true
17+
weight: 1
18+
---
19+
20+
[AWS CLI](https://docs.aws.amazon.com/cli/index.html) is a cross-platform command-line tool that can be installed on development computers. The AWS Command Line Interface (AWS CLI) is a unified tool that provides a consistent interface for interacting with all parts of Amazon Web Services.
21+
22+
It is available for a variety of operating systems and Linux distributions, supports the Arm architecture and has multiple ways to install it.
23+
24+
## What should I do before installing AWS CLI?
25+
26+
This article provides quick solutions to install the latest version of AWS CLI, version 2, for Ubuntu on Arm.
27+
28+
Confirm you are using an Arm computer with 64-bit Linux by running:
29+
30+
```bash { target="ubuntu:latest" }
31+
uname -m
32+
```
33+
34+
The output should be:
35+
36+
```output
37+
aarch64
38+
```
39+
40+
If you see a different result, you are not using an Arm computer running 64-bit Linux.
41+
42+
## How do I download and install AWS CLI version 2?
43+
44+
The easiest way to install the latest version of the AWS CLI for Ubuntu on Arm is to download and run the installer from AWS.
45+
46+
Before starting, install `unzip`:
47+
48+
```bash { target="ubuntu:latest" }
49+
sudo apt update
50+
sudo apt install unzip -y
51+
```
52+
53+
Download the zip file with `curl`, extract the installer, and run it.
54+
55+
```bash { target="ubuntu:latest" }
56+
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
57+
unzip awscliv2.zip
58+
sudo ./aws/install --update
59+
```
60+
61+
Confirm the CLI version 2 is available by invoking the `aws` command to print the version.
62+
63+
```bash { target="ubuntu:latest" }
64+
aws --version
65+
```
66+
67+
Review [AWS CLI v2 is now generally available](https://aws.amazon.com/blogs/developer/aws-cli-v2-is-now-generally-available/) to review the new features in version 2.
68+
69+
You now have the latest version of the AWS CLI installed. Follow [this guide](/install-guides/aws_access_keys/) to generate and configure access keys needed to use the AWS CLI.
87.7 KB
Loading
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Build a Privacy-First LLM Smart Home on Raspberry Pi 5
3+
4+
minutes_to_complete: 45
5+
6+
who_is_this_for: Anyone who wants a private, cloud-free smart home powered by GenAI on Arm
7+
8+
learning_objectives:
9+
- "Deploy a local Large Language Model (LLM) for smart home control"
10+
- "Integrate natural language processing with GPIO control"
11+
- "Build and run everything on Arm-based single-board computers (no cloud required)"
12+
- "Optimize for speed, privacy, and offline operation"
13+
- "Create an interactive web dashboard for smart home control"
14+
prerequisites:
15+
- "Basic Python knowledge"
16+
- "A text editor (e.g., VS Code, Sublime, Notepad++)"
17+
- "An Arm-based single board computer (e.g., Raspberry Pi 5 with at least 8GB RAM)"
18+
- "Basic electronic components such as LEDs, sensors, and relays"
19+
- "Basic understanding of GPIO pins and electronics"
20+
21+
author: "Fidel Makatia Omusilibwa"
22+
23+
### Tags
24+
skilllevels: "Introductory"
25+
subjects: "ML"
26+
armips:
27+
- "Arm Cortex A"
28+
tools_software_languages:
29+
- "Python"
30+
- "Ollama"
31+
- "gpiozero"
32+
- "lgpio"
33+
- "FastAPI"
34+
- "VS Code or your preferred code editor"
35+
- "Raspberry Pi OS (64-bit)"
36+
operatingsystems:
37+
- "Windows , Linux, MacOS"
38+
39+
further_reading:
40+
- resource:
41+
title: "Raspberry Pi 5 Smart Home Assistant with EdgeAI"
42+
link: "https://github.com/fidel-makatia/EdgeAI_Raspi5"
43+
type: "source"
44+
- resource:
45+
title: "Ollama Python/JavaScript Libraries"
46+
link: "https://ollama.com/blog/python-javascript-libraries"
47+
type: "documentation"
48+
- resource:
49+
title: "gpiozero Documentation for Raspberry Pi"
50+
link: "https://gpiozero.readthedocs.io/en/stable/"
51+
type: "documentation"
52+
- resource:
53+
title: "lgpio Library for Raspberry Pi 5"
54+
link: "https://abyz.me.uk/lg/lgpio.html"
55+
type: "documentation"
56+
- resource:
57+
title: "Raspberry Pi 5 Official Documentation"
58+
link: "https://www.raspberrypi.org/documentation/computers/raspberry-pi.html"
59+
type: "documentation"
60+
- resource:
61+
title: "Ollama Model Library"
62+
link: "https://ollama.com/library"
63+
type: "documentation"
64+
65+
### FIXED, DO NOT MODIFY
66+
# ================================================================================
67+
weight: 1 # _index.md always has weight of 1 to order correctly
68+
layout: "learningpathall" # All files under learning paths have this same wrapper
69+
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
70+
---
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
# ================================================================================
3+
# FIXED, DO NOT MODIFY THIS FILE
4+
# ================================================================================
5+
weight: 21 # Set to always be larger than the content in this path to be at the end of the navigation.
6+
title: "Next Steps" # Always the same, html page title.
7+
layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing.
8+
---
22.5 KB
Loading
63.2 KB
Loading
279 KB
Loading
9.28 KB
Loading
61.7 KB
Loading
53.8 KB
Loading

0 commit comments

Comments
 (0)