I'm working on a side project with an instructor, and seem to lack pretty much all of the pre-req knowledge to work. The goal is to set up the PDU to take SNMP commands from a mobile app. The setting up of the app and all of that I can manage, but the rest I can not. How would the PDU receive the commands? There doesn't seem to be a way for it to take in commands except the ones that set it up (Telnet vs SSH, IP and mask, etc). Would I need to have the app communicate with a local machine that then sends the commands to the PDU? I can't seem to find anything online about this, and the "manual" for the APC product is 180 pages with zero information (this is very frustrating to me).
Any suggestions on where I should even begin? I've been reading up on various things online, but everything I find is very product specific, and none if it is for PDUs.
All help is appreciated,
As long as the app (and the device the app is installed on) can reach the PDU over the ethernet network somehow, then you should just need to program the app with the different SNMP commands and tie them to a GUI option.
Here is how I would envision doing this. You'd have a phone connected to wireless (wifi) on the same network where the PDU is plugged in to an ethernet network switch. The PDU would have an IP, subnet, mask and gateway. There is an APC PowerNet MIB (management interface base) that contains all of the OIDs (object identifiers) that the PDU will accept. Your utility would reference these OIDs and do a GET (read) or SET (write) using that command on the SNMP interface of the PDU.
So, your app is going to need to have some sort of capability to send SNMP commands. There is stuff out there like net-SNMP tools that operate via the CLI that are able to do this on a PC. Then, there are other GUI type programs out there, called MIB browsers, that allow you to read and also set/write data to devices once you've loaded the MIB reference file. This might be a good start for you to try and do so that you can see how it works on a PC and figure out maybe how to get it on an app.
A MIB browser I like to use is GetIf and also there is another called iReasoning. They are freeware you can try. They each allow you to load the SNMP MIB with all of the OIDs into them for which then you can "browse" that hierarchical tree to see all of the OIDs. This file contains all OIDs for all of the products we make - PDUs, UPSs, etc so it is quite large. There is a dedicated subtree for AP7900 which is called rpdu.
Start here by getting the latest copy of the MIB. You'll want to write click on it and save it or else it will display in your web browser: ftp://restrict:Kopemail@example.com/software/pnetmib/mib/421/powernet421.mib
And you can look for GetIf 2.2 or 2.3.1 (I have both) and iReasoning to download. With GetIf, you can just load the APC MIB I linked into the folder called Mibs in the install directory. Ireasoning has a menu option to load the MIB.
Once you get the MIB loaded, then you can browse the tree like this (from iReasoning). All of the tools look somewhat similar. The selected section is for this model of Rack PDU to see the values it provides. Other areas of the MIB provide data for many device types as well but this is the section you'll want to control outlets.
Some of this may also require some general SNMP research/learning if you aren't familiar with the protocol. You'll want to know what the following terms mean: GET, SET, WALK, TRAP by researching if you're not already familiar. You'll need to do SETs on rPDUOutlet OIDs to control the outlets - all at the same time or individually.
There are also SNMP configuration and authentication settings you need to set up in the MIB browsers and the PDU.
I hope this gets you started. Once I know further what you are familiar with or not based on what I said above, you can ask further questions if you'd like.
Very very sorry for the late reply. Unfortunately right after I posted this the project focus switched to something else. I will start here and post further questions as they arise. Thank you so much!
Choose a location: