Skip to content

Commit

Permalink
doc update and version bump
Browse files Browse the repository at this point in the history
  • Loading branch information
ampledata committed Jul 28, 2023
1 parent c92e587 commit ce2668e
Show file tree
Hide file tree
Showing 15 changed files with 127 additions and 47 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

[Documentation is available here.](https://node-red-contrib-tak.readthedocs.io/)

Want to send TAK data to PAR's Sit(x)? Check out [node-red-contrib-sitx](https://node-red-contrib-sitx.readthedocs.io/)

# License & Copyright

Copyright 2023 [Sensors & Signals LLC](https://www.snstac.com)
Expand Down
17 changes: 17 additions & 0 deletions docs/examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Example Flows

| ![TAK Node Example Flow 1](nodes/tak_node-example_flow1.png)|
| :-- |
| TAK Node example Flow 1: TLS connection to a TAK Server. |

| ![TAK Node Example Flow 2](nodes/tak_node-example_flow2.png) |
| :-- |
| TAK Node example Flow 2: UDP Multicast from local network. |

| ![TAK Node Example output](nodes/tak_node-example_flow1-debug.png) |
| :-- |
| TAK Node Example output. |

| ![TAK Node Example Flow 3](nodes/tak_node-example_flow3.png) |
| :-- |
| TAK Node example Flow 3: MQTT out to UDP Multicast. |
24 changes: 10 additions & 14 deletions docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,49 +19,45 @@ This method requires Internet access for the system running Node-RED. This is mo

![Method A 2](install/gui_install2.png)

After about a minute you should see:

![Method B 3](install/sitx-palette-install-success.png)
After about a minute you should see a success message.

You can confirm installation by clicking the **Nodes** tab:

![Method B 34](install/sitx-palette-nodes.png)
![Method B 3](install/tak-palette-nodes.png)

## Method B - Node-RED Palette Manager without Internet access

This method requires Internet access to download a package, but does not require Internet access on the system running Node-RED.

- I. From a system with Internet access, download an archive of [node-red-contrib-sitx](https://registry.npmjs.org/node-red-contrib-sitx/-/node-red-contrib-sitx-1.0.2.tgz)
- II. Copy node-red-contrib-sitx-1.0.2.tgz to a USB drive (or other removable media).
- I. From a system with Internet access, download an archive of [node-red-contrib-tak](https://github.com/snstac/node-red-contrib-tak/releases/latest/download/node-red-contrib-tak-latest.tgz)
- II. Copy node-red-contrib-tak-latest.tgz to a USB drive (or other removable media).
- III. Insert USB drive or media into system running Node-RED.

![Method B 1](install/gui_install-sitx1.png)
![Method B 1](install/manage-palette.png)

<ol start=1>
<li>Click the "hamburger" menu in the upper right.</li>
<li>Click <strong>Manage Palette</strong></li>
</ol>

![Method B 2](install/sitx-palette-install-upload.png)
![Method B 2](install/tak-palette-install-upload.png)

<ol start=3>
<li>Select <strong>Install</strong> tab.</li>
<li>Click the <strong>Upload module tgz file</strong> button.</li>
</ol>

![Method B 3](install/sitx-palette-install-upload-upload.png)
![Method B 3](install/tak-palette-install-upload-upload.png)

<ol start=6>
<li>Select <strong>Upload</strong>.</li>
</ol>

After about a minute you should see:

![Method B 3](install/sitx-palette-install-success.png)
After about a minute you should see a success message.

You can confirm installation by clicking the **Nodes** tab:

![Method B 3](install/sitx-palette-nodes.png)
![Method B 3](install/tak-palette-nodes.png)

## Method C - NPM with Internet access

Expand All @@ -71,6 +67,6 @@ Run the following command in your Node-RED user directory - typically `~/.node-r

```bash
cd ~/.node-red
npm install node-red-contrib-sitx
npm install node-red-contrib-tak
node-red-admin restart
```
Binary file added docs/install/manage-palette.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/install/tak-palette-install-upload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/install/tak-palette-nodes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 13 additions & 32 deletions docs/nodes.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,28 @@
# Nodes

## TAK Node

| ![TAK Node](nodes/tak_node.png) |
| :-------------------------------------------------------------------------------------------------------- |
| ![TAK Node](nodes/tak_node.png) |
| :-- |
| The TAK Node allows TAK data in any format to be encoded, decoded and transformed between any TAK format. |

| ![TAK Node Input](nodes/tak_node-input.png) |
| :-------------------------------------------------------------------------- |
| ![TAK Node Input](nodes/tak_node-input.png) |
| :-- |
| TAK Node input accepts CoT as a JavaScript Object (JSON), String or Buffer. |

| ![TAK Node Output 1 (CoT XML or JSON)](nodes/tak_node-output1.png) |
| :-------------------------------------------------------------------------- |
| ![TAK Node Output 1 (CoT XML or JSON)](nodes/tak_node-output1.png) |
| :-- |
| TAK Node Output 1 returns either CoT as JSON or String, depending on Input. |

| ![TAK Node Output 2 (Multicast Protobuf)](nodes/tak_node-output2.png) |
| :-------------------------------------------------------------------------------------- |
| ![TAK Node Output 2 (Multicast Protobuf)](nodes/tak_node-output2.png) |
| :-- |
| TAK Node Output 2 returns CoT as a TAK Protocol Version 1 Mesh encoded Protobuf Buffer. |

| ![TAK Node Output 3 (Stream Protobuf)](nodes/tak_node-output3.png) |
| :---------------------------------------------------------------------------------------- |
| ![TAK Node Output 3 (Stream Protobuf)](nodes/tak_node-output3.png) |
| :-- |
| TAK Node Output 3 returns CoT as a TAK Protocol Version 1 Stream encoded Protobuf Buffer. |

### Example Flows

| ![TAK Node Example Flow 1](nodes/tak_node-example_flow1.png) |
| :----------------------------------------------------------- |
| TAK Node example Flow 1: TLS connection to a TAK Server. |

| ![TAK Node Example Flow 2](nodes/tak_node-example_flow2.png) |
| :----------------------------------------------------------- |
| TAK Node example Flow 2: UDP Multicast from local network. |

| ![TAK Node Example output](nodes/tak_node-example_flow1-debug.png) |
| :----------------------------------------------------------------- |
| TAK Node Example output. |

| ![TAK Node Example Flow 3](nodes/tak_node-example_flow3.png) |
| :----------------------------------------------------------- |
| TAK Node example Flow 3: MQTT out to UDP Multicast. |

## TAK2WorldMap Node

| ![TAK2WorldMap Node](nodes/tak2wm_node.png) |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![TAK2WorldMap Node](nodes/tak2wm_node.png) |
| :-- |
| The TAK2WorldMap Node accepts Cot in any format and outputs Node-RED WorldMap ([RedMap](https://github.com/dceejay/RedMap)) JSON, ready for use by the Worldmap Node. |

73 changes: 73 additions & 0 deletions docs/tls.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# TAK Server TLS


TAK Server generate two formats of client certificates:

1. PKCS 12 / PKCS#12 / P12
2. PEM

Typically TAK Data Packages are distributed with PKCS#12 (.p12) files.

Node-RED's TCP Nodes uses PEM formatted certificates (and keys).

To use a Node-RED TCP Node with a TAK Server, you must export the certificate and keys from these PKCS#12 files into PEM files.

## Converting from PKCS 12 (.p12) into PEM

If you've been provided with PKCS 12 (.p12) formatted certificates you must first export them in PEM format. This is a two step process:

### Step 1: Export the certificate as PEM

```
openssl pkcs12 -clcerts -nokeys -in example.p12 -out example.cert.pem
```
You should be prompted for an Import Password:
```
Enter Import Password:
```
If confirmed you should receive a MAC verification message:
```
MAC verified OK
```

### Step 2: Export the private key as PEM:

```
openssl pkcs12 -nocerts -nodes -in example.p12 -out example.key.pem
```
You should be prompted for an Import Password:
```
Enter Import Password:
```
If confirmed you should receive a MAC verification message:
```
MAC verified OK
```

### Pro-tip: Default TAK Server certificate passphrase

Your Import Password is the certificate passphrase. All default installations of TAK Server use a common certificate passphrase. Consult your CoreConfig.xml (/opt/tak/CoreConfig.xml).

## Importing TAK Server certificates into Node-RED

Once PEM certificate and private key are in hand, open Node-RED and add a TCP (request, input or output) Node to your Flow:

![TCP Request Node](tls/tcp-request.png)

Open the Node Properties dialog.

- Enter your server name or IP, port, and check **Enable secure (SSL/TLS) connection**.
- Click the pencil icon to **Add new tls-config...**.

![TCP Request Node Properties](tls/tcp-request-properties.png)

- Click Certificate **Upload** to upload your PEM certificate file.
- Click Private Key **Upload** to upload your PEM private key.
- Enter your Private Key passphrase (if your private key is still encrypted).
- Click **Add**.

![tls-config Properties](tls/tls-config-properties.png)

Click **Done**.

![TCP Request Node Properties Filled](tls/tcp-request-properties-filled.png)
Binary file added docs/tls/tcp-request-properties-filled.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/tls/tcp-request-properties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/tls/tcp-request.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/tls/tls-config-properties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/tutorials.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,16 @@
These tutorial videos cover installing and using Node-RED and node-red-contrib-tak, as well as highlight a use case for the Australian Capital Territory Emergency Services Agency.

- [Node-RED: JSON to Cursor on Target](https://www.youtube.com/watch?v=5i-y3Nc01Hs)

<iframe width="560" height="315" src="https://www.youtube.com/embed/5i-y3Nc01Hs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>


- [Node-RED TAK on Windows](https://www.youtube.com/watch?v=1mHphHhX4lk)


<iframe width="560" height="315" src="https://www.youtube.com/embed/1mHphHhX4lk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>


- [ACT Emergency Services Agency incidents into ATAK using Node-RED](https://www.youtube.com/watch?v=1xDQmRZAtFo)

<iframe width="560" height="315" src="https://www.youtube.com/embed/1xDQmRZAtFo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "node-red-contrib-tak",
"version": "4.1.0-beta5",
"version": "4.1.0",
"description": "Node-RED Nodes for encoding & decoding TAK Protocol and Cursor on Target messages from TAK Products.",
"license": "Apache-2.0",
"url": "https://github.com/snstac/node-red-contrib-tak",
Expand Down

0 comments on commit ce2668e

Please sign in to comment.