Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,36 @@ git submodule update --init

## Update the Golioth Docs submodule

When updates are made to the Golioth Docs repo, the can be pulled into this one by updating the submodule:
When updates are made to the Golioth Docs repo, they can be pulled into this one by updating the submodule to the tip of its default branch (`main`):

```console
git submodule foreach git pull
git submodule update --remote --merge
```

This leaves the updated submodule pointer staged, so commit it to record the update:

```console
git add submodule-goliothdocs
git commit -m "Update Golioth Docs submodule"
```

> **Note:** Don't use `git submodule foreach git pull`. Submodules are checked out in a detached-HEAD state, so a plain `git pull` has no branch to track and fails with *"You are not currently on a branch."*

## Testing and Deploying

The Docusaurus site lives in the `website/` directory, so run all npm commands from there.

Docs pages can be tested locally:

```bash
cd website
npm install
npm start
```

Docs can be deployed to the live page by running:

```bash
cd website
npm run deploy
```
2 changes: 1 addition & 1 deletion submodule-goliothdocs
4 changes: 2 additions & 2 deletions website/docs/api-training/01-what-is-openapi.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: using-openapi
description: |
Use Golioth's OpenAPI Docs to Try our Rest API
description: Learn what the Golioth OpenAPI docs are, create a project API key, and authenticate the interactive docs to test REST API calls.
keywords: [openapi, golioth rest api, api key, authentication, golioth console, swagger, project settings]
---

# Golioth OpenAPI Docs and Authenticating your Project
Expand Down
4 changes: 2 additions & 2 deletions website/docs/api-training/02-get-device-list.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: get-device-list
description: |
Query the Project for a list of Devices
description: Use the Golioth OpenAPI docs to query the Devices endpoint, find your projectId and deviceId, and return a list of fleet devices.
keywords: [openapi, golioth rest api, devices endpoint, projectid, deviceid, device list, fleet, device tags]
---

# Query a list of Devices
Expand Down
4 changes: 2 additions & 2 deletions website/docs/api-training/03-query-lightdb-stream.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: lightb-stream
description: |
Access stored time-series data on LightDB Stream
description: Query stored time-series data from LightDB Stream using the REST API, building a JSON body with field paths, time windows, and filters.
keywords: [lightdb stream, time-series data, golioth rest api, openapi, json query, filters, temperature, sensor data]
---

# Querying LightDB Stream Data
Expand Down
4 changes: 2 additions & 2 deletions website/docs/api-training/04-golioth-console-requests.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: golioth-console-queries
description: |
Learn from the REST API queries issued by the Golioth Console
description: Use Chrome or Firefox developer tools to inspect the REST API requests and endpoints the Golioth Web Console uses behind the scenes.
keywords: [golioth rest api, golioth console, developer tools, network inspector, xhr, lightdb stream, api endpoints]
---

# Learn from the Queries of the Golioth Console
Expand Down
4 changes: 2 additions & 2 deletions website/docs/api-training/05-issue-rpc.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: issue-rpc
description: |
Use the REST API to issue an RPC and view the result
description: Issue a Remote Procedure Call to a device through the Golioth REST API and receive live data such as network info back from the device.
keywords: [rpc, remote procedure call, golioth rest api, openapi, get_network_info, device management, nrf7002dk, multiply]
---

# Issue a Remote Procedure Call
Expand Down
2 changes: 2 additions & 0 deletions website/docs/api-training/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
id: api-training
sidebar_position: -1
description: Explore the Golioth REST API with the interactive OpenAPI tool to list devices, query time-series data, and control your IoT fleet.
keywords: [golioth rest api, openapi, iot fleet, device list, lightdb stream, rpc, api key, golioth console]
---

# Golioth REST API Training Overview
Expand Down
2 changes: 2 additions & 0 deletions website/docs/community/code-of-conduct.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
id: code-of-conduct
sidebar_position: 1
description: The code of conduct for Golioth training, covering expected behavior, harassment policy, and how to contact organizers for in-person and remote events.
keywords: [code of conduct, golioth training, community, harassment policy, conduct expectations, devrel]
---

