Skip to content

Commit c6623dd

Browse files
Fix Your First Project tutorial parts 1-3
Part 1: - Update "Online" → "Live" (UI terminology) - Update "Attributes" → "JSON Configuration" (UI terminology) - Remove redundant "Registry tab" step Part 2: - Simplify data verification section - Remove redundant filter instructions Part 3: - Integrate machine address steps into test connection flow - Improve step formatting and indentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9dcf624 commit c6623dd

3 files changed

Lines changed: 32 additions & 48 deletions

File tree

docs/operate/hello-world/first-project/part-1.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Before starting this tutorial, you need the can inspection simulation running. F
2222
2. Create a machine in Viam and get credentials
2323
3. Start the container with your Viam credentials
2424

25-
Once you see "Can Inspection Simulation Running!" in the container logs and your machine shows **Online** in the Viam app, return here to continue.
25+
Once you see "Can Inspection Simulation Running!" in the container logs and your machine shows **Live** in the Viam app, return here to continue.
2626

2727
{{< alert title="What you're working with" color="info" >}}
2828
The simulation runs Gazebo Harmonic inside a Docker container. It simulates a conveyor belt with cans (some dented) passing under an inspection camera. viam-server runs on the Linux virtual machine inside the container and connects to Viam's cloud, just like it would on a physical machine. Everything you configure in the Viam app applies to the simulated hardware.
@@ -78,7 +78,7 @@ After adding the camera component, you will see two items appear under your mach
7878

7979
To configure your camera component to work with the camera in the simulation, you need to specify the correct camera ID. Most components require a few configuration parameters.
8080

81-
1. In the **Attributes** section, add:
81+
1. In the **JSON Configuration** section, add:
8282

8383
```json
8484
{
@@ -141,10 +141,9 @@ The **ML model service** loads a trained model (TensorFlow, ONNX, or PyTorch) an
141141
Configure the `model-service` ML model service you just included in your configuration.
142142

143143
1. In the `model-service` configuration panel, click **Select model**
144-
2. Click the **Registry** tab
145-
3. Search for `can-defect-detection` and select it from the list (a model that classifies cans as PASS or FAIL based on defect detection)
146-
4. Click **Choose** to save the model selection
147-
5. Click **Save** in the upper right corner to save your configuration
144+
2. Search for `can-defect-detection` and select it from the list (a model that classifies cans as PASS or FAIL based on defect detection)
145+
3. Click **Choose** to save the model selection
146+
4. Click **Save** in the upper right corner to save your configuration
148147

149148
{{< alert title="Your own models" color="tip" >}}
150149
For a different application, you'd train a model on your specific data and upload it to the registry. The registry handles versioning and deployment of ML models across your fleet.

docs/operate/hello-world/first-project/part-2.md

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -69,27 +69,14 @@ Right click on **Data** to open in a separate tab.
6969
2. Click on an image to see the detection results for that image
7070
3. Click on a few other images to see how detection results vary for cans labeled `PASS` versus `FAIL`
7171

72-
{{<imgproc src="/tutorials/first-project/data-tab-images.png" resize="x1100" declaredimensions=true alt="Data tab showing a grid of captured images from the inspection camera." class="imgzoom shadow">}}
72+
{{<imgproc src="/tutorials/first-project/data-tab-images.png" resize="x1100" declaredimensions=true alt="Data tab showing a grid of captured images from the inspection camera." class="imgzoom shadow">}}
7373

74-
**Verify the data includes:**
74+
This captured data serves multiple purposes:
7575

76-
- **Detection results**—Each row shows label (PASS/FAIL) and confidence score
77-
- **Camera images**—Click any row to see the image that was analyzed
78-
- **Timestamps**—When each capture occurred
79-
- **Machine ID**—Which machine captured it (matters when you have multiple stations)
80-
81-
**Filter the data:**
82-
83-
1. Click **Filter** and select your machine: `inspection-station-1`
84-
2. Set time range to "Last hour"
85-
3. You can also filter by component to see only vision service results or only camera images
86-
87-
This captured data serves multiple purposes:
88-
89-
- **Compliance**—Auditable record of every inspection
90-
- **Quality trends**—"FAIL rate increased 20% this week"
91-
- **Model improvement**—Export images of cans to retrain your ML model
92-
- **Incident review**—"Show me all FAILs from Tuesday's shift"
76+
- **Compliance**—Auditable record of every inspection
77+
- **Quality trends**—"FAIL rate increased 20% this week"
78+
- **Model improvement**—Export images of cans to retrain your ML model
79+
- **Incident review**—"Show me all FAILs from Tuesday's shift"
9380

9481
## 2.3 Summary
9582

docs/operate/hello-world/first-project/part-3.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,6 @@ The generated CLI creates your service with empty dependencies—fine for testin
143143

144144
Why is this valuable? Traditional embedded development requires: edit code → build → deploy → test → repeat. With module-first development: edit code → run locally → see results on real hardware. The iteration cycle drops from minutes to seconds.
145145

146-
**Get your machine address:**
147-
148-
1. In the Viam app, go to your machine's **Configure** page
149-
2. Click the **Online** dropdown
150-
3. Click **Remote address** to copy your machine address
151-
152-
{{<imgproc src="/tutorials/first-project/machine-address.png" resize="x1100" declaredimensions=true alt="Live dropdown showing Remote address option with machine address visible." class="imgzoom shadow">}}
153-
154146
### Step 1: Connect to Your Machine
155147

156148
The generated `realMain` function creates your inspector with empty dependencies—useful for testing in isolation, but it can't access your remote machine. We'll replace it with code that:
@@ -200,25 +192,31 @@ func realMain() error {
200192

201193
**Test the connection:**
202194

203-
```bash
204-
go run cmd/cli/main.go -host YOUR_MACHINE_ADDRESS
205-
```
195+
1. In the Viam app, go to your machine's **Configure** page
196+
2. Click the **Online** dropdown
197+
3. Click **Remote address** to copy your machine address
206198

207-
You'll see WebRTC diagnostic output as the connection is established. Look for these messages confirming the connection:
199+
{{<imgproc src="/tutorials/first-project/machine-address.png" resize="x1100" declaredimensions=true alt="Live dropdown showing Remote address option with machine address visible." class="imgzoom shadow">}}
208200

209-
```text
210-
Connecting to your-machine.abc123.viam.cloud...
211-
...
212-
successfully (re)connected to remote at address
213-
...
214-
Connected successfully!
215-
```
201+
4. ```bash
202+
go run cmd/cli/main.go -host YOUR_MACHINE_ADDRESS
203+
```
204+
205+
You'll see WebRTC diagnostic output as the connection is established. Look for these messages confirming the connection:
206+
207+
```text
208+
Connecting to your-machine.abc123.viam.cloud...
209+
...
210+
successfully (re)connected to remote at address
211+
...
212+
Connected successfully!
213+
```
216214

217-
If you see an error, verify:
215+
If you see an error, verify:
218216

219-
- Your machine is online (check the Viam app)
220-
- You're logged in (`viam login`)
221-
- The address is correct
217+
- Your machine is online (check the Viam app)
218+
- You're logged in (`viam login`)
219+
- The address is correct
222220

223221
### Step 2: Access Remote Resources
224222

0 commit comments

Comments
 (0)