BMPC monitoring

I am putting this in the “Hardware” category, since it is about keeping our hardware healthy, and does not really fit well anywhere else either as far as I see it. Please let me know if you disagree.

Problem statement and overview

Most BMPCs II run an outdated version of Windows on their internal computers, which should not be connected directly to a network with internet access for security reasons. In addition, using the integrated phone/fax alert system may be hampered by your insititution’s phone installation.

To circumvent these issues and add further monitoring options, the internal computer can be connected to the “outside world” via a gateway. This gateway may either be the spectrometer PC (making the BMPC another device on the spectrometer network), or a separate PC only operated for this specific purpose.

Accessing the BMPC data

First, the BMPC must be accessible via the “internal” network. Probably the preferable way is to just give fixed IP addresses to everyone on this network, and enter the gateway PC as the default gateway on the BMPC computer.

The BMPC II stores the measured values from its sensors in an Access format database, located at C:\Program Files\bruker\bmpc2\BMPC2 Control\db\log.mdb. The folder C:\Program Files\bruker\bmpc2\BMPC2 Control\db should thus be shared on the internal network in read-only mode.

This SMB share may then be mounted on the computer serving as the gateway. Keep in mind that older Windows versions may only support SMB version 1, which is not necessarily activated by default on modern operating systems.

Converting the Access database to CSV

If you are using a system that can directly work with the Access database, or want to convert it to da different database format, this section will not be useful for you.

We (at BNMRZ) are using Munin as an overall monitoring tool and would like to have the measured values in a text file format. Exporting values from the Access database can be done with the Linux tool mdb-export (part of the mdbtools package) and the following command:


mdb-export -D '%Y-%m-%d %H:%M:%S' /path/to/smb/mountpoint/log.mdb datalog > /desired/output/path/raw_db_conversion.csv

The output CSV file will contain, among others, the following columns:

  • 1: Line number

  • 2: Date in the format YYYY-MM-DD HH:MM:SS (including the space, may be changed in the command)

  • 5: T1

  • 8: T2

  • 17: Vacuum pressure (p1)

  • 20: Cryostat pressure (p2)

  • 23: Ambient pressure (p3)

  • 26: He flow

  • 32: Heater power 1

This creates a text-based output file, however the order of entries may still be garbled and it contains a bunch of unneeded data, such as channel names in every line, unused channels etc.. To clean this up, we are using the following awk command:


awk -F, '{ print $1 " " $2 " " $5 " " $8 " " $17 " " $20 " " $23 " " $26 " " $32 }' /desired/output/path/raw_db_conversion.csv | sort -k2 | grep -v datetime | tail > /desired/output/path/cleaned_db_conversion.csv

From this file, our Munin scripts extract their values to send to the server.

Miscellanea

Time synchronization via NTP

Having the BMPC computer clock in time is useful not just in the way that you can correlate logged events with “real time”, but also to avoid concurrent use of the Access database.

To keep the clock of the BMPC in sync with the rest of the world, one can configure the gateway as an NTP (network time protocol) timeserver. CentOS 7 used chrony for this, other operating systems may differ. Once timeserver and gateway firewall are configured correctly, you need to set the gateway as an “Internet Time” server in the date and time settings of the BMPC computer.

Thanks, Matthias, it is very helpful!

I would suggest to not use Samba v1 due to security reasons, though. For example, our university IT regularly scans the network and simply block every Samba v1 enabled machine from the network.
I’ve read that it is possible to use WebDAV protocol even in WinXP (one will need to enable IIS from Add/Remove programs → Add/Remove Windows Components). Maybe worth checking out. Cannot confirm it myself as all our BMPC’s were upgraded to Win10 recently.

Hello,
first of all many thanks to Matthias for this great work.
One technical appendix. The installation described here uses a gateway computer to run the scripts. The installation is as follows
BMPC — Gateway -----> World
There is a dedicated connection betwen BMBC and Gateway. Within the gateway there is no routing at all between two network interfaces. Which means, all aspects concerning security are restricted to that network interface connected with the world.
Of course this requires one dedicated computer for each BMPC. But there are no special requirements. Don’t know about the actual installation. When it became installed first time, these gateways were used Dell Optiplex 740, available for 40 € each.

Independent on this special entry I keep my fingers crossed, you get this web page really alive and used by many interested people. That’s by no means easy, as you maybe already found out.

1 Like

Hello to everybody!

Thanks for sharing your experiences. As a temporary solution we have chosen to install a client for remote access (dwagent ) so that the monitoring system is always reachable even if the telephone line is out of order.

I would also like to share our experience. I believe the “problem” of the telephone line is common to everyone because Bruker insists on using obsolete analogue modems which require digital lines reconfigured on analogue protocol (as in Italy there are no more analog lines), but the set of functions managed are reduced (e.g. timeouts not always handled in the same way, impossibility of sending faxes on demand, etc…).
I tried asking if we could use a 3G modem with an external antenna, but they offered no support at all.

Everything I’ve read about GW and database access makes sense to me… as long as the monitoring windows PC is working!

Unfortunately, when the PC gets damaged - and it can happen given the old age of the hardware- it is really a problem to find new and working MoBo/CPU/RAM/modems compatible with Win2k and suitable to manage the LCD display of the BMPC-I, whose drivers are no longer found.

The situation is slightly simpler for W7 and BMPC-II, but still not an immediate solution.

What experiences do you have with changing these PCs?

Came here to say thank you for posting this! Based on your instructions we made a very similar setup, although instead of sharing the db folder on the BMPC, we connected the BMPC to a shared folder on another computer, and used Windows 7 Task Scheduler to copy the log.mdb file every 30 minutes to that shared folder. A Python script checks whether the values are within our desired ranges and sends an email they are not.

An added bonus is that my cell service provider has an “email to text” feature so I receive SMS notifications.