# Golioth Training Code of Conduct
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: what-is-golioth
description: Learn about Golioth, your Instant IoT Cloud
description: Understand Golioth's cloud-side IoT services and the open source device SDKs that connect Zephyr, NCS, ESP-IDF, and Linux devices to the cloud.
keywords: [golioth, iot cloud, device sdk, zephyr rtos, ncs, esp-idf, ota, lightdb, cloud services]
---

# What is Golioth and how can I use it?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: golioth-console
description: |
Login to Golioth and create a device with credentials.
description: Create a Golioth account, provision your first device through the setup wizard, and retrieve the credentials your hardware needs to authenticate.
keywords: [golioth console, account signup, device provisioning, credentials, psk, dev tier, device management]
---

# Console Signup and Exploration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: |
Use a precompiled application to connect an nRF7002 DK to Golioth
description: Flash a precompiled binary to an nRF7002 DK or nRF9160 DK, add WiFi and Golioth credentials over serial, and watch the device connect to Golioth.
keywords: [nrf7002dk, nrf9160dk, nrf connect for desktop, flash firmware, device credentials, psk, wifi, serial terminal, golioth]
---

import InstallNrfConnect from './\_partials/install_nrf_connect.md'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: device-status
description: |
View live device status on Golioth
description: View live device status in the Golioth Console, including name, blueprint, tags, hardware IDs, sync state, and reported firmware version.
keywords: [device status, golioth console, blueprint, tags, hardware id, device id, settings sync, firmware version]
---

# Device Status
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: lightdb-stream
description: |
View time-series data as it arrives
description: View time-series sensor data as it arrives in LightDB Stream and edit a Golioth Pipeline to route and transform that data, including injecting metadata.
keywords: [lightdb stream, time-series data, pipelines, cbor, json, inject-metadata, sensor data, golioth console]
---

# LightDB Stream (Time-series)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: lightdb-state
description: |
View stateful data
description: Use LightDB State to view and edit a device's bi-directional stateful data in the Golioth Console and observe real-time updates from the dev kit.
keywords: [lightdb state, stateful data, golioth console, real-time updates, key-value, device state, observe]
---

# LightDB State (Stateful)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: remote-logging
description: |
View device logs from the cloud
description: Access device log messages from the cloud in the Golioth Console, filter by level, module, and time, and view logs across your entire fleet.
keywords: [remote logging, device logs, golioth console, log levels, golioth_system, fleet monitoring, csv export]
---

# Remote Logging
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: settings-service
description: |
Change settings fleet-wide, by Blueprint, or by Device
description: Use the Golioth Settings Service to push configuration values fleet-wide, by blueprint, or per device, and verify devices stay synchronized.
keywords: [settings service, device settings, fleet configuration, loop_delay_s, blink_delay_ms, blueprint, settings sync, golioth console]
---

# Device Settings
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: remote-procedure-call
description: |
Issue a remote procedure call and view return data
description: Issue a Remote Procedure Call from the Golioth Console to run a function on your device with input parameters and view the returned data.
keywords: [rpc, remote procedure call, golioth console, get_network_info, multiply, parameters, device control]
---

# Remote Procedure Call (RPC)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: ota-firmware-update
description: |
See how OTA firmware updates work with Golioth
description: Understand how Golioth Over-the-Air firmware updates work, including targeted releases, secondary-slot verification, and one-click rollbacks.
keywords: [ota, firmware update, over-the-air, golioth, rollback, firmware signature, fleet update, secondary slot]
---

# Over-the-Air (OTA) Firmware Update
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
id: device-interaction
description: View live device data and control your fleet from the Golioth Console, covering status, LightDB, logging, settings, RPCs, and OTA updates.
keywords: [golioth console, device interaction, lightdb stream, lightdb state, remote logging, settings service, rpc, ota, fleet management]
---

