ML1WirePro Plugin

From Cinemar Wiki
Jump to: navigation, search

About

What is ML1WirePro Plugin


ML1WirePro is a plugin to interface MainLobby Server 3 with 1-Wire technology devices via serial or USB. 1-Wire Overview1-Wire Description Each 1-Wire device is tracked in a database. The last data event per device also updates an MLServer variable. There currently is some graphing capability in the Plugin Settings tab, but none in the MainLobby client yet (just working prototypes which are cool but not ready for prime time).

MLServer event logic can be used to trigger events that exceed a threshold value (too hot, too cold, too much humidity, too much voltage, etc).

This will be a very versatile plugin to create lots of capability using inexpensive hardware.

It allows the user to view status and control various functions of 1-Wire Devices. 1-Wire devices are inexpensive sensors that install on “1 wire”. The devices each have a unique serial number encoded into them for identification. Many devices are available that can sense temperature, voltage, track counts, humidity, rain gauge, moisture sensing, user authentication (iButton), etc.

The ML1WirePro solution consists of five parts:

1 – Microsoft Virtual Machine (cannot use the Sun version)

2 – 1-Wire Timex Drivers (supports RS232 and USB 1-Wire interfaces)

3 - The ML1WireProServer 3 plugin

4 – The ML1WireProer interface example scene

5 - The SQLExpress database and index files


ML1WirePro Architecture Diagram

One wire chip(s) > Cat5 wire or other > USB or RS232 1Wire interface > PC > Timex hardware drivers > ML1WirePro Plugin > SQLExpress Database.


System Requirements

Minimum:

	800MHz Pentium or Athlon processor 
	128MB RAM
	English version of Microsoft Windows XP, MCE,  2000 (64bit and Server 2000, 2003 are NOT supported)
	10MB of free hard drive space
	100% Windows compatible mouse
	MLServer 3.143 or later
	MainLobby Client 3.39 or later


Installation and Setup

This section will guide you through the basic installation and setup of ML1Wire Server Plug-in. Please READ the installation instructions!!!

To install ML1WirePro Plugin:

1. Go to the Cinemar MLServer download page at:

http://www.cinemaronline.com/software/prod/ml1wire/ML1Wire_Setup.exe

2. On the MLServer PC that the 1-Wire interface will be installed on (does not have to be installed on the Primary MLServer that the MainLobby Clients connect to, but usually is), Double click on the ML1Wire_Setup.exe to initiate the ML1Wire plug-in installation. Select to run only the System Preparation portion of the install choices (important!).

3. The files will download by default to MLServer\Download Files directory

4. The first step will be to install the Microsoft Virtual Machine (MVM). You cannot use the Sun Virtual Machine. The Microsoft version is no longer supported by Microsoft (due to some legal issues), but is essential for 1-Wire drivers to operate. Run the msjavx86.exe file in the Downloaded Files directory. Accept all defaults that the installer asks. It will install to C:\Program Files\Microsoft VM directory. Do not attempt to install this on a Windows Server 2000, 2003 or 64 bit Operating System. Good practice is to reboot the PC after this step.

5. Once the MVM is installed, next step is to install the 1-Wire drivers. Run the install_1_wire_drivers_v400.msi installer and choose to install the 1-Wire Drivers. Select just the OWCOM driver. Make sure that if you are using a USB 1-Wire interface that it is un-plugged for the installation of the drivers. RS232 (serial) can be connected. Select “Everyone” when asked. Again, accept all defaults that are asked.

6. After the software is installed, the installer will ask if you want to search for your interface device. If you have a USB 1-Wire interface, plug it in now and let Windows “discover” it. Then, click the “Auto-Detect” button to allow the device be searched and configured as the default interface. It is important to make sure that the device was located. You should reboot the PC after this step.

7. Plug in one 1-Wire device into the interface. Use a temperature sensor as they are easy.

8. Once the PC is rebooted, launch the OneWireViewer.html application from the 1-Wire Drivers program folder (in Windows Programs directory). You may have to be connected to the Internet to have this application install from the Internet. Click the “CLICK HERE” link. Once installed, you should be viewing your device data (temperature). This step is important to verify that the above installation steps were done successfully.

9. Shut down the OneWireViewer.html application by closing its window.

10. Continue installing the ML1Wire plugin by rerunning the ML1Wire_Setup.exe program and selecting only the “Install ML1Wire Plugin” choice.

11. Launch MLServer 3. You should see the Plugin installed and checked in the Plugins window. You should be on a 30 day trial. Permanent licensing is covered in the MLServer 3 User’s Guide documentation. The plugin needs to be licensed and activated for permanent usage.

Install Microsoft SQLExpress Server

1. Download the SQLExpress Server

2. Download the latest SQLExpress Server updates

3. Download Microsoft Studio Express Adminstration Utility program.

4. Run the SQLExpress install as an Administrator role on the MLServer3 PC (the PC that the 1Wire interface will be connected to).

5. After the base install is done, run the Updater.

6. Copy the ML1Wire.bak that the installer copied to the Downloaded Files directory to the c:\program files\Microsoft SQL Server\MSSQL.1\MSSQL\ Backup directory.

