Today I would like to announce the general availability of an application that I wrote mostly this past weekend.
It is AAM Manager (aka AAMM) to make manager AREDN alert messages easier. It allows one to create, update and delete AAMs from a web interface without having to log into a node or a Linux machine to hand edit files. In addition, it supports the new group AAMs that was added to the AREDN firmware in the 3.23.8.0 release.
This GA version (v0.1.2) can be found at https://gitlab.com/aredn-apps/aamm/-/packages/18753925 as an installable package for AREDN nodes. While AAMM can also run on Linux machines, like MeshChat, it requires access to the OLSR information found on nodes and this requires a number of extra steps to get a list of nodes into AAMM for creating alerts. Ideally, when a list of nodes does not get returned one can enter a node name into a text box, but this has not been tested on Linux yet. If necessary I can add a quick patch to force the text entry box to be used until AAMM gets more mature.
I am sure that there are still a few bugs and use cases that have not been discovered yet and I would encourage anyone using AAMM that finds anything to file an issue in the project so that I can address it. You will find a link to both the project and for creating issues at the bottom of the AAMM page.
If you would like to take a look at AAMM and are on a mesh connected to the Tennessee SouthMesh or connected to a Supernode that connects to the SouthMesh, you can go to http://10.252.176.33:8080/aam (also http://wt0f-1.local.mesh:8080/aam if you have a connection to SouthMesh). This is a test node, so it does not serve any real AAMs. You can log into this copy of AAMM with the password 'change_me'.
I would appreciate comments and suggestions, either here, as an issue in the project or you can contact me directly at wt0f@arrl.net.
73
--
Gerard
Gerard, thanks very much for this contribution! It should help many people learn about, create and use AREDN Alert Messages on their networks, since it can run directly on a node (no separate server required to host the messages). Looking forward to your many ideas and contributions.
Hi Gerard,
I have a separate WEB Server based on a Raspberry. Is your new package allowing for managing alert messages in this case?
Thanks !
73 de Leo, i3rke/ac2og
Hey there Leo!
Yes, it basically will. Or should I say should work. I have not yet had a chance to test it on a separate Linux machine. The one thing that will not work today (it will in the near future) is populating the dropdown list with all the node names. What you should get is a text entry box that would allow you to type in the node name directly to create the message. Worst case is you will still get the dropdown box and there is a selection for an unlisted node which then enables the text entry box. If you have difficulties running it on Linux, please let me know so that I can work with you to get it running flawlessly (which is one of my goals of the project).
I am not producing a Debian package of AAMM yet (again, another thing that will happen in the future), but installation on a Linux OS is pretty straight forward. Assuming you already have LUA installed on Linux, you would want to copy the files in the `www` directory to a `aam` directory in your web server root directory (probably /var/www/html/aam). Then copy the `aamm*` files to where your `cgi-bin` directory is located (probably /usr/lib/cgi-bin). Make sure that the `aamm.lua` file has execute permissions and then it should be accessible as http://<linux hostname/ip>:8080/aam/.
I would be interested in hearing your results.
73
--
Gerard, WTØF
Doh!!
I decided to take a few moments before going to do some oil changes to get AAMM running on Linux to do some testing. One thing I was not thinking about is that the OpenWRT environment that AREDN uses has a number LUA modules installed which are not installed on Linux. I will either have to rewrite a few things to remove the dependency on the additional modules (luckly only 2-3 spots) or work on getting the modules installed under Linux. I tried but `nixio` was having problems compiling during the install.
So hold tight for a couple of days and I will have a new version out that will address these issues on Linux.
73
--
Gerard, WTØF
Sorry for the delay, but I was having problems with the release software to work correctly. Now that things are working correctly I have released the Debian packaging for Linux installations. All the LUA code has been rewritten so that it should be working on Debian derivatives and AREDN nodes.
While I still need to get the release software working to post the changelog for the release, at least the packages will be automatically created and listed on the release page. You can find the latest packages at https://gitlab.com/aredn-apps/aamm/-/releases
If anyone finds any bugs or problems installing, please create an issue in the project.
BTW, I just noticed that the package names are not correct on the release, but that will get fixed in the next release.
"the new group AAMs that was added to the AREDN firmware in the 3.23.8.0 release."
Hi, Gerard:
I would like to know more about AREDN-AAM and your AAMM.
I insert local airport temperature into my AAMs updated every 10 minutes.
What does your AAMM do?
Is there documentation available?
73, Chuck nc8q
AAMM documentation is available both here and here.
Thanks, Steve, for documentation citations. I did not realize that AAMM entry had been put up on the arednmesh.org site and have been planning on putting something together. I was surprised to see it and happy to see the superb job you have done to keep that site up to date.
Chuck, the documenation that Steve has cited is what is out there right now. I will be continuing to put some more documentation out there around AAMM and certainly feel free to ask questions or suggest improvements. Questions will help guide me to where I need to work on improving the documentation.
AAMM right now works best on an AREDN node, but I am working to have it operate with the equivalent feature set on a Linux machine. I know that there are some that prefer to run AAMs off a separate web server. There are still a few things that need to happen to have it operate flawlessly on Linux, but it will get there.
One of the future improvements is to continue to improve the API aspect so that automated messages can be created and removed with a series of scripts. The functionality is really there and you probably want to take a look at the API documentation for an idea of how this would be done. It is actually the same way that the web interface creates and removes AAMs.
73
--
Gerard.
Hi Gerard, this looks very useful.
I found the ipk package, great. The docs provided say the messages have to be on a web server. Do you mean while the package resides on a node, the message files must be on a separate web server ... something like a PC or other with Apache2? This would mean that we have to configure the new AAMM with the ports and forwarding as well ... and have a unique port for this service on the other machine ... etc etc ...
Can you (or someone who gets it) make a step by step example of an installation ... with screen shots of an actual working instance? Or a video how to set this up? I especially would like to get the detail about how you make groups to receive messages so you don't spam the entire network with broadcast messages.
Thanks,
Ed
Sorry for any confusion.
If you are running AAMM on an AREDN node (which you proably are if you installed the .ipk file) then there is already a web server running and AAMM will use this web server. In this case you would set the nodes up to use http://<nodename>:8080/aam (nodename being the name of the node where AAMM is installed) as the "Alert Message Local URL" in the advanced settings. This will cause all the nodes to check the node for any alerts periodically (set by the Alert Message Pollrate in the same section). I think the reference to the messages being on a web server is in the section about installing AAMM on a Linux machine and can be ignored if you are only using AAMM on a node.
AH, I just re-read the README file and I do reference a centralized web server there too. I will get some updates to clarify the statements as to not continue to confuse people. Thank you for pointing this out.
There will certainly be more documentation in the future as I continue to develop some of the aspects of AAMM. As for the group message functionality I would suggest reading the docs I wrote for the group messages in the AAM documentation. If you still have questions about group messages, please let me know and I will see if I can rewrite some of the documentation to make things clearer.
73
--
Gerard
Hi, Gerard:
I looked 'there' and 'there' and 'there'.
Where do I program a password?
Someone please publish a skeleton GET and ACTION HTML
Chuck
Not a problem. It is a very young project (most of it was written in a weekend) and there is still plenty of work to do.
When you have the opportunity read the configuration doc as that is where the password and other settings are found. The quick answer for you is to edit /www/cgi-bin/aamm_config.lua and set the password there. The default is "change_me" and you should be able to use that right now. The password is stored in plain text in the config file so you can set it to anything you want.
As for the API, it is a very simple syntax. Here are a couple of examples:
http://<node>:8080/cgi-bin/aamm.lua?action=list_alerts
http://<node>:8080/cgi-bin/aamm.lua?action=list_nodes
http://<node>:8080/cgi-bin/aamm.lua?action=create_alert&auth=<password>&alert_file=foobar.txt&alert_text=WARNING+WARNING+Will+Robinson
All the API calls return a JSON document on success or failure. Success will pass back data like for the list_alerts or list_nodes calls. Failures will pass back a result that tries to describe the failure. Also note that the alert_text needs to be quoted (encoded). I though that I had referenced the quoting function in the API document, but I don't see it. Here is the decoding function until I can get some more documentation about it: https://gitlab.com/aredn-apps/aamm/-/blob/main/aamm_lib.lua?ref_type=heads#L98
Hi, Gerard:
Thanks.
I had no clue as to how to navigate the gitlab web site nor what filename to seek.
73, Chuck
OK, I'll wait for more information. One question now ... this package uses port 8080 on the node? That is the same port used by meshchat and other packages. is this a problem? Do we need to change ports on one of the packages? How do we accomplish this?
Add this to the bewildered potential grateful user questions list ... :-)
Ed
Ed, keep asking the questions! It helps me understand if there is a gap in the documentation and/or help people increase their knowledge. I am happy for both.
On an AREDN node AAMM will run on port 8080. There is no conflict with any other packages as they all get accessed from different URLs. Think of it this way; you can run multiple applications on your computer with out having to have different operating systems for each application. Imagine how painful it would be if for one application you needed to run Windows XP and for another application you would need Windows 10. But wait to run that third application you would need Windows NT. Woefully inefficient! So it is the same with web applications as long as the paths in the URL don't collide.
This is slightly different for Linux. The default web server on Linux is preconfigured to use port 80 instead of port 8080. This can be changed, but in most casess it is sufficient to run AAMM on the port that the is used by the web server what ever operating system is actually being used.