add lua links for meshchat and iperfspeed

Add lua links for meshchat and iperfspeed.
This commit is contained in:
Steve Lewis AB7PA 2022-03-16 08:00:05 -07:00 committed by WU2S
parent b32e251e89
commit fba01ba679
2 changed files with 25 additions and 14 deletions

View File

@ -1,20 +1,26 @@
=============================
Test Network Links with iperf
=============================
==============================
Test Network Links with iperf3
==============================
`iperf <https://en.wikipedia.org/wiki/Iperf>`_ is a network bandwidth testing tool which is available as an AREDN |trade| package for use on mesh nodes. It is a client-server utility, so it must be available on each node that will participate in the network test scenario. The iperf client node generates traffic which is sent to the server node. TCP bandwidth is measured and an estimate of the network speeds between that client and server is displayed.
`iperf3 <https://en.wikipedia.org/wiki/Iperf>`_ is a network bandwidth testing tool which is available as an AREDN |trade| package for use on mesh nodes. It is a client-server utility, so it must be available on each node that will participate in the network test scenario. The iperf3 client node generates traffic which is sent to the server node. TCP bandwidth is measured and an estimate of the network speeds between that client and server is displayed.
Understand the impact to your network before using iperf. During the test period iperf will generate a significant amount of traffic in order to determine the capacity of the link between the client and server nodes. Try to run your iperf testing during times when you know that there will be minimal impact to users and routine traffic on your network.
Understand the impact to your network before using iperf3. During the test period iperf3 will generate a significant amount of traffic in order to determine the capacity of the link between the client and server nodes. Try to run your iperf3 testing during times when you know that there will be minimal impact to users and routine traffic on your network.
Installing iperf and IperfSpeed
-------------------------------
Installing iperf3 and IperfSpeed
--------------------------------
Two packages should be installed on each AREDN |trade| node in order to facilitate testing between nodes. The **iperf3** package allows the nodes to function either as an iperf3 client or server during the test, and it can be found in the *base* package download section. The **IperfSpeed** package provides a web-based control interface for running network tests between nodes, and it was written by Trevor Paskett K7FPV using the Perl programming language.
With the project to retire Perl on AREDN |trade| nodes, there is now an alternative *IperfSpeed* package which uses the Lua programming language. The original Perl and new Lua packages are available at the following links:
* `Original Perl version of IperfSpeed <https://aredn.s3.amazonaws.com/iperfspeed_0.5.1_all.ipk>`_
* `New Lua version of IperfSpeed <https://github.com/kn6plv/iperfspeed/raw/master/iperfspeed_0.6-lua_all.ipk>`_
Two packages should be installed on each AREDN |trade| node in order to facilitate testing between nodes. The **iperf3** package allows the nodes to function either as an iperf client or server during the test, and it can be found in the *base* package download section. The `iperfspeed <https://aredn.s3.amazonaws.com/iperfspeed_0.5.1_all.ipk>`_ package provides a web-based control interface for running network tests between the nodes.
Using IperfSpeed
----------------
After iperf and IperfSpeed are installed on your nodes, you can select the *IperfSpeed* service on one of the nodes to open its web interface in a new browser tab. From the dropdown lists, select a node as the iperf server and also one as the iperf client. Click the *Run Test* button to begin the network bandwidth test.
After iperf3 and IperfSpeed are installed on your nodes, you can select the *IperfSpeed* service on one of the nodes to open its web interface in a new browser tab. From the dropdown lists, select a node as the iperf3 server and also one as the iperf3 client. Click the *Run Test* button to begin the network bandwidth test.
.. image:: _images/iperfspeed-display.png
:alt: iperfSpeed Display
@ -24,4 +30,4 @@ After iperf and IperfSpeed are installed on your nodes, you can select the *Iper
Once the test has completed you will see the collected data summarized by time interval, and at the bottom of the display is the overall average of the results from the perspective of the sender (client) and the receiver (server). IperfSpeed also tracks previous tests that have been run, and it allows you to rerun any of the previous tests by clicking the *Re-Test* button.
One of the many uses for IperfSpeed is to validate and optimize your node's *Distance* setting on the **Basic Setup** page. Try different *Distance* settings and note the network bandwidth using iperf, with the goal of choosing the *Distance* setting which yields the best network performance.
One of the many uses for IperfSpeed is to validate and optimize your node's *Distance* setting on the **Basic Setup** page. Try different *Distance* settings and note the network bandwidth using iperf3, with the goal of choosing the *Distance* setting which yields the best network performance.