# Interacting with Devices
Expand Down
4 changes: 2 additions & 2 deletions website/docs/golioth-exploration/03-next-steps.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: next-steps
description: |
Show the options for where to go from here.
description: Choose your next training module after the Golioth intro, moving on to hands-on Zephyr RTOS firmware or the Golioth REST API training track.
keywords: [golioth training, next steps, zephyr training, api training, rest api, learning path]
---


Expand Down
2 changes: 2 additions & 0 deletions website/docs/golioth-exploration/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
id: golioth-exploration
sidebar_position: -1
description: Hands-on intro to Golioth, where you flash firmware to a Nordic dev kit, connect it to the cloud, and explore device data and fleet control.
keywords: [golioth, iot cloud, nrf7002dk, nrf9160dk, device fleet, lightdb, ota, remote logging, zephyr]
---

# Intro to Golioth
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/01_What_is_Zephyr/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: what-is-zephyr
description: |
Get an overview of the major components of Zephyr RTOS
description: An overview of Zephyr RTOS and its major components, including the Zephyr tree, Zephyr SDK, CMake, Kconfig, devicetree, and the west meta tool.
keywords: [zephyr rtos, zephyr tree, zephyr sdk, cmake, kconfig, devicetree, west, hardware abstraction, golioth]
---

# What is Zephyr?
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/01_What_is_Zephyr/cmake.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 2
description:
How CMake is used in Zephyr
description: Learn how Zephyr uses CMake and CMakeLists.txt files to control which C and header files are compiled, including conditional file inclusion.
keywords: [cmake, cmakelists.txt, zephyr build system, target_sources, conditional compilation, zephyr_library_sources_ifdef]
---

# CMake Overview
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/01_What_is_Zephyr/kconfig.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 3
description:
How Kconfig works with Zephyr builds
description: Understand how Kconfig configures the Zephyr kernel and subsystems at build time using prj.conf symbols, merged config files, and menuconfig.
keywords: [kconfig, prj.conf, menuconfig, zephyr build, config symbols, autoconf.h, build configuration]
---

# Kconfig Overview
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/01_What_is_Zephyr/west.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 4
description:
Learn about `west`, the Zephyr meta tool
description: Learn how west, the Zephyr meta tool, manages repositories with manifest files and wraps build, flash, and debug commands across architectures.
keywords: [west, zephyr meta tool, west manifest, west.yml, west init, west update, west build, west flash, repository management]
---

# West Overview
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 1
description:
Learn about setting up a Zephyr development environment
description: Learn why this training uses GitHub Codespaces as a preconfigured, browser-based Zephyr development environment instead of a local toolchain install.
keywords: [zephyr development environment, github codespaces, vs code, zephyr toolchain, ncs, nrf connect sdk, command line]
---

# About the Zephyr Dev Environment
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/02_helloworld/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: hello-world
description: |
Build your first Zephyr app and then improve it.
description: Build, flash, and run your first Zephyr app, then add the in-tree Logging library using menuconfig and make the Kconfig change permanent.
keywords: [zephyr, hello world, west build, menuconfig, kconfig, logging, codespaces, first app]
---

# Build Your First Zephyr App
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 2
description:
Get familiar with VS Code, Codespaces, and `west`
description: Build the Hello World sample in a GitHub Codespace with west, download the compiled binary, flash it to a Nordic dev kit, and view serial output.
keywords: [zephyr, hello world, west build, codespaces, vs code, nrf7002dk, nrf9160dk, west download, serial terminal]
---

import HowToDownload from '/docs/\_partials/download-from-codespaces.md'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 3
description:
Learn about Logging, KConfig, and menuconfig
description: Convert Hello World from printk to the Zephyr Logging system, enabling LOG with menuconfig, registering a module, and using k_msleep in a loop.
keywords: [zephyr logging, log_module_register, log_inf, menuconfig, kconfig, prj.conf, k_msleep, printk, kernel functions]
---

