Air pressure measurment

We have a combined sensor for temperature, humidity and air pressure. It is located inside but should reflect the actual air pressure. The sensor is connected to a comm server via RS485/MODBUS.

The comm server creates a virtual comport that used by computers that have software that handles weather data. The software can handle information from a different kind och sensors for temperature, humidity, airpressure etc. Ít uses both RS232 (NMEA 0183) and RS485 (MODBUS) as communication protocol. The major part of the collected data origin from indoor and outdor messurments but also from server farms etc.

The values are polled every 5 minutes and if the value has changed since last poll, it is stored in a database. The webserver then reads the information from the database and displays it on this webpage.

Previous solution

Previous we had a temporary solution. A sudden surge in air pressure triggered out interest. The pressure dropped out of the scale och our conventional barometer. We though that it should be documented and that should be done fast. Time to do some hacking....

We decided to do air Pressure measurment by a Silva Multinavigator. We had a few of them resting on the shelf so why don't use them. We did that back in 2004 in a similar project.

Silva multinavigator

The Silva Multinavigator can communicate via NMEA 0183. NMEA 0183 is basically just a stream of serial ASCII data. We connected the Silva Multinavigator to a RS232 comm server. The commserver makes is possible for a remote computer to use the comport via TCP/IP.

Serial comm server

The comm server then was used by a computer that had a inhouse software that handled weather data. The software can handled information from a different kind och sensors for temperature and humidity etc. Ít uses both RS232 (NMEA 0183) and RS485 (MODBUS) as communication protocol. The major part of the collected data origin from indoor and outdor messurments but also from server farms etc.
So the only thing we had to do was to create a module for the software that could interprete the NMEA 0183 datastream received on a RS323 port.

The NMEA 0183 protocol consists of a bunch of sentences thats starts with a data descriptor and ends with a checksum. This is originally constructed for sending meritime data on boats. The information in a sentence can be heading, possition, speed, battery voltage, RPM for the engine or air pressure. The sentence from the Silva Multinavigator that we were intrested in was this one.
$YXXDR,P,#####,P,*##
where the middle 5 hashes represent the air pressure in hPa and the tailing hashes represent the checksum.

The values were polled every 5 minutes and if it has changed since last poll, it was stored in a database. The webserver then reads the information from the database and displays it on a webb page.

Back to airpressure