diff --git a/docs/operate/get-started/other-hardware/_index.md b/docs/operate/get-started/other-hardware/_index.md index ce1121118e..325ff4957d 100644 --- a/docs/operate/get-started/other-hardware/_index.md +++ b/docs/operate/get-started/other-hardware/_index.md @@ -22,7 +22,7 @@ prev: "/operate/get-started/supported-hardware/" next: "/operate/get-started/other-hardware/hello-world-module/" --- -If your physical or virtual hardware is not [already supported](../supported-hardware/) by an existing {{< glossary_tooltip term_id="module" text="module" >}}, you can create a new module to add support for it. +If your physical or virtual hardware is not [already supported](/operate/get-started/supported-hardware/) by an existing {{< glossary_tooltip term_id="module" text="module" >}}, you can create a new module to add support for it. You can keep the module private or share it with your organization or the public. You can use built-in tools to manage versioning and deployment to machines as you iterate on your module. @@ -30,9 +30,9 @@ This page provides instructions for writing and uploading a module in Python or {{% alert title="See also" color="info" %}} -- [Write a module for microcontrollers (to use alongside viam-micro-server)](./micro-module/) -- [Hello World guide to writing a module with Python or Go](./hello-world-module/) -- [Update and manage modules](./manage-modules/) +- [Write a module for microcontrollers (to use alongside viam-micro-server)](/operate/get-started/other-hardware/micro-module/) +- [Hello World guide to writing a module with Python or Go](/operate/get-started/other-hardware/hello-world-module/) +- [Update and manage modules](/operate/get-started/other-hardware/manage-modules/) {{% /alert %}} diff --git a/docs/operate/get-started/other-hardware/manage-modules.md b/docs/operate/get-started/other-hardware/manage-modules.md index 19a1f29bea..38ea0af25b 100644 --- a/docs/operate/get-started/other-hardware/manage-modules.md +++ b/docs/operate/get-started/other-hardware/manage-modules.md @@ -379,7 +379,7 @@ You can change the visibility of a module from public to private if: To change the visibility, navigate to its page in the [**REGISTRY** section of the Viam app](https://app.viam.com/registry), hover to the right of the visibility indicator near the right side of the page until an **Edit** button appears, and click it to make changes. -{{}} +{{}} You can also edit the visibility by editing the meta.json file and then running the following [CLI](/dev/tools/cli/#module) command: @@ -396,7 +396,7 @@ You can delete a module if: To delete a module, navigate to its page in the [**REGISTRY** section of the Viam app](https://app.viam.com/registry), click the **...** menu in the upper-right corner of the page, and click **Delete**. -{{}} +{{}} {{% alert title="Note" color="note" %}} diff --git a/docs/operate/get-started/setup.md b/docs/operate/get-started/setup.md index 6c5eb4dbfe..229b35c5c5 100644 --- a/docs/operate/get-started/setup.md +++ b/docs/operate/get-started/setup.md @@ -32,6 +32,25 @@ aliases: Get started by installing the open-source software that drives your hardware and connects your device to the cloud. The easiest way to do this is through the Viam app, so that your machines are automatically connected to configuration and remote operation tools. +{{< expand "Supported systems" >}} + +Viam can run on any computer that runs one of the following operating systems: + +- Linux 64-bit operating systems running on AArch64 (ARM64) or x86-64 architectures +- macOS + +Viam also offers a lightweight binary to support the following 32-bit microcontrollers: + +- [ESP32-WROVER Series](https://www.espressif.com/en/products/modules/esp32) +- ESP32-WROOM Series (until v0.1.7) + +ESP32 microcontrollers must have at least 2 cores, 384kB SRAM, 2MB PSRAM and 4MB flash to work with Viam. + +Viam can run on Windows Subsystem for Linux (WSL), but WSL itself does not currently support exposing many types of Windows hardware to the embedded Linux kernel. +This means that some hardware, such as a connected webcam, may not be available to `viam-server` with WSL, even though it is fully supported for native Linux systems. + +{{< /expand >}} + ## Quickstart {{< expand "Prerequisite: Operating system setup" >}} @@ -74,15 +93,6 @@ You can think of one machine as representing one device, or one robot. When you create a new machine in the Viam app, Viam generates a unique set of credentials for that machine that connect the physical machine to its instance in the Viam app. -### Installation methods: `viam-agent` versus manual - -`viam-agent` is a service manager that automatically updates `viam-server` and includes tools for [provisioning your devices](/manage/fleet/provision/setup/) and configuring operating system updates. - -When you set up a Linux device in the Viam app, you'll see an option to install using `viam-agent`, or to manually install only `viam-server`. -Using `viam-agent` is generally recommended when installing `viam-server` on a single-board computer. - -`viam-agent` is not available for macOS, Windows Subsystem for Linux (WSL), or microcontrollers, so use manual install for those systems. - ### How the configuration works The machine setup steps displayed in the Viam app copy your machine's credentials to your machine. @@ -95,6 +105,15 @@ All communication happens securely over HTTPS using secret tokens that are in th If your machine will never connect to the internet, you can also create a [local configuration file](/operate/reference/viam-server/local-configuration-file/) on the machine itself. +### Installation methods: `viam-agent` versus manual + +`viam-agent` is a service manager that automatically updates `viam-server` and includes tools for [provisioning your devices](/manage/fleet/provision/setup/) and configuring operating system updates. + +When you set up a Linux device in the Viam app, you'll see an option to install using `viam-agent`, or to manually install only `viam-server`. +Using `viam-agent` is generally recommended when installing `viam-server` on a single-board computer. + +`viam-agent` is not available for macOS, Windows Subsystem for Linux (WSL), or microcontrollers, so use manual install for those systems. + ### Manage your installation On Linux installs, by default `viam-server` or `viam-agent` and `viam-server` will start automatically when your system boots. @@ -104,20 +123,3 @@ You can change this behavior if desired. To learn how to run, update, or uninstall `viam-agent`, see [Manage `viam-agent`](/manage/reference/viam-agent/manage-viam-agent/). For manual installs of only `viam-server`, see [Manage `viam-server`](/operate/reference/viam-server/manage-viam-server/). - -## Supported systems - -Viam can run on any computer that runs one of the following operating systems: - -- Linux 64-bit operating systems running on AArch64 (ARM64) or x86-64 architectures -- macOS - -Viam also offers a lightweight binary to support the following 32-bit microcontrollers: - -- [ESP32-WROVER Series](https://www.espressif.com/en/products/modules/esp32) -- [ESP32-WROOM Series](https://www.espressif.com/en/products/modules/esp32) (until v0.1.7) - -ESP32 microcontrollers must have at least 2 cores, 384kB SRAM, 2MB PSRAM and 4MB flash to work with Viam. - -Viam can run on Windows Subsystem for Linux (WSL), but WSL itself does not currently support exposing many types of Windows hardware to the embedded Linux kernel. -This means that some hardware, such as a connected webcam, may not be available to `viam-server` with WSL, even though it is fully supported for native Linux systems. diff --git a/docs/operate/get-started/supported-hardware/_index.md b/docs/operate/get-started/supported-hardware/_index.md index d4d8684e83..535797b467 100644 --- a/docs/operate/get-started/supported-hardware/_index.md +++ b/docs/operate/get-started/supported-hardware/_index.md @@ -44,7 +44,11 @@ These standardized APIs are implemented by {{< glossary_tooltip term_id="module" Any hardware that is not already supported by a Viam module can be added into Viam's system of modular resources by [creating a new module](../other-hardware/) that provides a driver for the hardware. -Viam also supports various software services such as [data capture](/data-ai/capture-data/capture-sync/) and [computer vision](/data-ai/ai/create-dataset/), designed to integrate seamlessly with the hardware driver modules. +{{% alert title="Tip" color="tip" %}} + +Viam also supports various [software services](#add-software-services-to-your-machine) such as [data capture](/data-ai/capture-data/capture-sync/) and [computer vision](/dev/reference/apis/services/vision/), designed to integrate seamlessly with the hardware driver modules. + +{{% /alert %}} ## Supported hardware @@ -70,6 +74,10 @@ The Viam Registry is the storage and distribution system for not just hardware m You can browse the [Viam Registry in the Viam app](https://app.viam.com/registry?type=Module). {{% /alert %}} +{{% alert title="Support notice" color="note" %}} +Modules in the list above are officially supported and maintained by Viam if and only if they are marked as "built-in," or if the first part of their model triplet is `viam`. +{{% /alert %}} + ### For use with ESP-32 microcontrollers The following is a selection of components (some built-ins and some modules) written for use with `viam-micro-server`. diff --git a/docs/operate/reference/components/base/_index.md b/docs/operate/reference/components/base/_index.md index 6986107811..9e2280d068 100644 --- a/docs/operate/reference/components/base/_index.md +++ b/docs/operate/reference/components/base/_index.md @@ -23,7 +23,7 @@ The base component provides an API for moving all configured components attached If you have a mobile robot, use a base component to coordinate the motion of its motor components.

-A robot comprised of a wheeled base (motors, wheels and chassis) as well as some other components. The wheels are highlighted to indicate that they are part of the concept of a 'base', while the non-base components are not highlighted. The width and circumference are required attributes when configuring a base component. +A robot comprised of a wheeled base (motors, wheels and chassis) as well as some other components. The wheels are highlighted to indicate that they are part of the concept of a 'base', while the non-base components are not highlighted. The width and circumference are required attributes when configuring a base component.

## Configuration