Edge

ClearBlade Edge Platform is an application to synchronize, configure, manage, and deploy IoT systems. It is designed to perform well on a constrained hardware platform and be managed and updated remotely post-deployment.

Purpose

The projected scale of IoT is in magnitude of billions of devices creating and consuming data. ClearBlade has a solution built upon concept of distributed systems to accomplish this:

Distributed Systems - software system whose components are located on different computer networks

A System can have one or more Edges

An Edge is deployed to a particular network to capture, consume, and/or relay IoT data close to the source. Moving the computation closer to the data enables data processing that is magnitudes faster than what purely cloud-based IoT Platforms can offer.

Requirements

Edge requires Linux or Darwin OS, and runs on nearly every CPU available:

Resource Minimum Required
RAM 64MB
Disk 128MB
OS Compatible
darwin yes
dragonfly yes
freebsd yes
linux yes
netbsd yes
openbsd yes
plan9 yes
solaris yes
windows no
CPU Compatible
amd64 yes
386 yes
arm yes
arm64 yes
ppc64le yes
ppc64 yes
mips64le yes
mips64 yes
mipsle yes
mips yes
s390x yes

Functionality

  • Strong edge security - Encryption, authentication and authorization of API access including tokens and certificates. Sync and state management - Both user and device states are synced with IoT systems as devices go on and offline.
  • Offline Continuity – Devices continue real time behaviors and 100% up time, even when connection to the Internet is lost.
  • Strong integration capabilities – Connectivity via MQTT, REST and sockets along with prebuilt patterns for BLE, Zigbee, MQTT-SN and more.
  • Data filtering and streaming - Store, modify, analyze, manage and route data at the edge.
  • Business rules and events - Implement business rules, trigger and react to events, and analyze results via business logic locally.
  • Messaging – Scalable, secure brokering of messages between devices and users at the edge.
  • Deployment flexibility – ClearBlade EDGE can be deployed onto a broad range of gateway devices.

Install

Edge

Edge Platform Application with Web Frontend (Data Visualization, Portals and Developer Console)

  1. Select one of popular OS / CPU Architecture combinations (see full list below):
OS-ARCH
linux-amd64
darwin-amd64
linux-arm64
linux-armv7
linux-armv6
linux-armv5
# Replace OSARCH if needed
OSARCH=linux-amd64
curl -fsSL https://get.clearblade.com -o get-clearblade.sh
sh get-clearblade.sh edge $OSARCH
sh get-clearblade.sh cb_console $OSARCH

Startup

Configuration

Default Config, Required Flags

TLS: Enabled

Parameter Type Desc Example
platform-ip string ClearBlade Platform URL platform.clearblade.com
parent-system string System Key for this Edge’s Parent System f49bf79f0b9ac5eda5aba4e08c17
edge-id string ID for this Edge my-edge
edge-cookie string token for edge 5eda5aba4e08c17

Command:

edge -platform-ip=<PLATFORM_URL> -parent-system=<SYSTEM_KEY> -edge-id=<EDGE_ID> -edge-cookie=<EDGE_COOKIE>

Example:

edge -platform-ip=platform.clearblade.com -parent-system=f49bf79f0b9ac5eda5aba4e08c17 -edge-id=my-edge -edge-cookie=5eda5aba4e08c17

Non-TLS Config

TLS: False (Not Recommended)

Parameter Type Desc Example
see required
insecure boolean Connect MQTT over non-TLS true

Command:

edge -platform-ip=<PLATFORM_URL> -parent-system=<SYSTEM_KEY> -edge-id=<EDGE_ID> -edge-cookie=<EDGE_COOKIE> -insecure=true

Example:

edge -platform-ip=platform.clearblade.com -parent-system=f49bf79f0b9ac5eda5aba4e08c17 -edge-id=my-edge -edge-cookie=5eda5aba4e08c17 -insecure=true

Enhanced Performance

Parameter Type Desc Example
see required
lean-mode boolean Drop code service logs, TODO true
edge -platform-ip=<PLATFORM_URL> -parent-system=<SYSTEM_KEY> -edge-id=<EDGE_ID> -edge-cookie=<EDGE_COOKIE> -lean-mode=true
edge -platform-ip=platform.clearblade.com -parent-system=f49bf79f0b9ac5eda5aba4e08c17 -edge-id=my-edge -edge-cookie=5eda5aba4e08c17 -lean-mode=true

Use with Web Console

Parameter Type Desc Example
see required
edge-ip string IP Address on selected interface, or 0.0.0.0 for all interfaces 192.168.0.34

By default, an edge is only accessible via localhost interface, localhost or 127.0.0.1. In order for other IP-enabled devices to interact with the ClearBlade Edge, set this value to the IP Address of Edge, or 0.0.0.0 to expose Edge to all interfaces.

Minimal, dont store anything

FAQ

What are hardware requirements to run ClearBlade Edge?

See Hardware Requirements

How does a ClearBlade Edge connect to a ClearBlade Platform?

ClearBlade Edge makes an outbound encrypted MQTT connection to a platform, which enables a bidirectional data transport.

How do I forward an MQTT message from an Edge client up to ClearBlade Platform?

The ClearBlade Message Relay is a way for Edge MQTT messages to relay messages up to the Platform’s MQTT Broker or other Edge brokers.

How do I configure ClearBlade Edge to startup on boot?

See our Service Management repo to set up systemd or initd with Edge

Advanced

Full List of OSARCH

Full list of supported OSARCH

OSARCH
linux-amd64
linux-386
linux-armv7
linux-arm64
linux-armv6
linux-armv5
linux-mipsle
darwin-amd64
darwin-386
linux-ppc64le
linux-s390x
linux-mips
linux-mips64
linux-mips64le