Nabrio Help
Nabrio Help

Getting Started

Nara Overview

Understanding Nara

Basic Course
Intermediate Course
Course Introduction · Designing Flows for Different Tasks
Operation
IO · Talking to the outside
Mini Project 1 · Danger Zone MonitoringMini Project 2 · Machine Status MonitoringMini Project 3 · Conveyor Parcel Processing

Using Nara

Components

Widgets

Miscellaneous

Nomenclature
Troubleshooting
Notice and DisclaimerEULA
Courses

Intermediate Course

Build 3 different Flows in NARA: monitor a danger zone with vision, turn a temperature reading into a machine status, and count parcels moving along a conveyor.

In the Basic Course, you learned how to build and run a simple Flow. This course introduces 3 different types of Flow, each designed for a different kind of task.

The course is divided into 3 independent Mini Projects. They are not parts of one continuous system. Each project has its own Trigger, data, process, and expected result.

By working through all 3, you will see how the structure of a Flow changes depending on what you want it to do.

Before you start

This course assumes that you have completed the Basic Course and can build a simple Flow on your own (see Build Your First Flow). Installation, sign-in, and the basic interface will not be covered again.

What you will build

Each Mini Project is based on a different type of task.

ProjectTaskWhat you will practice
Mini Project 1 · Danger Zone MonitoringWatch an area on video and act on what walks into itReading frames in a loop, counting inside a zone, and branching on status
Mini Project 2 · Machine Status MonitoringTurn a changing reading into a machine statusScheduled checks, smoothing a value, threshold bands, and stopping the machine once the limit is reached
Mini Project 3 · Conveyor Parcel ProcessingCount parcels crossing a line and sort them by typeObject tracking, counting on an event, branching with Switch Case, and storing results

Although the projects are separate, they use many of the same basic ideas. You will decide how each Flow starts, arrange the Nodes in the correct order, pass data between them, and test whether the Flow works as expected.

By the end of this course

You will be able to:

  • Design a Flow based on the task it needs to perform.
  • Choose a suitable Trigger for each type of work.
  • Separate a Flow into Trigger, Input, Process, and Output.
  • Reference and pass data between Nodes.
  • Create conditions and branching paths.
  • Connect NARA to an external program.
  • Turn a changing reading into a status, and act only when that status changes.
  • Build a process that repeats and keeps track of its state.
  • Test and troubleshoot each part of a Flow.

You will also be able to use these same ideas as a starting point for your own NARA projects.

Course structure

The course begins with a short introduction to Flow design and Trigger selection, followed by four groundwork chapters: an Operation chapter on the Nodes that control how a Flow runs, a Process chapter on the Nodes that work on the data itself, a Database chapter on keeping data around, and an IO chapter on reaching outside Nara. After that, you will complete 3 Mini Projects.

Each project steps up a level from the last. The first watches a live source and branches on what it sees, the second watches a changing value and catches the moment its status changes, and the third tracks objects across frames while keeping state and storing results.

Course Introduction
│
├── Operation                                   → Nodes that control how a Flow runs
│   └── While Loop · If-Then · Switch Case
│
├── Process                                     → Nodes that work on the data itself
│   └── Moving Number Calculation
│
├── Database                                    → Keeping data around
│   └── Database Table
│
├── IO                                          → Talking to the outside
│   ├── Part 1 · Email
│   └── Part 2 · HTTP Connection
│
├── Mini Project 1 · Danger Zone Monitoring     → Continuous, Observing Flow
├── Mini Project 2 · Machine Status Monitoring  → Conditional Flow
└── Mini Project 3 · Conveyor Parcel Processing → Stateful, Repeating Flow

The projects are separate

The 3 Mini Projects are not connected as Danger Zone → Machine Status → Conveyor. Each one is a separate example with its own purpose and setup. Keeping them separate makes each Flow easier to understand, test, and reset.

Recommended time

SectionTime
Course Introduction10 min
Operation25 min
Process10 min
Database10 min
IO10 min
Mini Project 1 · Danger Zone Monitoring35 min
Break10 min
Mini Project 2 · Machine Status Monitoring30 min
Mini Project 3 · Conveyor Parcel Processing40 min
Review and wrap-up10 min
Total190 min

Project files

Keep each Mini Project in its own Project or Flow file rather than placing all 3 in the same project.

This prevents Variables, Setup Nodes, and Connections from interfering with one another. It also makes the projects easier to distribute, test, and reset separately.

NARA Intermediate Course
│
├── 00_Groundwork
│   ├── Operation
│   ├── Process
│   ├── Database
│   └── IO
│
├── 01_Danger_Zone_Monitoring
│   ├── Starter Flow
│   └── Completed Flow
│
├── 02_Machine_Status_Monitoring
│   ├── Starter Flow
│   └── Completed Flow
│
└── 03_Conveyor_Parcel_Processing
    ├── Starter Flow
    └── Completed Flow

In each project, learners will first explore the required Nodes through short, focused examples. They will then combine those Nodes to build a complete Flow step by step. Each project will also include a Completed Flow for reference, along with any required test data or simulations, examples of the expected results, a troubleshooting checklist, and an additional challenge for further practice.

Flow patterns used in the course

Each part of the course introduces a different way of arranging a Flow.

Communication Flow

Part 2 of the IO chapter uses a Communication Flow. The Flow connects to an external program, exchanges data, and checks the result.

Trigger → Connect → Exchange Data → Validate Result

Monitoring Flow

Mini Project 1 uses a Monitoring Flow. The Flow keeps watching a source, analyses each new piece of data as it arrives, and updates status according to what it finds.

Trigger → Read Frame → Analyse → Evaluate Zone → Update Status → Repeat

Event-driven Flow

Mini Project 2 uses an Event-driven Flow. The Flow checks a value on a schedule, evaluates it against thresholds, and acts only at the moment the status changes.

Trigger → Check Event → Evaluate Condition → Perform Action

Stateful Process Flow

Mini Project 3 uses a Stateful Process Flow. The Flow runs a process, updates its current state, and then decides whether to repeat or stop.

Trigger → Execute Process → Update State → Repeat or Stop

In this course

Course Introduction · Building Different Types of Flows

Learn how the 3 Mini Projects are structured and how Triggers are used to start different kinds of Flow.

Operation · Nodes that control how a Flow runs

Read video frame by frame with a While Loop, and branch a Flow with If-Then and Switch Case.

Process · Nodes that work on the data

Use Moving Number Calculation to work out a figure from the last few numbers that came through, such as a moving average, so a wobbly value settles enough to decide on.

Database · Keeping data around

Store what a Flow produces in a table instead of a single Variable, so it can be read back later. Create the table, define its Columns, and write rows into it.

IO · Talking to the outside

Send notification mail out of a Flow in Part 1, and exchange data with an external system over HTTP in Part 2.

Mini Project 1 · Danger Zone Monitoring

Count people inside a defined zone and raise an alert when someone walks into it.

Mini Project 2 · Machine Status Monitoring

Sort a temperature into Normal, Warning, and Critical, then stop the machine once it has stayed critical too long.

Mini Project 3 · Conveyor Parcel Processing

Track parcels on a conveyor, count them as they cross a line, and sort them by type.

Custom Models

A guide to using Object Detection models trained in Reva within Nara

Course Introduction · Designing Flows for Different Tasks

Preview the three Mini Projects, compare their Flow patterns, and learn how Triggers determine when each Flow starts.

On this page

What you will buildBy the end of this courseCourse structureRecommended timeProject filesFlow patterns used in the courseCommunication FlowMonitoring FlowEvent-driven FlowStateful Process FlowIn this course