From 3398c761a73f26ee3fc6baeef9ac0954f171fd99 Mon Sep 17 00:00:00 2001 From: DougAnsonAustinTX Date: Wed, 29 Oct 2025 09:41:38 -0500 Subject: [PATCH 1/5] flattened LP. added new option to hide from nav pane --- .../customcomponentdeployment.md | 2 +- .../edge_impulse_greengrass/hardwaresetup.md | 12 +++---- .../{hardware => }/hardwaresetupec2.md | 31 ++++++++++++------- .../hardwaresetupnvidiajetson.md | 11 +++++-- .../hardwaresetupqc6490ubuntu.md | 11 +++++-- .../{hardware => }/hardwaresetuprpi5.md | 13 ++++++-- .../noncameracustomcomponent.md | 15 ++++++--- .../learning-paths/learningpathall.html | 17 +++++----- 8 files changed, 74 insertions(+), 38 deletions(-) rename content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/{hardware => }/hardwaresetupec2.md (84%) rename content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/{hardware => }/hardwaresetupnvidiajetson.md (94%) rename content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/{hardware => }/hardwaresetupqc6490ubuntu.md (95%) rename content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/{hardware => }/hardwaresetuprpi5.md (93%) rename content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/{hardware => }/noncameracustomcomponent.md (85%) diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/customcomponentdeployment.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/customcomponentdeployment.md index 2496172830..f28ccb6345 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/customcomponentdeployment.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/customcomponentdeployment.md @@ -12,7 +12,7 @@ In this section, we will create an AWS IoT Greengrass deployment that will downl ### 0. (Non-Camera Edge Devices Only): Additional Custom Component -If your edge device does not contain a camera (i.e. EC2 edge device), you will need to deploy an additional custom component. Please follow [these steps](./NonCameraCustomComponent.md) to get the additional component created. You will be selecting this component in addition to the custom component we created for the Edge Impulse "Runner" service. +If your edge device does not contain a camera (i.e. EC2 edge device), you will need to deploy an additional custom component. Please follow [these steps](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/noncameracustomcomponent/) to get the additional component created. You will be selecting this component in addition to the custom component we created for the Edge Impulse "Runner" service. ### 1. Deploy the custom component to a selected Greengrass edge device or group of edge devices. diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetup.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetup.md index dafaace9c6..d8fb82612b 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetup.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetup.md @@ -8,17 +8,15 @@ layout: learningpathall ## Edge Device Hardware Setup -First, an edge device must be setup. In the following sections, Linux-compatible edge devices are detailed to enable them to receive and run as a AWS IoT Greengrass edge device. The list of supported devices will grow over time. +##### First, an edge device must be setup. In the following sections, Linux-compatible edge devices are detailed to enable them to receive and run as a AWS IoT Greengrass edge device. The list of supported devices will grow over time. Please select one of the following and follow the "Setup" link: -Please select one of the following and follow the "Setup" link... +### Option 1: Ubuntu EC2 Instance [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/HardwareSetupEC2/) -### Option 1: Ubuntu EC2 Instance [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/HardwareSetupEC2/) +### Option 2: Qualcomm QC6490 Platforms with Ubuntu [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/HardwareSetupQC6490Ubuntu/) -### Option 2: Qualcomm QC6490 Platforms with Ubuntu [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/HardwareSetupQC6490Ubuntu/) +### Option 3: Nvidia Jetson Platforms with Jetpack 5.x/6.0 [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/HardwareSetupNvidiaJetson/) -### Option 3: Nvidia Jetson Platforms with Jetpack 5.x/6.0 [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/HardwareSetupNvidiaJetson/) - -### Option 4: Raspberry Pi 5 with RaspberryPi OS [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/HardwareSetupRPi5/) +### Option 4: Raspberry Pi 5 with RaspberryPi OS [Setup](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/HardwareSetupRPi5/) #### (More exciting device options will be added soon. Stay tuned!) \ No newline at end of file diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupec2.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupec2.md similarity index 84% rename from content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupec2.md rename to content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupec2.md index f8aed88de1..c621196700 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupec2.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupec2.md @@ -1,3 +1,10 @@ +--- +hide_from_navpane: true + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + ## Setup and Configuration for Ubuntu-based EC2 instance ### Create Ubuntu EC2 Instance @@ -6,42 +13,42 @@ AWS EC2 instances can be used to simulate edge devices when edge device hardware We'll start by opening our AWS Console and search for EC2: -![AWS Console](../images/EC2_Setup_1.png) +![AWS Console](./images/EC2_Setup_1.png) We'll now open the EC2 console page: -![AWS EC2 Console](../images/EC2_Setup_2.png) +![AWS EC2 Console](./images/EC2_Setup_2.png) Select "Launch instance". Provide a Name for the EC2 instance and select the "Ubuntu" Quick Start option. Additionally, select "64-bit(Arm)" as the architecture type and select "t4g.large" as the Instance type: -![Create EC2 Instance](../images/EC2_Setup_3.png) +![Create EC2 Instance](./images/EC2_Setup_3.png) Additionally, please click on "Create new Key Pair" and provide a name for a new SSH key pair that will be used to SSH into our EC2 instance. Press "Create key pair": -![Create EC2 Keypair](../images/EC2_Setup_4.png) +![Create EC2 Keypair](./images/EC2_Setup_4.png) >**_NOTE:_** >You will notice that a download will occur with your browser. Save off this key (a .pem file) as we'll use it shortly. Next, we need to edit our "Network Settings" for our EC2 instance... scroll down to "Network Settings" and press "Edit": -![Security Group](../images/EC2_Setup_4_ns.png) +![Security Group](./images/EC2_Setup_4_ns.png) Press "Add security group rule" and lets allow port tcp/4912: -![Security Group](../images/EC2_Setup_4_4912.png) +![Security Group](./images/EC2_Setup_4_4912.png) Lets also give the EC2 instance a bit more disk space. Please change the "8" to "28" here: -![Increase disk space](../images/EC2_Setup_5.png) +![Increase disk space](./images/EC2_Setup_5.png) Finally, press "Launch instance". You should see your EC2 instance getting created: -![Launch Instance](../images/EC2_Setup_6.png) +![Launch Instance](./images/EC2_Setup_6.png) Now, press "View all instances" and press the refresh button... you should see your new EC2 instance in the "Running" state: -![Running Instance](../images/EC2_Setup_7.png) +![Running Instance](./images/EC2_Setup_7.png) You can scroll over and save off your Public IPv4 IP Address. You'll need this to SSH into your EC2 instance. @@ -55,7 +62,7 @@ Lets now confirm that we can SSH into our EC2 instance. With the saved off pem f You should see a login shell now for your EC2 instance! -![Login Shell](../images/EC2_Setup_8.png) +![Login Shell](./images/EC2_Setup_8.png) Excellent! You can keep that shell open as we'll make use of it when we start installing Greengrass a bit later. @@ -105,6 +112,6 @@ Before we go to the next section, lets also save off this JSON - it will be used } } -OK, Lets proceed to the next step and get our Edge Impulse environment setup! +OK, Lets proceed to the next step and get our Edge Impulse environment setup! Press "Next" to continue: -[Next](../../edgeimpulseprojectbuild/) +### [Next](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/edgeimpulseprojectbuild/) diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupnvidiajetson.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupnvidiajetson.md similarity index 94% rename from content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupnvidiajetson.md rename to content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupnvidiajetson.md index 436328a2a1..a8f8705829 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupnvidiajetson.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupnvidiajetson.md @@ -1,3 +1,10 @@ +--- +hide_from_navpane: true + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + ## Install/Configure Nvidia Jetpack (Jetson devices) The workshop will assume that the Nvidia Jetson edge device has been loaded with Jetpack 5.x and/or Jetpack 6.0 per flashing instructions located at this [Nvidia website](https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html). @@ -87,6 +94,6 @@ We are now setup! Before we continue, please save off the following JSONs. Thes } } -OK! Lets continue by getting our Edge Impulse project setup! Let's go! +OK! Lets continue by getting our Edge Impulse project setup! Let's go! Press "Next" to continue: -[Next](../../edgeimpulseprojectbuild/) \ No newline at end of file +### [Next](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/edgeimpulseprojectbuild/) \ No newline at end of file diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupqc6490ubuntu.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupqc6490ubuntu.md similarity index 95% rename from content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupqc6490ubuntu.md rename to content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupqc6490ubuntu.md index 8be5496230..b4d65ba220 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetupqc6490ubuntu.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetupqc6490ubuntu.md @@ -1,3 +1,10 @@ +--- +hide_from_navpane: true + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + ## Ubuntu-based QC6490 platforms First, please flash your QC6490 device per your manufacturers instructions to load up Ubuntu onto the device. @@ -120,6 +127,6 @@ We are now setup! Before we continue, please save off the following JSONs. Thes } } -OK! Lets continue by getting our Edge Impulse project setup! Let's go! +OK! Lets continue by getting our Edge Impulse project setup! Let's go! Press "Next" to continue: -[Next](../../edgeimpulseprojectbuild/) \ No newline at end of file +### [Next](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/edgeimpulseprojectbuild/) \ No newline at end of file diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetuprpi5.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetuprpi5.md similarity index 93% rename from content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetuprpi5.md rename to content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetuprpi5.md index af9477a537..38c40e0a9d 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/hardwaresetuprpi5.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardwaresetuprpi5.md @@ -1,3 +1,10 @@ +--- +hide_from_navpane: true + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + ## Setup and configuration of Raspberry Pi 5 with Raspberry Pi OS ### Install RaspberryPi OS @@ -8,7 +15,7 @@ First step in this exercise is to install the latest version of the Raspberry Pi The easiest way to setup Raspberry Pi OS is to follow the instructions here after downloading and installing the Raspberry Pi Imager application: -![Raspberry Pi Imager](../images/RPi_Imager.png) +![Raspberry Pi Imager](./images/RPi_Imager.png) Instructions: [Install Raspberry Pi Imager](https://www.raspberrypi.com/software/) @@ -101,6 +108,6 @@ Lastly, please safe off these JSONs. These will be used to customize our AWS Gr } } -Alright! Lets continue by getting our Edge Impulse project setup! Let's go! +Alright! Lets continue by getting our Edge Impulse project setup! Let's go! Press "Next" to continue: -[Next](../../edgeimpulseprojectbuild/) \ No newline at end of file +### [Next](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/edgeimpulseprojectbuild/) \ No newline at end of file diff --git a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/noncameracustomcomponent.md b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/noncameracustomcomponent.md similarity index 85% rename from content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/noncameracustomcomponent.md rename to content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/noncameracustomcomponent.md index 6be44f2a4a..b818d04e49 100644 --- a/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/hardware/noncameracustomcomponent.md +++ b/content/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/noncameracustomcomponent.md @@ -1,3 +1,10 @@ +--- +hide_from_navpane: true + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + ## Non-Camera Custom Component For those edge devices that do not contain a camera, the following component will prepare the edge device with some sample images that can be referenced by the Edge Impulse "Runner" component's JSON configuration (via "gst\_args" settings) to direct the running model to pull its image data from the file (vs. camera). @@ -31,16 +38,16 @@ Next, we need to edit the EdgeImpulseRunnerRuntimeInstallerComponent.yaml and ch Within the AWS dashboard, go to the IoTCore dashboard, then navigate to "Components" under the "Greengrass devices" drop-down on the left hand side. -![CreateComponent](GG_Create_NC_Component_1.png) +![CreateComponent](./images/GG_Create_NC_Component_1.png) Press "Create Component" and select "YAML" as the recipe format type. Copy and paste the contents of your updated/modified file EdgeImpulseRunnerRuntimeInstallerComponent.yaml into the text window after clearing the initial contents: -![CreateComponent](GG_Create_NC_Component_2.png) +![CreateComponent](./images/GG_Create_NC_Component_2.png) Finally, press "Create Component" and you should now have 2 custom components registered: -![CreateComponent](GG_Create_NC_Component_3.png) +![CreateComponent](./images/GG_Create_NC_Component_3.png) Awesome! Now that the non-camera support component is created, we can go back and continue with the deployment of these components to your edge device via the AWS IoT Greengrass deployment mechanism. Press "Return to Deployment Steps" below and continue! -[Return to Deployment Steps](../6_CustomComponentDeployment/CustomComponentDeployment.md) \ No newline at end of file +### [Return to Deployment Steps](/learning-paths/embedded-and-microcontrollers/edge_impulse_greengrass/customcomponentdeployment/) \ No newline at end of file diff --git a/themes/arm-design-system-hugo-theme/layouts/learning-paths/learningpathall.html b/themes/arm-design-system-hugo-theme/layouts/learning-paths/learningpathall.html index 303775fb78..af9da8cedf 100644 --- a/themes/arm-design-system-hugo-theme/layouts/learning-paths/learningpathall.html +++ b/themes/arm-design-system-hugo-theme/layouts/learning-paths/learningpathall.html @@ -47,12 +47,15 @@
+ {{ if ne .Params.hide_from_navpane true }} + {{ if (eq .File.Dir $thisdir)}} + {{ $learningpathfiles = $learningpathfiles | append . }} + + + {{partial "navigation/content-navigation.html" (dict "context" . "thisfile" $thisfile "counter" $counter) }} + {{ $counter = add $counter 1 }} + {{ end }} {{ end }} {{end}} {{end}} @@ -91,4 +94,4 @@
Date: Wed, 29 Oct 2025 11:04:40 -0500 Subject: [PATCH 4/5] removed from the metadata content page --- .../cross-platform/_example-learning-path/write-2-metadata.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/learning-paths/cross-platform/_example-learning-path/write-2-metadata.md b/content/learning-paths/cross-platform/_example-learning-path/write-2-metadata.md index 2bf1453f98..13261e0197 100644 --- a/content/learning-paths/cross-platform/_example-learning-path/write-2-metadata.md +++ b/content/learning-paths/cross-platform/_example-learning-path/write-2-metadata.md @@ -26,7 +26,6 @@ The following metadata is defined in the `_index.md` file: | learning_objectives | 2-5 bullet points, one sentence each, describing what a reader will learn. Should start with a verb (deploy, measure). | | prerequisites | Everything needed before this Learning Path can be started. Can include online service accounts, prior knowledge, previous Learning Paths, or specific tools and software. Offers explanatory links when possible. | | author | The name of the person or people who wrote the Learning Path. | -| hide_from_navpane | Optional: set to **true** if the author does not want a specific markdown page to appear in the navigation pane. | Look at other Learning Paths for inspiration about how to write a good title, learning objectives, and prerequisites. From 7f0bb9f02345d39ede83c4f84660c42cbd8fbef9 Mon Sep 17 00:00:00 2001 From: DougAnsonAustinTX Date: Wed, 29 Oct 2025 14:42:13 -0500 Subject: [PATCH 5/5] pulled new metadata tag from example LP for now --- .../_example-learning-path/appendix-1-formatting.md | 8 -------- .../cross-platform/_example-learning-path/questions.md | 7 ------- 2 files changed, 15 deletions(-) diff --git a/content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md b/content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md index 304833dac9..5b1a41506e 100644 --- a/content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md +++ b/content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md @@ -300,13 +300,5 @@ You can also give a custom title as specified here. - Work {{% /notice %}} -## Hiding a page from being listed in the navigation pane -Use the following metadata in your markdown page to effectively "hide" the page from being listed in the navigation pane: - -```markdown ---- -hide_from_navpane: true ---- -``` diff --git a/content/learning-paths/cross-platform/_example-learning-path/questions.md b/content/learning-paths/cross-platform/_example-learning-path/questions.md index 51cb91eda6..27dac51177 100644 --- a/content/learning-paths/cross-platform/_example-learning-path/questions.md +++ b/content/learning-paths/cross-platform/_example-learning-path/questions.md @@ -31,10 +31,3 @@ Modify the weight values to be unique and the extra buttons will disappear. There are various reasons this can happen. One being that the top links on the page will take you to the external site. Make sure that you are still viewing the Hugo server on `localhost`. -### I have a markdown page in my Learning Path that I do not want to have it listed in the navigation pane... how do I hide it? - -Simple: in the markdown page's metadata block, add the following metdata tag: - -```markdown - hide_from_navpane: true -```