Skip to content

Commit 56de50b

Browse files
committed
SWPROT-8953: doc: Add reference to UnifySDK online doc
Align to ver_1.7 github pages just deployed Note in later change some of those files may be deduplicated Origin: SiliconLabsSoftware#36 Signed-off-by: Philippe Coval <[email protected]>
1 parent dac9f94 commit 56de50b

15 files changed

+218
-266
lines changed

doc/getting_started.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Running Unify on Raspberry Pi
22

3+
4+
Note: For reference documentation please refer to
5+
[UnifySDK documentation](
6+
https://siliconlabs.github.io/UnifySDK/doc/getting_started
7+
)
8+
9+
WARNING: The following chapters may be oudated,
10+
they are still here until the new release of UnifySDK.
11+
In the future, Z-Wave parts will be more isolated and the rest deduplicated.
12+
13+
314
The Unify Host SDK targets our reference platform, a Raspberry Pi 4 (RPi4).
415
It is therefore recommended to set up a RPi4 for evaluating the full set of functionalities.
516

@@ -21,7 +32,8 @@ pi@raspberrypi:~ $ sudo apt install mosquitto
2132
```
2233

2334
For more information regarding logging and configuration of eg. the Mosquitto
24-
broker, see the [Unify Host SDK User Guide](unify_readme_user.md).
35+
broker, see the
36+
[Unify SDK User Guide](https://siliconlabs.github.io/UnifySDK/doc/unify_readme_user).
2537

2638
```{toctree}
2739
---
@@ -36,7 +48,7 @@ unify_readme_user.md
3648

3749
## How to install packages
3850