import FirmwareFlash from '/docs/\_partials/flash-the-example-nrf.md'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
id: nrf-connect-desktop
sidebar_position: 1
description: |
Using Nordic's tools for programming and serial terminal
description: Install Nordic's nRF Connect for Desktop Programmer and Serial Terminal apps to flash Codespaces-built binaries and connect to your device over serial.
keywords: [nrf connect for desktop, programmer app, serial terminal, nordic, flash firmware, codespaces, hex file]
---

import InstallNrfConnect from '/docs/golioth-exploration/01-golioth-intro/\_partials/install_nrf_connect.md'
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/03_LED/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: led
description: |
Map an LED using Devicetree and make it glow.
description: Use a Zephyr devicetree overlay to map an LED, learn where devicetree definitions live in the Zephyr tree, and access those nodes from C code.
keywords: [zephyr, devicetree, led, overlay, hardware abstraction, dt_alias, gpio, nodelabel]
---

# Map an LED using Devicetree
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/03_LED/add-led-devicetree.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
id: add-led-devicetree
sidebar_position: 3
description: |
Add your own LED node to Devicetree
description: Write a Zephyr devicetree overlay to add a custom LED node and alias, map a GPIO pin, and reference it from main.c to blink LED2 on a Nordic board.
keywords: [zephyr, devicetree, overlay, led, aliases, gpios, dt_alias, dt_nodelabel, nrf7002dk, nrf9160dk]
---

import HowToDownload from '/docs/\_partials/download-from-codespaces.md'
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/03_LED/build_blinky.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
id: build-blinky
sidebar_position: 2
description: |
Build and flash the Zephyr blinky app
description: Build and flash the Zephyr blinky sample, learn how DT_ALIAS, gpio_dt_spec, and the led0 alias drive an LED, and handle pristine build errors.
keywords: [zephyr, blinky, devicetree, led0, dt_alias, gpio_dt_spec, pristine build, west build, gpio-leds]
---

import HowToDownload from '/docs/\_partials/download-from-codespaces.md'
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/03_LED/devicetree-overview.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
id: devicetree-overview
sidebar_position: 1
description: |
High-level info of what Devicetree is and does
description: A high-level overview of how Zephyr devicetree describes hardware, layering chip, board, and overlay files to enable portability across MCUs.
keywords: [zephyr, devicetree, hardware description, overlay, phandle, compatible, bindings, pinctrl, nrf9160dk]
---

# Devicetree Overview
Expand Down
4 changes: 2 additions & 2 deletions website/docs/zephyr-training/04_blinkRTOS/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: blink-rtos
description: |
Blink an LED using features of the RTOS
description: Blink an LED using two Zephyr RTOS approaches, a kernel timer and a dedicated thread, and learn why yielding time to the scheduler matters.
keywords: [zephyr, rtos, timer, thread, scheduler, k_thread_define, k_timer, led, stack usage]
---

# Using the RTOS
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
sidebar_position: 3
description: "Zephyr can blink with threads!"
description: Move LED blinking to its own Zephyr thread using K_THREAD_DEFINE, learn to yield time to the scheduler, and check thread stack usage from the shell.
keywords: [zephyr, thread, k_thread_define, scheduler, k_sleep, k_yield, mutex, kernel stacks, led]
---

import HowToDownload from '/docs/\_partials/download-from-codespaces.md'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
sidebar_position: 2
description: "Zephyr can blink with timers!"
description: Blink an LED with a Zephyr kernel timer using K_TIMER_DEFINE and k_timer_start, moving the toggle out of the main loop into a timer callback.
keywords: [zephyr, timer, k_timer_define, k_timer_start, callback, rtos, scheduler, led, blinky]
---

import HowToDownload from '/docs/\_partials/download-from-codespaces.md'
Expand Down
Loading