View File

@ -9,13 +9,18 @@ Chat programs are one of the least network-intensive types of communication prog
MeshChat
--------
MeshChat has become the primary chat service for AREDN |trade| networks because it was written specifically for mesh communication. Users access MeshChat via web browser, and the service runs on the mesh node itself or on a LAN-connected Raspberry Pi computer. After logging in by entering a call sign, send a message by typing into a text box and clicking the *Submit* button. The list of active users is displayed, and every message is visible to all participants on the chat service. Multiple *Zones* and *Channels* are supported for categorizing and separating message traffic.
MeshChat has become the primary chat service for AREDN |trade| networks because it was written by Trevor Paskett K7FPV specifically for mesh communication. Users access MeshChat via web browser, and the service can run on the mesh node itself or preferably on a LAN-connected Debian or Raspberry Pi computer. After logging in by entering a call sign, you can send a message by typing into a text box and clicking the *Submit* button. The list of active users is displayed, and every message is visible to all participants on the chat service. Multiple *Zones* and *Channels* are supported for categorizing and separating message traffic.
The message database is stored on every device where MeshChat is running. Nodes may have intermittent network connectivity, but as long as at least one node is available the MeshChat database remains intact. Once nodes come online they immediately catch up by retrieving a full copy of the message database. If any new messages are found, they are appended to the local message database.
A copy of the message database is stored on every device where MeshChat is running. Nodes may have intermittent network connectivity, but as long as at least one node is available the MeshChat database remains intact. Once nodes come online they immediately sync by retrieving a full copy of the message database. If any new messages are found, they are appended to the local message database.
In addition to the keyboard-to-keyboard chat feature, MeshChat also allows files to be shared between nodes. Files may be uploaded from or downloaded to the user's computer at any time. If MeshChat is running on a radio node then the file storage is limited to 500 kb, but if running on an external computer the file storage is limited only by the size of the disk that is allocated for MeshChat files.
In addition to the keyboard-to-keyboard chat feature, MeshChat also allows files to be shared between nodes. Files may be uploaded from or downloaded to the user's computer at any time. If MeshChat is running on a radio node then the file storage is very limited, but if running on an external computer the file storage is limited only by the size of the disk that is allocated for MeshChat files.
MeshChat *Action Scripts* also provide for functional extensions, such as sending messages to an SMS gateway for external distribution. It is also possible for action scripts to periodically save the message database for archive purposes or integration with external tools. Although MeshChat is a commonly deployed service, it is a third party package which is not available in the AREDN |trade| repositories. You can find additional information by visiting this link: `MeshChat <http://www.trevorsbench.com/meshchat-messaging-for-mesh-networks/>`_
MeshChat *Action Scripts* also provide for functional extensions, such as sending messages to an SMS gateway for external distribution. It is also possible for action scripts to periodically save the message database for archive purposes or integration with external tools. Although MeshChat is a commonly deployed service, it is a third party package which is not available in the AREDN |trade| repositories. You can find additional information by visiting this link: `MeshChat at Trevor's Bench <http://www.trevorsbench.com/meshchat-messaging-for-mesh-networks/>`_
As originally designed, MeshChat uses the Perl programming language and is able to run either on an AREDN |trade| node or on a LAN-connected Debian or Raspberry Pi computer. With the project to retire Perl on AREDN |trade| nodes, there are now alternative MeshChat packages which use the Lua programming language for running on nodes. If you are running the original Perl version on an external computer, you can still use the new Lua API on your node to provide the computer with the list of MeshChat nodes. These Lua packages are available at the following links:
* `Full MeshChat package for a node <https://github.com/kn6plv/meshchat/raw/master/meshchat_1.02-lua_all.ipk>`_
* `MeshChat package containing the node API only <https://github.com/kn6plv/meshchat/raw/master/meshchat-api_1.02-lua_all.ipk>`_
.. image:: _images/meshchat.png
:alt: MeshChat Web Interface