-
System requirements: Verify that your system meets the minimum requirements.
-
Docker platform: Install Docker platform. For installation instructions, see Get Docker.
-
You are familiar with Docker commands and using the terminal. If you are new to Docker platform, see Docker Documentation for an introduction.
Intel recommends using the unified setup script setup.sh that configures, builds, deploys,
and manages the Smart Route Planning Agent.
- Clone the repository:
git clone https://github.com/open-edge-platform/edge-ai-suites.git
cd edge-ai-suites/metro-ai-suite/smart-route-planning-agent- Run the complete setup:
The setup script provides several options. For a complete setup (recommended for first-time users):
source setup.sh --setup- Run alternative setup options
For a more granular control, run these commands:
# Build service images only (without starting containers)
source setup.sh --build
# Start services only (after build)
source setup.sh --run
# Stop services
source setup.sh --stop
# Restart services
source setup.sh --restart
# Clean up containers, volumes, images, networks, and all related resources
source setup.sh --cleanFor advanced users who need more control over the configuration, you can set up the stack manually using Docker Compose tool.
If you prefer to configure environment variables manually instead of using the setup script, see the Environment Variables Guide for details.
See Build from Source for instructions on building and running with the Docker Compose tool.
The Smart Route Planning Agent works in a multi-node setup with one central Route Planning Agent and multiple Smart Traffic Intersection Agent edge nodes.
┌─────────────────────────────┐
│ Smart Route Planning Agent │
│ (Central Node) │
└──────────────┬──────────────┘
│
┌───────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Smart Traffic │ │ Smart Traffic │ │ Smart Traffic │
│ Intersection Agent │ │ Intersection Agent │ │ Intersection Agent │
│ (Edge Node 1) │ │ (Edge Node 2) │ │ (Edge Node N) │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
- Deploy the Smart Traffic Intersection Agent on each edge node.
- Ensure network connectivity between the central node and edge nodes.
- Note the IP address and port of each Smart Traffic Intersection Agent.
Edit src/data/config.json to add the IP addresses of your Smart Traffic Intersection Agent
edge nodes:
{
"api_endpoint": "/api/v1/traffic/current?images=false",
"api_hosts": [
{
"name": "Intersection-1",
"host": "http://<edge-node-1-ip>:8081"
},
{
"name": "Intersection-2",
"host": "http://<edge-node-2-ip>:8082"
},
{
"name": "Intersection-3",
"host": "http://<edge-node-3-ip>:8083"
}
]
}Replace <edge-node-X-ip> with the actual IP addresses of your edge nodes.
After configuring the edge node endpoints, deploy the Smart Route Planning Agent on the central node:
source setup.sh --setupThe Route Planning Agent will query all configured Smart Traffic Intersection Agents to gather live traffic data for route optimization.