39-
The Unify Host SDK distribution targets the reference platform Debian Bookworm
51+
The Unify SDK distribution targets the reference platform Debian Bookworm
4052
platform. Binary Debian packages are provided with the SDK and they are
4153
available in a Zip file eg. unify_x.y.z_arm64.zip on
4254
[Unify's GitHub release page](https://github.com/SiliconLabs/UnifySDK/releases).
@@ -125,16 +137,3 @@ hidden:
125137
Getting Started with the Unify Framework <getting_started_unify_sdk.md>
126138
```
127139

128-
## Multiprotocol Setup
129-
130-
If you are interested in setting up multiprotocol CPC-based applications
131-
see the [Multiprotocol Setup](getting_started_multiprotocol_cpc.md) page.
132-
133-
```{toctree}
134-
---
135-
maxdepth: 1
136-
titlesonly:
137-
hidden:
138-
---
139-
getting_started_multiprotocol_cpc.md
140-
```

doc/getting_started_as_developer.md

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
# Getting Started as a Developer
22

3-
```{toctree}
4-
---
5-
maxdepth: 2
6-
hidden:
7-
---
8-
./readme_developer.md
9-
```
103

11-
The [Unify Developer Guide](readme_developer.md) contains a lot of useful information for Unify developers.
4+
Note: For reference documentation please refer to
5+
[UnifySDK documentation](
6+
https://siliconlabs.github.io/UnifySDK/doc/getting_started_as_developer
7+
)
128

13-
The [Unify Build Guide](readme_building.md) is the best starting point for working with the source code.
9+
WARNING: The following chapters may be oudated,
10+
they are still here until the new release of UnifySDK.
11+
In the future, Z-Wave parts will be more isolated and the rest deduplicated.
1412

15-
The [Unify User Guide](unify_readme_user.md) contains helpful tips on debugging within Unify.
13+
14+
The
15+
[Unify Developer Guide](https://siliconlabs.github.io/UnifySDK/doc/readme_developer)
16+
contains a lot of useful information for Unify developers.
17+
18+
The
19+
[Unify Build Guide](https://siliconlabs.github.io/UnifySDK/doc/readme_building)
20+
is the best starting point for working with the source code.
21+
22+
The
23+
[Unify User Guide](https://siliconlabs.github.io/UnifySDK/doc/unify_readme_user)
24+
contains helpful tips on debugging within Unify.
1625

1726
## Development Platform Recommendations
1827

@@ -22,16 +31,22 @@ System requirements for flash, RAM, and dependencies are listed at [here](system
2231

2332
## Developing IoT Services
2433

25-
The IoT or cloud connector must use UCL (MQTT) to communicate with the other components of Unify. See [How to Develop an IoT service](how_to_develop_an_iot_service.md) Unify uses MQTT to communicate among each component using the Mosquitto MQTT broker. UCL is the format of the MQTT messages. The [Unify Framework Specification](./unify_specifications/index.rst) contains the definitions for UCL.
34+
The IoT or cloud connector must use UCL (MQTT) to communicate with the other components of Unify. See [How to Develop an IoT service](how_to_develop_an_iot_service.md) Unify uses MQTT to communicate among each component using the Mosquitto MQTT broker. UCL is the format of the MQTT messages.
35+
The
36+
[Unify Specifications](https://siliconlabs.github.io/UnifySDK/doc/unify_specifications)
37+
contains the definitions for UCL.
2638

27-
Also see <a href="../reference_ucl_mqtt/index.html">UCL MQTT API</a>
39+
Also see
40+
[UCL MQTT API](https://siliconlabs.github.io/UnifySDK/reference_ucl_mqtt")
2841

2942
## Developing protocol controllers
3043

31-
See [How to Develop a Protocol Controller](how_to_develop_a_protocol_controller.rst)
44+
See
45+
[how to develop Protocol Controller](https://siliconlabs.github.io/UnifySDK/doc/how_to_develop_a_protocol_controller)
3246

3347
The attribute mapper helps to translate protocol commands to UCL MQTT messages.
34-
See [How to write UAM files](how_to_write_uam_files.md)
48+
See
49+
[How to write UAM files](https://siliconlabs.github.io/UnifySDK/doc/how_to_write_uam_files)
3550

3651
## Extend UCL clusters
3752

doc/getting_started_unify.md

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Getting Started with Unify
22

3+
4+
Note: For reference documentation please refer to
5+
[UnifySDK documentation](
6+
https://siliconlabs.github.io/UnifySDK/doc/getting_started
7+
)
8+
9+
WARNING: The following chapters may be oudated,
10+
they are still here until the new release of UnifySDK.
11+
In the future, Z-Wave parts will be more isolated and the rest deduplicated.
12+
13+
314
## Introduction
415

516
Unify SDK is a software framework that simplifies the developer experience, removing difficult parts of network control and network management as it relates to gateway and hub development in IoT applications. It can also provide Matter bridge functionality to other protocols that do not natively run matter.
@@ -10,32 +21,12 @@ Unify SDK is a software framework that simplifies the developer experience, remo
1021

1122
- At least one of the following, supported wireless radios is connected to the RPi4 via USB:
1223
- [Z-Wave module](https://www.silabs.com/wireless/z-wave) flashed with Z-Wave - NCP Serial API Controller.
13-
- [Zigbee module](https://www.silabs.com/wireless/zigbee) EFR32MG2X/EFR32xG22 running NCP for Zigbee or RCP for Multiprotocol
14-
- [Bluetooth module](https://www.silabs.com/wireless/bluetooth) EFR32xG22 running NCP Firmware for AoXPC
15-
1624

1725
The following are the ways to get started with Unify..
1826

19-
1) Use [Portable Runtime](portable_runtime/readme_user.md)
27+
1) Use [UnifySDK Portable Runtime](https://siliconlabs.github.io/UnifySDK/doc/portable_runtime/readme_user)
2028
for quick demo with Unify IoT gateway running on Windows, MacOS or Linux desktop.
2129

22-
```{toctree}
23-
---
24-
maxdepth: 1
25-
titlesonly:
26-
hidden:
27-
---
28-
portable_runtime/readme_user.md
29-
```
30-
3130
2) Use [Unify on Raspberry Pi](getting_started.md)
3231
for complete hands-on of Unify IoT gateway.
3332

34-
```{toctree}
35-
---
36-
maxdepth: 1
37-
titlesonly:
38-
hidden:
39-
---
40-
getting_started.md
41-
```

doc/getting_started_unify_sdk.md

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,36 @@
11
# Unify Framework Getting Started
22

3+
4+
Note: For reference documentation please refer to
5+
[UnifySDK documentation](
6+
https://siliconlabs.github.io/UnifySDK/doc/getting_started_unify_sdk
7+
)
8+
9+
WARNING: The following chapters may be oudated,
10+
they are still here until the new release of UnifySDK.
11+
In the future, Z-Wave parts will be more isolated and the rest deduplicated.
12+
13+
314
## Setup base system
415

516
Unify Framework has a number of service applications which enables different basic
617
functionality. For unlocking all features of the Unify Framework, install the Debian
718
packages of the applications below.
8-
It is recommended to use the Developer GUI for controlling the Unify Framework IoT Protocol Controllers such as `ZPC`,
9-
`ZigPC` or `AoXPC`.
19+
It is recommended to use the Developer GUI for controlling the Unify Framework IoT Protocol Controllers such as `ZPC`.
1020

1121
For installation steps refer to the [](how-to-install) section.
1222

13-
1. [Provisioning List (UPVL) User's Guide](../applications/upvl/readme_user.md).
14-
2. [Group Manager Service (GMS) User's Guide](../applications/gms/readme_user.md).
15-
3. [Name and Location service (NAL) User's Guide](../applications/nal/readme_user.md).
16-
4. [OTA Image Provider User's Guide](../applications/image_provider/readme_user.md).
17-
5. [Developer GUI User's Guide](../applications/dev_ui/dev_gui/readme_user.md).
23+
1. [Provisioning List (UPVL) User's Guide](https://siliconlabs.github.io/UnifySDK/applications/upvl/readme_user)
24+
2. [Group Manager Service (GMS) User's Guide](https://siliconlabs.github.io/UnifySDK/applications/gms/readme_user).
25+
3. [Name and Location service (NAL) User's Guide](https://siliconlabs.github.io/UnifySDK/applications/nal/readme_user).
26+
4. [OTA Image Provider User's Guide](https://siliconlabs.github.io/UnifySDK/applications/image_provider/readme_user).
27+
5. [Developer GUI User's Guide](https://siliconlabs.github.io/UnifySDK/applications/dev_ui/dev_gui/readme_user).
1828

1929
## Choose an IoT protocol
2030

2131
For including an IoT protocol stack, you need to install and setup at least one protocol controller.
2232

2333
- [](zpc)
24-
- [](zigpc)
25-
- [](aoxpc)
2634

2735
(zpc)=
2836

@@ -39,35 +47,6 @@ provide the USB path for the Z-Wave module at the configuration steps.
3947
A more in depth getting started guide specifically for the `ZPC` is
4048
[ZPC User's Guide](../applications/zpc/readme_user.md).
4149

42-
(zigpc)=
43-
44-
### Zigbee Protocol Controller (ZigPC)
45-
46-
**Prerequisite**: Required hardware for using the `ZigPC` is a [Zigbee module](https://www.silabs.com/wireless/zigbee) which could be EFR32MG12/EFR32xG22
47-
running NCP or CPC Firmware for Zigbee.
48-
49-
The `ZigPC` enables the Unify Framework to control Zigbee devices. Starting quickly
50-
can be done by simply installing the `uic-zigpc` Debian package and configuring
51-
the USB device at the configuration step. After installing, the protocol
52-
controller should be started automatically as a systemd service.
53-
54-
For more information on getting started with the `ZigPC` is placed in
55-
[ZigPC User's Guide](../applications/zigpc/readme_user.md).
56-
57-
(aoxpc)=
58-
59-
### Bluetooth Angle of Arrival/Departure Protocol Controller (AoXPC)
60-
61-
**Prerequisite**: Required hardware for using the `AoXPC` is a [Bluetooth module](https://www.silabs.com/wireless/bluetooth)
62-
EFR32xG22 running NCP Firmware for AoXPC.
63-
64-
Lastly of the protocol controllers the above approach can again be used for the
65-
`AoXPC`. Installing `uic-aoxpc`, going through configuration steps and it should
66-
be running.
67-
68-
For more information on getting started with the `AoXPC` is found in
69-
[AoXPC User Guide](../applications/aox/applications/aoxpc/readme_user.md).
70-
7150
### Evaluation after Installation
7251

7352
Once all Unify Framework Applications are installed and configured, one can evaluate the system via the Unify Framework Developer GUI.
@@ -78,4 +57,6 @@ After a reboot the Unify Framework Developer GUI can be accessed from a browser
7857
_Note_ that the Unify Framework Developer GUI needs TCP access to the port 3080 and 1337
7958
on the Raspberry Pi.
8059

81-
See the [Dev-GUI manual](../applications/dev_ui/dev_gui/readme_user.md) for more information about using this interface.
60+
See the
61+
[Dev-GUI manual](https://siliconlabs.github.io/UnifySDK/applications/dev_ui/dev_gui/readme_user)
62+
for more information about using this interface.

doc/how_to_develop_an_iot_service.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# How To Make an IoT Service
22

3+
4+
Note: For reference documentation please refer to
5+
[UnifySDK documentation](
6+
https://siliconlabs.github.io/UnifySDK/doc/how_to_develop_an_iot_service
7+
)
8+
9+
WARNING: The following chapters may be oudated,
10+
they are still here until the new release of UnifySDK.
11+
In the future, Z-Wave parts will be more isolated and the rest deduplicated.
12+
13+
314
To build an IoT Service from scratch, it is recommended to follow the steps
415
below. IoT Services come in many forms, and exact steps will depend on the
516
detailed requirements of the IoT Service.
@@ -20,16 +31,17 @@ detailed requirements of the IoT Service.
2031
3. Discover nodes using MQTT topics. Discovering nodes and resources that can be
2132
displayed or manipulated is fundamental to any IoT Service. This is achieved
2233
by subscribing to particular MQTT topics. See the Service Discovery chapter
23-
of the [Unify Specification](./unify_specifications/index.rst).
34+
of the
35+
[Unify Specifications](https://siliconlabs.github.io/UnifySDK/doc/unify_specifications)
2436
4. Implement Network Management. If the IoT Service needs to do network
2537
management, consider which operations are needed and implement them as
2638
described in the Network Management chapter of the
27-
[Unify Specification](./unify_specifications/index.rst).
39+
[Unify Specifications](https://siliconlabs.github.io/UnifySDK/doc/unify_specifications)
2840
5. Interact with nodes using MQTT topics. Interacting with the nodes by either
2941
reading out status or controlling their state is fundamental to most IoT
3042
services. Subscribe and publish to the relevant MQTT topics as described in
3143
the Application Level Control chapter of the
32-
[Unify Specification](./unify_specifications/index.rst).
44+
[Unify Specifications](https://siliconlabs.github.io/UnifySDK/doc/unify_specifications)
3345
6. Consider re-using appropriate shared components from the Unify Framework codebase.
3446
A valuable feature of Unify is the common components shared by many modules
3547
of the SDK. Code reuse saves both development time and offers IoT Service

doc/introduction.md

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ self
2626
maxdepth: 2
2727
hidden:
2828
---
29-
./UnifySDK.md
3029
./unify_framework_services.md
3130
```
3231

@@ -36,7 +35,6 @@ maxdepth: 3
3635
hidden:
3736
---
3837
./protocol_controllers.md
39-
./unify_iot_services.md
4038
```
4139

4240
```{toctree}
@@ -55,26 +53,27 @@ maxdepth: 2
5553
hidden:
5654
titlesonly:
5755
---
58-
Unify Specifications <unify_specifications/index.rst>
5956
./system_requirements.md
6057
standards/known-abbreviations.md
6158
./license.md
6259
```
6360

6461

6562

66-
This documentation is for the [latest release of the Unify Host SDK](https://github.com/SiliconLabs/UnifySDK/releases/latest).
63+
This documentation is for the [latest release of the Unify SDK](https://github.com/SiliconLabs/UnifySDK/releases/latest).
6764

68-
* The Silicon Labs Unify Host SDK source code may be found at
65+
* The Silicon Labs Unify SDK source code may be found at
6966
<https://github.com/SiliconLabs/UnifySDK>
7067
* Binary packages for Raspberry Pi 4 (Raspbian 12, Debian Bookworm 64-bit) can be found
7168
here <https://github.com/SiliconLabs/UnifySDK/releases>
7269

73-
**Use [Portable Runtime](portable_runtime/readme_user.md) for a quick demo with Unify**
70+
**Use
71+
[UnifySDK Portable Runtime](https://siliconlabs.github.io/UnifySDK/doc/portable_runtime/readme_user)
72+
for a quick demo with Unify**
7473

7574
## Overview
7675

77-
Unify SDK is a software framework that simplifies the developer experience, removing difficult parts of network control and network management as it relates to gateway and hub development in IoT applications. It can also provide Matter bridge functionality to other protocols that do not natively run matter.
76+
Unify is a software framework that simplifies the developer experience, removing difficult parts of network control and network management as it relates to gateway and hub development in IoT applications. Unify SDK natively supports Z-Wave protocol, and also provides an example code to showcase Matter bridge functionality to Z-Wave and Custom protocols that do not run Matter.
7877

7978
Unify SDK is developed as an open, modular, and portable architecture based on ubiquitous lightweight MQTT technology. The software framework is designed and developed on Linux. It provides an extensible set of software features to enable IoT wireless connectivity in gateways, multiprotocol scalability and application processor-based end products. Unify SDK simplifies development and ongoing software maintenance for IoT gateways and application processor-based end devices.
8079

@@ -91,13 +90,16 @@ has created a single repository for important customer software needs on a Linux
9190
gateway. We've aggregated software from multiple repositories and simplified the
9291
distribution to enhance ease of use and accessibility.
9392

94-
The Unify Host SDK contains:
93+
The Unify Ecosystem contains:
9594

9695
* The Unify Framework - A powerful IoT gateway framework that can support multiple wireless protocols.
97-
* Protocol Controllers that implement various wireless protocols.
98-
* Multiprotocol Host Software - A collection of host software for simultaneously
99-
running multiple protocol stacks on the host.
100-
Using a single radio co-processor, you can run Zigbee, OpenThread, and Bluetooth.
96+
* A Z-Wave protocol Controller that implement wireless Z-Wave protocol.
97+
* Current software solution can also be leveraged to use proprietary(custom) Protocol Controllers.
98+
* Emulation of end device for better dev experience.
99+
100+
**Refer
101+
[how to develop Protocol Controller](https://siliconlabs.github.io/UnifySDK/doc/how_to_develop_a_protocol_controller)
102+
for adding proprietary(custom) Protocol Contoller to Unify Ecosystem**
101103

102104
Here is a component view along with further detailed descriptions below.
103105

@@ -113,16 +115,7 @@ Here is a component view along with further detailed descriptions below.
113115
The Unify Framework has support for:
114116

115117
[![Z-Wave](assets/img/Z-Wave_logo.png)](../applications/zpc/readme_user.md)
116-
[![Zigbee](assets/img/Zigbee_logo.png)](../applications/zigpc/readme_user.md)
117-
[![Matter](assets/img/matter_logo.png)](https://siliconlabs.github.io/matter/latest/unify/index.html)
118-
[![Bluetooth AoX](assets/img/Bluetooth_logo.png)](../applications/aox/applications/aoxpc/readme_user.md)
119-
120-
Further details can be found on the [Unify Framework introduction page](UnifySDK.md).
121-
122-
## Multiprotocol
123-
124-
The Unify Host SDK contains support for running Zigbee, OpenThread, and Bluetooth on a
125-
Linux host, using only a single low-cost Radio Co-Processor (RCP) chip from Silicon Labs.
126-
This system allows for running multiple protocols simultaneously using the same RCP.
127118

128-
Further details can be found on the [Multiprotocol Host Software page](multiprotocol.md).
119+
Further details can be found on the
120+
[Unify Framework introduction page](https://siliconlabs.github.io/UnifySDK/doc/UnifySDK)
121+
.

0 commit comments

Comments
 (0)