7. Install the Studio Express Administration Utility program and run it.

8. In the Admin Utility Object Explorer tree, right click on Databases and click Restore Database.

9. In the To Database field type ML1Wire

10. In the From Database, click on ML1Wire

11. Click OK to restore the ML1Wire database to your setup.

You should now see the ML1Wire database in the list of Databases.

10. You can now launch MLServer3 and connect the ML1WirePro plugin to this new database.


ML1WirePro Plugin Configuration

1. Right click on the ML1Wire plugin and choose Settings.

2. The ML1Wire configuration window should be open. On the bottom right, it should say “Adapter Present DS9097U-Com (native)” or something similar to that. If it doesn’t, then shutdown MLServer and rerun the “Default 1-Wire” choice in Windows Programs\1-Wire and make sure your device is found.

3. Click on the Database Setup tab. Type your database User Name and Passsword and click Store. Click on your SQL Express server name (usually: Server1\SQLEXPRESS or something like that). You should now see the list of Available Database with ML1Wire as a choice. Click on that database and click Store again and then Reconnect. At the bottom of the window, verify that you are now Connection Succesfull to that database.

3. Click on the Available Devices Tab. You should see your 1-Wire device(s) in the Available Devices tab. If not, try clicking the Refresh Devices button. If you do see Devices, click on one in the list and then click the Edit Device Alias button and name the device. Your MLServer 3 variables will now reflect your Alias name.

4. Click on the Current Readings tab. Click the Now button to force a data update. You should see your device, it's Alias name and its current value. At the bottom of the window, you can select the polling rate in minutes. If you have slow moving sensors (a room temperature as example), then use a slow polling rate to conserve MLServer PC resources. You can also select the Temperature units, and Min or Max precision of the device values (described in greater detail below). You can also select to Redirect the Variable updates to a secondary MLServer3 PC for system architectural flexibility.

5. Click on the Charts Tab. Click Refresh at the bottom of the screen and then click on the now appearing Device Alias in the left tree. You should see at least one data point charted.

6. Click on the Data Management Tab. Click Refresh at the bottom of the screen and then click on the now appearing Device Alias in the left tree. You should see one or more data results for that device.


Interface Introduction (Server Plugin)

1 Available Devices Tab – Displays the active 1-Wire devices on the LAN

2 Current Readings Tab – Displays the devices and their current values

3 Events Tab – displays any errors.

4 Address column – The unique serial number of the 1-Wire device

5 Alias column – the Alias name you assign to a device by clicking the “Edit Device Alias” button.

6 Sensor column – the part number of the device

7 Alt. Name column – the registered name of the device

8 Description column – the registered description of the device

9 Type column – the registered type classifier of the device

10 Min / Max columns – the registered Min and Max ranges of the device

11 Refresh Devices – when clicked updates the list of the accessible and recognized devices

12 Edit Device Alias – when a device is selected, this button allows for editing of the device alias name.

13 Adapter Present – the USB or RS232 device part number and connection type should be displayed here if the interface is properly installed



1 Address column – the unique serial number of the device.

2 Alias column – the Alias name you assign to a device by clicking the “Edit Device Alias” button.

3 Sensor column – the part number of the device

4 Current column – the current value of the device

5 Polling Interval, minutes – select the appropriate polling rate for devices. Conserve PC resources by using the longest polling rate that is appropriate.

6 Temperature Units – select Fahrenheit or Celsius for devices.

7 Resolution – Min will provide for 1 digit of “precision” or 32.1 degrees, as example. Max will provide the data that the sensor provides or 32.12345 degrees, as example.

8 Redirect Variable – by checking this box and putting the MLServer PC name or IP address in the box, the variables that the plugin creates will be created on the second PC and not on the PC that the plugin is installed on. This is useful if the 1-Wire interface is installed on the non Primary MLServer 3 PC.


Variables Created

ML1Wire_Temperature_Units

ML1Wire _Resolution

ML1Wire_DeviceAlias_Address

ML1Wire_DeviceAlias_Temperature_Resolution

ML1Wire_DeviceAlias_isTemperature_Sensor

ML1Wire_DeviceAlias_Temperature

ML1Wire_DeviceAlias_Temperature_Units

ML1Wire_DeviceAlias_Humidity_Resolution

ML1Wire_DeviceAlias_isHumidity_Sensor

ML1Wire_DeviceAlias_Humidity

ML1Wire_DeviceAlias_Humidity_Units

ML1Wire_DeviceAlias_LastUpdate

ML1Wire_DeviceAlias_LastUpdate


MLServer Commands

ML1Wire|POLLING_INTERVAL~Interval - Set device polling interval

Allowable intervals: 1, 2, 5, 10, 30, 60, 360, 720, 1440


ML1Wire|RESOLUTION~resolution - Set device resolution

Allowable Resolutions: MINIMUM, MAXIMUM


ML1Wire|TEMPERATURE_UNITS~units - Change temperature reporting units

Allowable Units: FAHRENHEIT, CELSIUS


ML1Wire|UPDATE_NOW - Force update of all devices


Bugs

Feature Requests