Skip to content

Commit

Permalink
DOCS-3049: Update viam-server page slightly
Browse files Browse the repository at this point in the history
  • Loading branch information
npentrel committed Oct 23, 2024
1 parent b124296 commit f4035b4
Show file tree
Hide file tree
Showing 10 changed files with 18 additions and 17 deletions.
2 changes: 1 addition & 1 deletion docs/appendix/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ The docs use the [Diátaxis Framework](https://diataxis.fr/) as the basis of t

- **Explanation (conceptual)**: An understanding-oriented piece of content.
This content provides background knowledge on a topic and tends to be referenced in how-to guides and tutorials.
For example the [`viam-server` page](/architecture/rdk/) or the [Registry page](/registry/).
For example the [`viam-server` page](/architecture/viam-server/) or the [Registry page](/registry/).
It’s useful to have a real or imagined "Why?" question to serve as a prompt.

{{< expand "Click to view template" >}}
Expand Down
2 changes: 1 addition & 1 deletion docs/appendix/glossary/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Models allow you to control hardware or software of a similar category, such as
For example, some _models_ of DC motors communicate using [GPIO](/components/board/), while other DC motors use serial protocols like the SPI bus.
Regardless, you can power any motor model that implements the `rdk:component:motor` API with the `SetPower()` method.

Models are either included with [`viam-server`](/architecture/rdk/) or provided through {{< glossary_tooltip term_id="module" text="modules" >}}.
Models are either included with [`viam-server`](/architecture/viam-server/) or provided through {{< glossary_tooltip term_id="module" text="modules" >}}.
All models are uniquely namespaced as colon-delimited-triplets.
Built-in model names have the form `rdk:builtin:name`.
Modular resource model names have the form `namespace:repo-name:name`.
Expand Down
4 changes: 2 additions & 2 deletions docs/appendix/glossary/rdk.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: RDK (Robot Development Kit)
id: rdk
full_link: /architecture/rdk/
full_link: /architecture/viam-server/
short_description: The official Viam-developed codebase that provides all functionality of an SDK and more.
---

Viam’s Robot Development Kit (RDK) is the [open-source](https://github.com/viamrobotics/rdk), on-machine portion of the Viam platform, that provides [`viam-server`](/architecture/rdk/) and the Go SDK.
Viam’s Robot Development Kit (RDK) is the [open-source](https://github.com/viamrobotics/rdk), on-machine portion of the Viam platform, that provides [`viam-server`](/architecture/viam-server/) and the Go SDK.
2 changes: 1 addition & 1 deletion docs/architecture/viam-micro-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ date: "2024-09-03"
# SMEs: Nicolas M., Gautham V., Andrew M.
---

`viam-micro-server` is the lightweight version of [`viam-server`](/architecture/rdk/) which can run on resource-limited embedded systems (ESP32) that cannot run the fully-featured `viam-server`.
`viam-micro-server` is the lightweight version of [`viam-server`](/architecture/viam-server/) which can run on resource-limited embedded systems (ESP32) that cannot run the fully-featured `viam-server`.
`viam-micro-server` is built from the [micro-RDK](https://github.com/viamrobotics/micro-rdk/tree/main).

## Hardware requirements
Expand Down
10 changes: 4 additions & 6 deletions docs/architecture/rdk.md → docs/architecture/viam-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,14 @@ aliases:
- "/product-overviews/rdk"
- "/build/program/rdk"
- /internals/rdk/
- /architecture/rdk/
---

At the core of Viam is the open-source `viam-server` executable which runs on a computer and manages hardware, software, and data for a machine.
The open-source `viam-server` executable runs on a computer and manages hardware, software, and data for a machine.
If you are working with microcontrollers, [`viam-micro-server`](/architecture/viam-micro-server/) is a lightweight version of `viam-server` which can run on resource-limited embedded systems that cannot run the fully-featured `viam-server`.

To use Viam with a machine, you create a configuration specifying which hardware and software the machine consists of.
Viam has many built-in {{< glossary_tooltip term_id="component" text="components" >}} and {{< glossary_tooltip term_id="service" text="services" >}} that run within `viam-server`.
The components and services are configurable building blocks you can put together to make your machine.
`viam-server` then manages and runs the drivers for the configured hardware components and software services.
`viam-server` manages and runs the drivers for the configured {{< glossary_tooltip term_id="resource" text="resources" >}}.

Overall, _viam-server_ manages:

Expand All @@ -34,8 +33,7 @@ Overall, _viam-server_ manages:

## Dependency management

Modular resources may depend on other built-in resources or other modular resources, and vice versa.
The Viam RDK handles dependency management.
`viam-server` handles dependency management between resources.

## Start-up

Expand Down
2 changes: 1 addition & 1 deletion docs/installation/viam-micro-server-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ aliases:
- /installation/viam-micro-server-dev/
---

`viam-micro-server` is the lightweight version of [`viam-server`](/architecture/rdk/) which can run on resource-limited embedded systems (ESP32) that cannot run the fully-featured `viam-server`.
`viam-micro-server` is the lightweight version of [`viam-server`](/architecture/viam-server/) which can run on resource-limited embedded systems (ESP32) that cannot run the fully-featured `viam-server`.

This page provides instructions for configuring a development environment for working with `viam-micro-server`, outlines the steps for performing various development tasks, and provides troubleshooting and development tips to help organize and streamline work.

Expand Down
2 changes: 1 addition & 1 deletion docs/installation/viam-server-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ aliases:

To use Viam, you need to install either the `viam-server` binary or `viam-micro-server`.

[`viam-server`](/architecture/rdk/) is the binary built from the [Robot Development Kit](https://github.com/viamrobotics/rdk) that contains and manages communications between all Viam's built-in hardware drivers ({{< glossary_tooltip term_id="component" text="components" >}}) and software {{< glossary_tooltip term_id="service" text="services" >}}, connects your machine to the cloud, manages machine configuration, and manages dependencies including {{< glossary_tooltip term_id="module" text="modules" >}}.
[`viam-server`](/architecture/viam-server/) is the binary built from the [Robot Development Kit](https://github.com/viamrobotics/rdk) that contains and manages communications between all Viam's built-in hardware drivers ({{< glossary_tooltip term_id="component" text="components" >}}) and software {{< glossary_tooltip term_id="service" text="services" >}}, connects your machine to the cloud, manages machine configuration, and manages dependencies including {{< glossary_tooltip term_id="module" text="modules" >}}.

`viam-micro-server` is a lightweight version of `viam-server` which can run on resource-limited embedded systems that cannot run the fully-featured `viam-server`.
To install `viam-micro-server`, see [`viam-micro-server` Installation Guide](/installation/viam-micro-server-setup/) instead.
Expand Down
6 changes: 3 additions & 3 deletions docs/registry/modular-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ The following properties are available for modular resources:
| `namespace` | string | **Required** | The namespace of the API (the first part of the {{< glossary_tooltip term_id="api-namespace-triplet" text="API namespace triplet">}}). This will be `rdk` unless the module implements a [custom, non-standard API](/registry/advanced/). See [Valid API identifiers](/how-tos/create-module/#valid-api-identifiers). |
| `type` | string | **Required** | The {{< glossary_tooltip term_id="subtype" text="subtype">}} of the API (the third part of the {{< glossary_tooltip term_id="api-namespace-triplet" text="API namespace triplet">}}). See [Valid API identifiers](/how-tos/create-module/#valid-api-identifiers). |
| `model` | string | **Required** | The full {{< glossary_tooltip term_id="model-namespace-triplet" text="model namespace triplet">}} of the modular resource's {{< glossary_tooltip term_id="model" text="model" >}}. |
| `depends_on` | array | Optional | The `name` of components you want to confirm are available on your machine alongside your modular resource. Often a [board](/components/board/). Unnecessary if you coded [implicit dependencies](/architecture/rdk/#dependency-management). |
| `depends_on` | array | Optional | The `name` of components you want to confirm are available on your machine alongside your modular resource. Often a [board](/components/board/). Unnecessary if you coded [implicit dependencies](/architecture/viam-server/#dependency-management). |

### Module configuration

Expand Down Expand Up @@ -319,9 +319,9 @@ To set the path to a program or library on a machine, you can set a system varia

## How modules run

Modules run alongside [`viam-server`](/architecture/rdk/) as separate processes, communicating with `viam-server` over UNIX sockets.
Modules run alongside [`viam-server`](/architecture/viam-server/) as separate processes, communicating with `viam-server` over UNIX sockets.
When a module initializes, it registers its {{< glossary_tooltip term_id="model" text="model or models" >}} and associated [APIs](/appendix/apis/) with `viam-server`, making the new model available for use.
`viam-server` manages the [dependencies](/architecture/rdk/#dependency-management), [start-up](/architecture/rdk/#start-up), [reconfiguration](/architecture/rdk/#reconfiguration), [data management](/services/data/#configuration), and [shutdown](/architecture/rdk/#shutdown) behavior of your modular resource.
`viam-server` manages the [dependencies](/architecture/viam-server/#dependency-management), [start-up](/architecture/viam-server/#start-up), [reconfiguration](/architecture/viam-server/#reconfiguration), [data management](/services/data/#configuration), and [shutdown](/architecture/viam-server/#shutdown) behavior of your modular resource.

## Next steps

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/projects/integrating-viam-with-openai.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ You can also attach your speaker to the top of your rover with [double-sided foa

The [git repository](https://github.com/viam-labs/tutorial-openai-integration) for this tutorial contains code that integrates with:

- [viam-server](/architecture/rdk/)
- [viam-server](/architecture/viam-server/)
- [Google text/speech tools](https://gtts.readthedocs.io/en/latest/)
- [OpenAI](https://openai.com/api/)

Expand Down
3 changes: 3 additions & 0 deletions static/include/components/apis/generated/camera.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ For example:
```python {class="line-numbers linkable-line-numbers"}
from viam.media.utils.pil import pil_to_viam_image, viam_to_pil_image

my_camera = Camera.from_robot(robot=machine, name="my_camera")

# Get the ViamImage from your camera.
frame = await my_camera.get_image()

Expand Down Expand Up @@ -207,6 +209,7 @@ The consumer of this call should decode the bytes into the format suggested by t
import numpy as np
import open3d as o3d

my_camera = Camera.from_robot(robot=machine, name="my_camera")
data, _ = await my_camera.get_point_cloud()

# write the point cloud into a temporary file
Expand Down

0 comments on commit f4035b4

Please sign in to comment.