Introduction:
This software is designed to allow a single system to run LCDHype and drive the LCD display whilst any number of systems communicate
with LCDHype via TCP to pass the required environmental details. That is to say a user can monitor any number of remote systems from
a single 'control centre'. Two pieces of software are required:
- LCDHype running on the 'control centre' system
- TcpMBM.EXE which runs on each system that is being monitored.
LCDHype is the software that drives the LCD display and collects the data to be displayed from the remote systems.
The TCPMBM.EXE code serves two main purposes:
- To allow a user to select those components in Mother Board Monitor that are required to be displayed on the LCD display.
The default display is as shown below.
I consider the voltages shown as being monitored to be the most important but you might disagree. It is possible to display other voltages but the maximum that can be displayed is four.
However, it would not be a trivial change as the 'form' is a graphic into which the names of the displayed items have been embedded. Obviously the graphic could be modified
and, for example, Core 0 be changed to -12V. The user would then have to map the appropriate MBM Sensor to Core0 Voltage. Details of how this would be achieved are given
in the Set Up section below.
-
To present a uniform name for each monitored item to the LCDHype software without which changes would have to be made to the LCDHype code to 'fit'
with each individual MBM setup. For example; in my MBM set-upI use CPU_Fan to indicate the CPU Fan speed but others might use CPU-Fan, CPUFan, Fan1 etc. That would mean that the SD script for LCDHype
would have to be changed to meet the naming standard in use by each user. I have therefore produced a set of 'names' for each of the displayed fields, these are shown below in
the LCDHype Param list box. I also have specified names for the items that are not obtained from MBM, Sys Name (name of the computer the software is running on), CPU Load, (provides
the % utilisation of the processor) Drive C to Drive G (can only work with first 5 hard discs) and CPU type (processor model number). It should be noted that as I only use AMD processors I have not been able to test this
routine thoroughly on Intel platforms, however, it does work OK on my son's Intel based lap top and desktop systems.
Installation:
There are two sets of software that have to be installed:
- LCDHype display and control software
- TcpMBM remote control software
The procedure for installing LCDHype is quite straightforward and not covered in detail here. Basically all that is required is to download the
software from the LCDHype site (see menu item) and then unpack it into the required directory. You must then download TcpMbm_LCDHype.zip and extract it into the scripts directory set up by the LCDHype installation.
LCDHype installation is then complete. For further details of LCDHype use the link to LCDHype from the menu and browse the English section of the board.
For TcpMBM there are two types of installation. The first is for users who already have VB6 runtime files installed - all these users have to do is to download the TCPMBM.ZIP file and extract it into the required directory/folder.
A shortcut to that file should then be placed into the system's startup folder/directory. The second installation is for users who do not have VB6 runtime files installed, in this case installation is handled by downloading
a zip file (TcpMbm.zip) which, when unzipped, will present the user with a standard installation wizard. Again the shortcut to the 'tcpmbm.exe' should be placed into the system startup folder/directory.
Set-Up Instructions:
The software examines the user's MBM set-up and establishes which of the 100 MBM sensor fields (0 to 99) are in use and then sets the names declared by the
user into the MBM sensor drop-down list. In the example Sensor 1 (String 0 - the motherboard monitor temperature sensor) has been declared by the user to be MBo, sensor 1
to be the CPU temperature whilst the sensors 2 - 31 are not in use. Sensors 32 to 39 represent various voltages, sensors 48 and 49 are the CPU and motherboard
fan speeds and sensor 64 equates to the CPU operating frequency and all other sensors are unused. For each sensor in use it will be seen that the returned
value is shown after the "/", i.e. No. 0 is MBo / 33 which is the temperature detected by that sensor.
In order to match these fields to those required by the LCD Hype SD code all that is required is for the user to select the field name in the LCDHype Param
drop-down list and then select the appropriate field in the MBM Sensor List drop-down. For example to map the CPU Fan: select the field CPUFan in the LCDHype param
list and No. 49: CPU_Fan / 3214 in the MBM Sensor List drop-down as shown below.
The user then clicks on the 'Link Sensor to Param' button and will be presented with a display similar to that shown below
This has now linked the two field names and will present the speed 3214 (rpm) against the CPU Fan field in the LCDHype display.
The above sequence is repeated for the remaining entries in the LCDHype Param list. All of the other fields are generated automatically
and no user intervention is required.
When all fields have been set the user should press the Save button followed by the Start button. The Save button saves the settings to
an INI file (in the Windows directory e.g. 'C:\Windows\tcpmbm.ini') that can be used whenever the software is restarted. Each time the
software is run the user will be asked if the saved file is to be used to set the operating conditions. The Start button undertakes a
check to see if all the required fields are present and checks to see how many hard drives exist and if all is OK establishes the link
with the remote LCDHype 'server'.
There is one other set-up requirement and that is to set the TCP/IP address to be used by the LCDHype script 'tcpmbm.sd'.
Line 6 is defaulted to "%DefVar(IP='127.0.0.1')" and the '127.0.0.1' should be changed to the TCP/IP address for the system running
the 'tcpmbm.exe', i.e. the system to be monitored. If more than one remote system is to be monitored then the script should be copied
and renamed to, for example, 'tcpmbm1.sd' and again the TCP/IP address for the system to be monitored should be set to the
required value. LCDHype should then be set to run both scripts.
I have not tested to see how many remote systems can be monitored but I suspect that it is almost limitless. The scripts are set to
run for 20 seconds per system (line 52) with an update every 5 seconds (line 51) and under this condition the CPU load peaks at about
35-40% for a very short period whilst for the remainder of the time it is 2% or less. Obviously a more frequent update will use more
CPU mill whilst a less frequent update will reduce the overall CPU loading. On the 'remote' system (the system running 'tcpmbm')
the CPU load peaks at about 1% but for the greater part of the time runs at less than 1% and thus has little or no impact on the
performance of that system.
Running the Software
When the software is run for the first time the user will be prompted 'Do you wish to used saved data to complete set-up' and as there
will not be any saved data at that time the answer should be no. When the software has been run and the approriate settings made the user
should press the 'Save' button and all of the settings will be saved. On each subsequent time that the software is run the answer to the
prompt should be yes and the same setting that were saved will be re-established.
It just remains for me to say that I do not claim that all of the code has been written by me, some 'chunks' of the TCPMBM.EXE have
been gleaned from code in the public domain, in particular thanks go to David Crowell, Christian Hofstaedlter and Paul Caton for their
excellent code routines.
If you use this project and have any problems then I can be reached via the LCDHype board or, alternatively you can PM me via the board.
JohnH