To aid the development of 3rd party controllers using the AIM's API, we have created a windows application that demonstrates how the API works. It implements all the functions that are available in the API v6 specification, however, the application is backwards compatible with the original AIM running v3.3 firmware.
The software is a Windows 32-bit .NET Framework 4.0 application and will run on Windows, 7, 8 and 10. In the unlikely event you do not have the .NET Framework installed, you can install it from here.
Disclaimer: This software is provided 'as is' without support or warranty of any kind.
Download: AIM Controller v1.0.290.zip
Instructions
Connecting to the AIM
- Download and unzip the AIM Controller application.
- Run the AIM Controller.exe.
- Enter the IP Address of the AIM and an Administrators Username and Password used to log into the AIM’s web interface. Press Connect.
- When it has successfully connected, you will see the communication between the application and AIM under the Log tab.
- The API is restful (REST) based, therefore in order to get updates, you must request for the information again. By default, the application polls the AIM Manager every 5 seconds and compares the data currently held against the newly received information and updates the data accordingly. The log is appended each time the AIM is polled.
Logging
- The application by default logs all the communication between itself and AIM Manager.
- As shown in a previous screenshot, it logs the Date and Time that the event occurred. The Action that the application is performing, for example requesting a list of devices. The message Type, i.e. whether it is being sent or received by the application and finally the message. The Message will either be an API HTTP request or response in an XML format.
- The entries are colour coded to make it easier to read, for example, an auto-login is coloured blue, updates are green, errors are red and finally, your interactions are coloured orange.
- The log list view only displays part of the message request or response. To show the full information, there are two options,1) simply double-click on the log entry or 2) right mouse click on the log entry and choose Show Log Details from the menu.
- This will open a Log detail window that shows the message in a coloured easily readable format inside a scrollable text box.
- You can use the arrow buttons at the bottom of the window to move up and down through the log to show each message.
- In addition to viewing the log messages, from the right mouse menu you can save them to a csv file by choosing Save Log or clearing the listing by selecting Clear Log.
- In the top right-hand corner of the application you can choose whether to enable or disable logging and filter what is displayed. Show Updates will log all the communication with the AIM Manager. No Updates, on the other hand, will hide all the automated update communication and only show your interaction with the AIM. For example, what was sent and received when you made a channel change.
- There are further options in the Setting menu under FIle -> Settings that include setting the automated Update interval frequency and the maximum number of rows the log list will hold. By default, the application gets an update from the AIM every 5 seconds.
Receivers
- The receivers tab shows you a list of receivers that the AIM Manager has configured. It shows you their Name, Id, Description, Location and Channel that it is connected to.
- The icon in front of each receiver denotes its online status, i.e green is online and red offline.
- If you right mouse click on a receiver, you have the following options:
- Menu Options:-
- Device Info - This shows additional information about the receiver
- Update Device - Allows you to edit either the description or location information.
- Connect - Choose a channel that the receiver will be connected to.
- Disconnect - Disconnect the current channel. Only appears if a channel connection has been established.
- Disconnect All - Disconnects all the channels on the AIM. You will be prompted for confirmation before the action is carried out.
Device Info
- The device menu presents two tabs, Information and XML.
- The Information tab is a formatted subset of details held on the receiver.
- Depending on when the receiver was manufactured, it may also include the serial number of the unit.
- The window can be resized or made full screen.
- The navigation buttons at the bottom allow you to switch device.
- The XML tab contains all the information about the receiver in an XML format.
Update Device
- Allows you to edit the Description and Location for a device.
Connect
- You can choose from the dropdown list the channel that you wish the receiver to connect. The AIM will only show those channels you have permission to access.
- In addition, you can specify the connection mode, for example, View Only.
Disconnect and Disconnect All
- The disconnect option is only visible if the receiver is connected to a channel.
- You will be prompted to confirm before Disconnecting All channels.
Transmitters
- The transmitters tab shows a list of transmitters that are being managed by the AIM.
- The icon in front of each transmitter denotes its online status, i.e green is online and red offline.
- It shows the Name, Id, Description and Location for each transmitter.
- If you right mouse click on a transmitter, you have the following options:
- Menu Options:-
- Device Info - This shows additional information about the transmitter.
- Update Device - Allows you to edit either the description or location information.
Device Info
- The device menu presents two tabs, Information and XML.
- The Information tab is a formatted subset of details held on the transmitter.
- The XML tab contains all the information about the receiver in an XML format.
Update Device
- Allows you to edit the Description and Location for a device.
Channels
- The channels tab provides a list of those channels the user has access.
- It shows the Name, Id, Description and Location
- If you right mouse click on a channel, you have the following options:
- Menu Options:-
- Channel Info - This shows additional information about the channel.
- Create Channel - Allows you to create a new channel.
- Delete Channel - Delete a channel.
Channel Info
- The channel menu presents two tabs, Information and XML.
- The Information tab is a formatted subset of details held on the channel.
- The XML tab contains all the information about the receiver in an XML format.
Create Channel
- This allows you to create additional channels on the AIM Manager.
- As a minimum, you must provide a Name of the channel and choose a video head to display.
- The Allowed Connections enable you to choose what type of connection is available, for example, View Only.
- The Channel Group name allows you to enter the name of an existing channel group that you wish the channel to be in.
Delete Channel
- This simply allows you to delete an existing channel.
- You will be asked for confirmation before the channel can be deleted.
Preset
- The Preset tab show you the presets stored on the AIM and allows you to manage them.
- If you right mouse click on a preset, you have the following options:
- Menu Options:-
- Preset Info - This shows additional information about the preset.
- Create Preset - Allows you to create a new preset.
- Delete Preset - Delete a Preset.
- Connect - Connect to the preset.
- Disconnect - Disconnect the preset.
Preset Info
- The preset menu presents two tabs, Information and XML.
- The Information tab is a formatted subset of details held on the preset.
- The XML tab contains all the information about the preset in an XML format.
Create Preset
- This simply allows you to create presets based on channels that the API logged in user has permission to access
- At a minimum, you need to enter a Name and a Receiver and Channel pair.
- You also need to specify the Allow Connections. By default, they are inherited from Global Settings.
Delete Preset
- This simply allows you to delete an existing preset.
- You will be asked for confirmation before the preset can be deleted.
Connect
- This instigates the Preset to connect to the channels
- You may receive an error if not all the channels could be changed.
Disconnect
- Simply disconnects a Preset.
C-USB Lan
- The C-USB Lan tab shows all the C-USB's on the AIM. Unlike the Infinity endpoints, the C-USB Lan receivers and transmitters are listed together.
- It shows the Name, Mac Address, Type and to whom it is Connected To.
- The icon in front of each unit denotes its online status, i.e green is online and red offline.
- If you right mouse click on a C-USB Lan, the menu will be different for a transmitter or receiver.
- For a Receiver, the menu options are:
- C-USB Info - This shows additional information about the receiver.
- Update C-USB - Allows you to create a new preset.
- Connect - Connect the receiver to a transmitter.
- For a Transmitter, the menu options are:
- C-USB Info - This shows additional information about the transmitter.
- Update C-USB - Allows you to create a new preset.
C-USB Info
- The C-USB menu presents two tabs, Information and XML.
- The Information tab is a formatted subset of details held on the preset.
- The XML tab contains all the information about the receiver in an XML format.
Update C-USB
- This allows you to change the Name of the transmitter or receiver.
Connect
- Only available for the receiver.
- This opens a connection window from which to chose a transmitter to connect the receiver.
Export CSV
- The application has the ability to export the data it has captured from the AIM to a CSV that can be read in different applications like Excel.
- This feature is useful for example if you want to get a list of serial numbers, IP addresses and Mac addresses from the Infinity Transmitters and Receivers. See Export Serial Numbers for an example.
- Navigate to File and Export to CSV. NOTE: The option is only available after the application has connected to the AIM Manager and retrieved the data.
- The Export to CSV window will open.
- In the Type dropdown list, you can choose one of the following:-
- Devices - The Infinity receivers and transmitters
- Channels - Channel information
- Presets - Preset information
- CUSBLAN- Details on the C-USB LAN's
- Below the Type dropdown are two lists boxes, one contains a list of properties that are available for the selected type. The second is a list of properties that you want to be included in the CSV export.
- The available properties will change if you change the Type.
- Use the arrow buttons to move the properties from one list to the other.
- The option to Export will be available as soon as one or more properties have been selected in the Include in Export list.
- Press the Export button to save the data. A file requester will be shown prompting you for a location to save the CSV file and give it an appropriate name, then press Save.
Settings
- The settings menu is available under File -> Settings.
- There are following options:-
- Automatically Connect to AIM - When the AIM Controller application starts, it will try and automatically connect to the AIM if a valid IP, username and password have been set.
- Logging: Update Interval - You can specify how frequently the application polls the AIM Manager. The minimum interval is 5 seconds. 1000ms (milliseconds) = 1 second.
- Logging: Max Lines - This is the maximum number of lines that will be displayed in the log tab. Once exceeded, old entries will be removed in a first in first out process.
- Show/Hide Tabs - This simply allows you to hide or show tabs that may or may not want to see.