You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/dev/reference/glossary/module.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,10 @@
2
2
title: Module
3
3
id: module
4
4
full_link:
5
-
short_description: A module provides one or more modular resources, which add resource types or models that are not built into Viam.
5
+
short_description: A module is a code package which provides one or more modular resources, which add resource types or models that are not built into Viam.
6
6
---
7
7
8
-
A _module_ provides one or more {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}, which add {{< glossary_tooltip term_id="resource" text="resource" >}} {{< glossary_tooltip term_id="type" text="types" >}} or {{< glossary_tooltip term_id="model" text="models" >}} that are not built into Viam.
8
+
A _module_is a code package which provides one or more {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}, which add {{< glossary_tooltip term_id="resource" text="resource" >}} {{< glossary_tooltip term_id="type" text="types" >}} or {{< glossary_tooltip term_id="model" text="models" >}} that are not built into Viam.
9
9
Modules run alongside `viam-server` as separate process, communicating with `viam-server` over UNIX sockets.
10
10
11
11
You can [create your own module](/operate/get-started/other-hardware/) or [add existing modules from the Viam Registry](/operate/get-started/supported-hardware/).
@@ -48,7 +48,7 @@ This means you can also use fragments inside a fragment.
48
48
{{% tablestep %}}
49
49
**2. Copy the raw JSON**
50
50
51
-
In your machine's **CONFIGURE** tab, switch to **JSON** and copy the raw JSON.
51
+
In your machine's **CONFIGURE** tab, switch to **JSON** and copy the raw JSON configuration object.
52
52
53
53
{{<imgprocsrc="/how-tos/one-to-many/raw-json.png"resize="700x"class="fill"style="width: 400px"declaredimensions=truealt="JSON subtab of the CONFIGURE tab">}}
54
54
@@ -79,7 +79,7 @@ If you want to edit the fragment later, do it from this screen.
79
79
**4. Delete the original configuration (optional)**
80
80
81
81
Now that the configuration is saved as a fragment, you can delete each resource in the original config from your machine and _replace the config with the fragment_ in the next step.
82
-
By using the new fragment, all your machines will use the exact same configuration.
82
+
By using the new fragment, this and every other machine you add the fragment to will use the exact same configuration.
83
83
84
84
{{% /tablestep %}}
85
85
{{< /table >}}
@@ -88,7 +88,7 @@ By using the new fragment, all your machines will use the exact same configurati
88
88
89
89
With your fragment created, you can add it to all machines that should have it.
90
90
91
-
In the following, you will see how to add a fragment manually. If you are working in a factory setting and need to set up devices before they reach the end user, you can also fragments while [provisioning](/manage/fleet/provision/setup/) your fleet.
91
+
In the following steps, you will see how to add a fragment manually. If you are working in a factory setting and need to set up devices before they reach the end user, you can also use fragments to [provision](/manage/fleet/provision/setup/) your machines.
Copy file name to clipboardExpand all lines: docs/manage/software/deploy-software.md
+19-17Lines changed: 19 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ weight: 30
5
5
layout: "docs"
6
6
type: "docs"
7
7
images: ["/registry/module-puzzle-piece.svg"]
8
-
description: You can use a fragment to deploy software packages and ML models to many machines, as well as to update deployed versions of those software packages and ML models.
8
+
description: "Deploy code packages with machine control logic to one or more machines."
9
9
languages: []
10
10
viamresources: []
11
11
platformarea: ["registry", "fleet"]
@@ -18,28 +18,29 @@ aliases:
18
18
cost: "0"
19
19
---
20
20
21
-
To deploy code or other software to individual machines:
21
+
{{< glossary_tooltip term_id="module" text="Modules" >}} are code packages that provide most of the functionality on your machines: drivers, integrations, and control logic.
22
+
23
+
The following steps show you how to create modules with control logic and how to deploy all modules over the air (OTA) to your machine:
22
24
23
25
1.[Create a module with machine control logic](#create-a-module-with-machine-control-logic)
24
-
2.[Create a fragment with the configuration for your machines](#create-a-fragment)
25
-
3.[Add the fragment to your machines](#add-the-fragment-to-your-machines)
26
+
2.[Create a configuration fragment with the modules for your machine](#create-a-fragment)
27
+
3.[Add the fragment to one or more machines](#add-the-fragment-to-your-machines)
26
28
27
29
## Prerequisites
28
30
29
-
This guide assumes that you have [at least one machine](/operate/get-started/setup/) with [configured hardware and software resources](/operate/get-started/supported-hardware/).
31
+
Start by [setting up one machine](/operate/get-started/setup/).
30
32
31
33
## Create a module with machine control logic
32
34
33
-
You can operate devices by running control logic on another device, for example using an app, or on the machine itself using a {{< glossary_tooltip term_id="module" text="module" >}}.
34
-
If all your machine control logic runs on another device or server, move on to [Create a fragment](#create-a-fragment).
35
-
36
-
If at least some of your machine control logic should run on your machine, place the control logic in a module by following these steps:
35
+
While you can operate devices by running control logic on another device, for example using an app, you can also run control logic on the machine itself using a {{< glossary_tooltip term_id="module" text="module" >}}.
37
36
38
37
{{% alert title="OTA updates for microcontrollers" color="note" %}}
39
-
The following steps do not cover how to create a module with machine control logic for microcontrollers.
40
-
For microcontrollers, see [Micro-RDK modules](/operate/get-started/other-hardware/micro-module/) and [Over-the-air firmware updates](/operate/get-started/other-hardware/micro-module/#over-the-air-updates) instead.
38
+
The following steps cover how to create a module for machines running `viam-server`.
39
+
For microcontrollers, see [Micro-RDK modules](/operate/get-started/other-hardware/micro-module/) and [Over-the-air firmware updates](/operate/get-started/other-hardware/micro-module/#over-the-air-updates).
41
40
{{% /alert %}}
42
41
42
+
Place the control logic in a module by following these steps:
@@ -189,18 +190,19 @@ Your module will now be built, packaged and pushed to the Viam Registry.
189
190
## Create a fragment
190
191
191
192
Viam has a built-in tool called _{{< glossary_tooltip term_id="fragment" text="fragments" >}}_ for using the same configuration on multiple machines.
192
-
When deploying or updating software on many machines, you should use fragments.
193
+
When deploying or updating software on many machines, you should use fragments to deploy your modules OTA to your machines.
193
194
194
-
The following example creates a fragment with a camera and a servo, as well as with the [control logic module](#create-a-module-with-machine-control-logic).
195
+
The following example starts with a machine with a camera and a servo and adds the [control logic module](#create-a-module-with-machine-control-logic).
196
+
The resulting machine configuration gets used to create the fragment for reuse on other machines.
0 commit comments