OS - Windows: Difference between revisions

From Phidgets Support
mNo edit summary
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<metadesc>Communicate over USB with sensors, controllers and relays with Phidgets! Program in Windows using a wide variety of programming languages.</metadesc>
[[Category:OS]]
[[Category:OS]]
__TOC__
__TOC__
Line 6: Line 7:
Already know what you're doing? Here you go:
Already know what you're doing? Here you go:


*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x86.exe 32 Bit Installer Download]
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x86.exe 32-bit Installer Download]
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x64.exe 64 Bit Installer Download]
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x64.exe 64-bit Installer Download]


Don't want the installer? After downloading the files, be sure to check out the [[#Advanced Information | Advanced Information]] section below.
Don't want the installer? After downloading the files, be sure to check out the [[#Advanced Information | Advanced Information]] section below.
*[{{SERVER}}/downloads/libraries/Phidget22-windevel.zip Phidget22 Libraries] (32-Bit and 64-Bit development files without an installer)
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-windevel.zip Phidget22 Libraries] (32-Bit and 64-Bit development files without an installer)
*[[Software License]]
*[[Software License]]


If you need older versions of the windows libraries, [{{SERVER}}/downloads/phidget22/libraries/windows/ click here].
If you need older versions of the Phidget22 windows libraries, [{{SERVER}}/downloads/phidget22/libraries/windows/ click here].
If you need Phidget21 libraries, [{{SERVER}}/downloads/phidget21/libraries/windows/ click here].


==Getting Started with Windows==
==Getting Started with Windows==
Welcome to using Phidgets with Windows. If you haven't already, check out the [[:Category:UserGuide|user guide]] for your device. If you are ready to go, the first step in creating Windows applications with Phidgets is installing the Phidget libraries!
Welcome to using Phidgets with Windows. If you are ready to go, the first step in creating Windows applications with Phidgets is installing our libraries!


===Installing===
===Install===
To install our libraries, download the installer for your system:
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x86.exe 32-bit Installer Download]
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x64.exe 64-bit Installer Download]


To install the libraries, follow these steps:
1. Download the Phidget installer for your system
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x86.exe 32 Bit Installer Download]
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x64.exe 64 Bit Installer Download]
2. Continue with the installation


When prompted, continue with the installation:
[[image:Windows_Install.png|link=|center]]
[[image:Windows_Install.png|link=|center]]




Success! You have finished installing the Phidgets software on your machine. Before you begin coding, let's verify that your Phidget is able to communicate with your machine.
The libraries are now installed on your machine. Next, let's verify that they are working properly.


===Verify===
===Verify===
The best way to verify that your libraries are installed and your Phidget is working is to use the Phidget Control Panel. The Phidget Control Panel is a powerful tool that will help you develop your Phidgets applications. Get started by following the instructions below:
The best way to verify that your libraries are working properly is to use the Phidget Control Panel. The control panel is a powerful tool that will help you develop your Phidgets applications. Get started by following the instructions below:
 


1. Find the  [[File:Ph.jpg]]  icon in the taskbar. If it is not there, open up the start menu and search for ''Phidget Control Panel''


Find the  [[File:Ph.jpg|link=]]  icon in the taskbar. If it is not there, open up the start menu and search for ''Phidget Control Panel''
[[File:Windows PhidgetTaskbar.PNG|link=|center]]
[[File:Windows PhidgetTaskbar.PNG|link=|center]]




2. Double-click on the Phidgets icon to bring up the Phidget Control Panel. You can now see all the Phidgets that are plugged into your machine, as well as any Phidgets that are on the network.
Next, double-click on the Phidgets icon to bring up the Phidget Control Panel. You can now see all the Phidgets that are plugged into your machine, as well as any Phidgets that are on the network:
 
[[File:Windows ControlPanel General.PNG|link=|alt=Windows Control Panel General|center]]
[[File:Windows ControlPanel General.PNG|link=|alt=Windows Control Panel General|center]]




3. Click on the + beside a device to expand it so that you can see all available channels. Double-click on one of these channels to open up a window that lets you interact with it.  
Click on the '''+''' beside a device to expand it so that you can see all available channels. Double-click on one of these channels to open up a window that lets you interact with it.:
[[File:Windows ControlPanelChannel.PNG|link=|alt=Windows Control Panel General|center]]


[[File:Windows ControlPanelChannel.PNG|link=|alt=Windows Control Panel General|center]]


The Phidget Control Panel can be used for testing devices, updating firmware, enabling a Phidget Network Server, and more! Visit the [[Phidget Control Panel|Phidget Control Panel page]] for more information.


The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#Windows|Phidget Control Panel]] page if you want to delve a little deeper.


Your Phidget is now able to communicate with your development machine. The next step is selecting a programming language so you can start to write some code!
Your Phidget is now able to communicate with your development machine. The next step is selecting a programming language so you can start to write some code!


''If you do not see your device in the Phidget Control Panel, visit the [[General Troubleshooting|general troubleshooting page]].''
==Programming==
 
===Programming===
Ready to write some code? Select one of the programming languages below:
Ready to write some code? Select one of the programming languages below:


''Great choices for beginners:''
''Great choices for beginners:''
*[[Language - C Sharp|C#]]
*[[Language - C Sharp|C#]]
*[[Language - C/C++|C/C++]]
*[[Language - C|C]]
*[[Language - Java|Java]]
*[[Language - Java|Java]]
*[[Language - Python|Python]]
*[[Language - Python|Python]]
Line 77: Line 69:


==Phidget Network Server==
==Phidget Network Server==
The Phidget Network Server is an extremely useful feature of Phidgets that allows you to remotely control Phidgets over your network. If you haven't already, check out the [[Phidget Network Server]] page for a complete overview.
The Phidget Network Server is an extremely useful tool that allows you to remotely control Phidgets over your network. If you haven't already, check out the [[Phidget Network Server]] page for a complete overview.


===Try it out!===
===Try it Out!===
In order to try the Phidget Network Server out, first download and install [http://www.apple.com/support/downloads/bonjourforwindows.html Bonjour for Windows] on your host computer and your client computer.
In order to try the Phidget Network Server out, first download and install [https://www.apple.com/support/downloads/bonjourforwindows.html Bonjour for Windows] on your host computer and your client computer.
*Host computer: the computer that is physically connected to the Phidgets via USB and is running the Phidget Network Server.
*'''Host computer:''' the computer that is physically connected to the Phidgets via USB and is running the Phidget Network Server.
*Client computer: a computer running a Phidgets application that accesses Phidgets connected to the host computer.
*'''Client computer:''' a computer running a Phidgets application that accesses Phidgets connected to the host computer.
If you only have one computer, don't worry, your machine can act as both a host and a client.  
If you only have one computer, don't worry, your machine can act as both a host and a client.  




Next, follow these steps:
Next, open the Phidget Control Panel on your host computer. Do this by double-clicking on the [[File:Ph.jpg|link=]] icon in your taskbar, or, by searching for ''Phidget Control Panel'' in the start menu.
 
Navigate to the Network Server tab, you will see something like this:
1. Open the Phidget Control Panel on the host computer. Do this by double-clicking on the [[File:Ph.jpg|link=]] icon in your taskbar, or, by searching for ''Phidget Control Panel'' in the start menu.
Navigate to the Network Server tab, you will see the following:
 
 
[[File:windows_networkserver.PNG|link=|center]]
[[File:windows_networkserver.PNG|link=|center]]




From here, you can start, stop, or restart the Network Server. You can also decide how and when the Network Server will start.
From here, you can start, stop, or restart the Network Server. You can also decide how and when the Network Server will start.
[[File:windows_networkserver_startuptype.png|link=|center]]
[[File:windows_networkserver_startuptype.png|link=|center]]




2. Select automatic as the startup type from the list and press the start button. By enabling automatic startup, the Network Server will run immediately after Windows boots, so you won't have to manually start it again. You can verify the Network Server is running by looking at the label located at the bottom left of the Phidget Control Panel.
Select ''Automatic'' as the startup type from the list and press the start button. By enabling automatic startup, the Network Server will run immediately after Windows boots, so you won't have to manually start it again.




Line 107: Line 93:




1. Open the Phidget Control Panel on your client computer. You will see something like this:
Open the Phidget Control Panel on your client computer. You will see something like this:
 
 
[[File:Windows_controlpanel_remote.PNG |link=|center]]
[[File:Windows_controlpanel_remote.PNG |link=|center]]




As you can see from the image above, remote Phidgets are listed under the following heading:
As you can see from the image above, Phidget servers are listed under the following heading:
*Remote Server: Servername (link local address)
*Remote Server: Servername (link local address)




2. You now have access to the Phidgets that are connected to your host computer. Try double-clicking one of them to bring up an example:
You now have access to the Phidgets that are connected to your host computer. Try double-clicking one of them to bring up an example:
[[File:Windows_controlpanel_remoteexample.PNG|link=|center]]




[[File:Windows_controlpanel_remoteexample.PNG|link=|center]]
Note the label in the example indicating a remote connection. This means the example is using the Phidget Network Server in order to communicate with the device.


===What's Next?===
Now that you have seen the Phidget Network Server in action, you may be interested in implementing an application that takes advantage of all it's features. Luckily, every programming language we support comes with example code on how to do this! Jump to [[#Programming|programming languages]] above.


Note the label in the example indicating a remote connection. This means the example is using the Network Server in order to communicate with the Phidget.
For more information about the Network Server tab on the Phidget Control Panel, visit the Visit the [[Phidget Control Panel|Phidget Control Panel]] page.


===What's next?===
==Advanced Information==
Now that you have seen the Network Server in action, you may be interested in implementing an application that takes advantage of all it's features. Luckily, every programming language we support comes with example code on how to do this! Jump to [[#Programming|programming languages]] above.
===Windows XP===


For more information about the Network Server tab on the Phidget Control Panel, visit the Visit the [[Phidget Control Panel#Windows|Phidget Control Panel]] page.
Because .Net 4.0 doesn't work on Windows XP, the installer for the Phidget22 drivers will not work. Instead, see the [[#Manual_File_Installation|Manual File Installation]] section for installation instructions.


==Advanced Information==
Additionally, the Phidget Control Panel is not supported in Phidget22 under Windows XP, and the pre-compiled examples found under C:/Program Files/Phidgets/Examples will not work. Other code samples found on our language pages will still work, although for C# and VB.Net examples, you'll have to manually change the .Net framework version in the project file from 4 to 3.5 in order to run them.


===Manual File Installation===
===Manual File Installation===
If you would like to perform a manual file installation, first download the library files:
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-windevel.zip Phidget22 Windows Development Files]


The Phidget installer installs the most commonly used files onto your system. However, there may be special cases where you want to install the Phidget libraries without the automatic installer. This section will describe the purpose of the most important files file and cover how to manually install the libraries. You can get the files [{{SERVER}}/downloads/libraries/Phidget22-windevel.zip here]. Once you've moved every file and folder in that .zip into the locations in the table in the next section, your manual installation will be complete.
====Description of Library files====


Here is the list of files and their description for each file the installer puts onto your system. You don't need to know this if you're just using our installer, but if you are looking to distribute our libraries with your code (without your clients having to use our installer) this list will help you pick and choose what you need. Please note that not all of these files are available in the package linked above.
Next, take a look at the table below to see where these files are normally placed:


{| class="wikitable"
{| class="wikitable"
| align="center" colspan="2" style="color:white; background:black;"| Location: '''C:\Program Files\Phidgets\Phidget22'''
!colspan="2"| C:\Program Files\Phidgets\Phidget22
|-
|-
| align="center" style="background:#f0f0f0;"|'''File'''
| align="center" style="background:#f0f0f0;"|'''File'''
| align="center" style="background:#f0f0f0;"|'''Description'''
| align="center" style="background:#f0f0f0;"|'''Description'''
|-
|-
| phidget22.dll||contains the actual Phidget library, which is used at run-time.
| phidget22.dll||contains our library, which is used at run-time.
|-
|-
| phidget22.lib||is used by your compiler to link to the dll. Your compiler has to know where this file is, by default our installer puts {{Code|phidget22.lib}} into {{Code|C:\Program Files\Phidgets\Phidget22}}, so you can either point your compiler to that location, or copy and link to it in a directory for your project workspace. {{Code|phidget22.lib}} is written to be compatible with most compilers - but your specific compiler may need a different format. Check our documentation for your specific compiler for details.
| phidget22.lib||is used by your compiler to link to the dll. Your compiler has to know where this file is, by default our installer puts ''phidget22.lib'' into ''C:/Program Files/Phidgets/Phidget22'', so you can either point your compiler to that location, or copy and link to it in a directory for your project workspace. ''phidget22.lib'' is written to be compatible with most compilers - but your specific compiler may need a different format.
|-
|-
| x86 Folder|| contains the versions of {{Code|phidget22.lib}} and {{Code|phidget22.dll}} that are optimized for 32-bit systems. This folder will only appear on 64 bit installations and is useful if you want to code against the 32-bit libraries.
| x86 Folder|| contains the versions of ''phidget22.lib'' and ''phidget22.dll'' that are optimized for 32-bit systems. This folder will only appear on 64-bit installations and is useful if you want to code against the 32-bit libraries.
|-
|-
| NetworkServer.exe||is used to control Phidgets remotely across a network using the [[Phidget Network Server]]
| NetworkServer.exe||is used to control Phidgets remotely over a network using the [[Phidget Network Server]]
|-
|-
| phidget22.h||lists all the Phidget API function calls available to your code. Your compiler also has to know where this file is. By default, our installer puts {{Code|phidget22.h}} into {{Code|C:\Program Files\Phidgets\Phidget22}} so you can either point your compiler to that location, or copy and link to it in a directory for your project workspace.
| phidget22.h||lists all the API function calls available to you. Your compiler also has to know where this file is. By default, our installer puts ''phidget22.h'' into ''C:\Program Files\Phidgets\Phidget22' so you can either point your compiler to that location, or copy and link to it in a directory for your project workspace.
|-
|-
| phidget22.jar||is an archive containing the Phidgets library, used by the [[Language -  Java | Java]] programming language.
| phidget22.jar||is an archive containing the Phidgets library, used by the [[Language -  Java | Java]] programming language.
Line 166: Line 153:
| Phidget22Manager.exe||is the [[Phidget Control Panel]], a tool to quickly determine whether your system is able to control Phidgets, and also acts as a debugging tool.
| Phidget22Manager.exe||is the [[Phidget Control Panel]], a tool to quickly determine whether your system is able to control Phidgets, and also acts as a debugging tool.
|-
|-
| align="center" colspan="2" style="color:white; background:black;"| Location: '''C:\Windows\System32'''
!colspan="2"| C:\Windows\System32
|-
|-
| phidget22.dll||contains the actual Phidget library, which is used at run-time.
| phidget22.dll||contains our library, which is used at run-time.
|-
|-
| Phidget22java.dll||is the library for Phidgets in Java.
| Phidget22java.dll||is the library for Phidgets in Java.
|-
|-
| align="center" colspan="2" style="color:white; background:black;"| Location: '''C:\Windows\SysWOW64'''
!colspan="2"| C:\Windows\SysWOW64
|-
|-
| phidget22.dll||contains the actual Phidget library, which is used at run-time.
| phidget22.dll||contains our library, which is used at run-time.
|-
|-
|}
|}


===Windows in a Virtual Machine===
===Windows in a Virtual Machine===
Phidgets can be used inside a virtual machine. Instructions for VMWare and VirtualBox are provided below. Virtual PC is not supported as USB Phidgets requires a virtual platform that supports HID USB Devices and since Virtual PC does not support HID USB devices, Phidgets may not be used.


Phidgets can also be used inside a virtual machine. Instructions for VMWare and VirtualBox are provided below. Virtual PC is not supported as USB Phidgets requires a virtual platform that supports HID USB Devices and since Virtual PC does not support HID USB devices, Phidgets may not be used.
As always, please ensure that you have the latest [[#Quick Downloads | libraries]] installed on the virtual machine and that you are using the latest version of your virtual software.  
 
As always, please ensure that you have the latest Phidget [[#Quick Downloads | drivers]] installed on the virtual machine and that you are using the latest version of your virtual software.  


<b>VMWare:</b>
<b>VMWare:</b>

Revision as of 16:10, 3 January 2018

Quick Downloads

Already know what you're doing? Here you go:

Don't want the installer? After downloading the files, be sure to check out the Advanced Information section below.

If you need older versions of the Phidget22 windows libraries, click here. If you need Phidget21 libraries, click here.

Getting Started with Windows

Welcome to using Phidgets with Windows. If you are ready to go, the first step in creating Windows applications with Phidgets is installing our libraries!

Install

To install our libraries, download the installer for your system:


When prompted, continue with the installation:

Windows Install.png


The libraries are now installed on your machine. Next, let's verify that they are working properly.

Verify

The best way to verify that your libraries are working properly is to use the Phidget Control Panel. The control panel is a powerful tool that will help you develop your Phidgets applications. Get started by following the instructions below:


Find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG


Next, double-click on the Phidgets icon to bring up the Phidget Control Panel. You can now see all the Phidgets that are plugged into your machine, as well as any Phidgets that are on the network:

Windows Control Panel General


Click on the + beside a device to expand it so that you can see all available channels. Double-click on one of these channels to open up a window that lets you interact with it.:

Windows Control Panel General


The Phidget Control Panel can be used for testing devices, updating firmware, enabling a Phidget Network Server, and more! Visit the Phidget Control Panel page for more information.


Your Phidget is now able to communicate with your development machine. The next step is selecting a programming language so you can start to write some code!

Programming

Ready to write some code? Select one of the programming languages below:

Great choices for beginners:

Also supported:

Phidget Network Server

The Phidget Network Server is an extremely useful tool that allows you to remotely control Phidgets over your network. If you haven't already, check out the Phidget Network Server page for a complete overview.

Try it Out!

In order to try the Phidget Network Server out, first download and install Bonjour for Windows on your host computer and your client computer.

  • Host computer: the computer that is physically connected to the Phidgets via USB and is running the Phidget Network Server.
  • Client computer: a computer running a Phidgets application that accesses Phidgets connected to the host computer.

If you only have one computer, don't worry, your machine can act as both a host and a client.


Next, open the Phidget Control Panel on your host computer. Do this by double-clicking on the Ph.jpg icon in your taskbar, or, by searching for Phidget Control Panel in the start menu. Navigate to the Network Server tab, you will see something like this:

Windows networkserver.PNG


From here, you can start, stop, or restart the Network Server. You can also decide how and when the Network Server will start.

Windows networkserver startuptype.png


Select Automatic as the startup type from the list and press the start button. By enabling automatic startup, the Network Server will run immediately after Windows boots, so you won't have to manually start it again.


Now that you have the Network Server running on your host computer, the next step will be accessing the Phidgets connected to your host computer from your client computer. Follow the steps below:


Open the Phidget Control Panel on your client computer. You will see something like this:

Windows controlpanel remote.PNG


As you can see from the image above, Phidget servers are listed under the following heading:

  • Remote Server: Servername (link local address)


You now have access to the Phidgets that are connected to your host computer. Try double-clicking one of them to bring up an example:

Windows controlpanel remoteexample.PNG


Note the label in the example indicating a remote connection. This means the example is using the Phidget Network Server in order to communicate with the device.

What's Next?

Now that you have seen the Phidget Network Server in action, you may be interested in implementing an application that takes advantage of all it's features. Luckily, every programming language we support comes with example code on how to do this! Jump to programming languages above.

For more information about the Network Server tab on the Phidget Control Panel, visit the Visit the Phidget Control Panel page.

Advanced Information

Windows XP

Because .Net 4.0 doesn't work on Windows XP, the installer for the Phidget22 drivers will not work. Instead, see the Manual File Installation section for installation instructions.

Additionally, the Phidget Control Panel is not supported in Phidget22 under Windows XP, and the pre-compiled examples found under C:/Program Files/Phidgets/Examples will not work. Other code samples found on our language pages will still work, although for C# and VB.Net examples, you'll have to manually change the .Net framework version in the project file from 4 to 3.5 in order to run them.

Manual File Installation

If you would like to perform a manual file installation, first download the library files:


Next, take a look at the table below to see where these files are normally placed:

C:\Program Files\Phidgets\Phidget22
File Description
phidget22.dll contains our library, which is used at run-time.
phidget22.lib is used by your compiler to link to the dll. Your compiler has to know where this file is, by default our installer puts phidget22.lib into C:/Program Files/Phidgets/Phidget22, so you can either point your compiler to that location, or copy and link to it in a directory for your project workspace. phidget22.lib is written to be compatible with most compilers - but your specific compiler may need a different format.
x86 Folder contains the versions of phidget22.lib and phidget22.dll that are optimized for 32-bit systems. This folder will only appear on 64-bit installations and is useful if you want to code against the 32-bit libraries.
NetworkServer.exe is used to control Phidgets remotely over a network using the Phidget Network Server
phidget22.h lists all the API function calls available to you. Your compiler also has to know where this file is. By default, our installer puts phidget22.h into C:\Program Files\Phidgets\Phidget22' so you can either point your compiler to that location, or copy and link to it in a directory for your project workspace.
phidget22.jar is an archive containing the Phidgets library, used by the Java programming language.
Phidget22.NET.dll is the Phidgets library for the .NET framework used by .NET languages such as C# and Visual Basic .NET.
Phidget22.NET.XML provides the IntelliSense in-line documentation for the .NET library in Visual Studio.
Phidget22java.dll is the library for Phidgets in Java.
Phidget22Manager.exe is the Phidget Control Panel, a tool to quickly determine whether your system is able to control Phidgets, and also acts as a debugging tool.
C:\Windows\System32
phidget22.dll contains our library, which is used at run-time.
Phidget22java.dll is the library for Phidgets in Java.
C:\Windows\SysWOW64
phidget22.dll contains our library, which is used at run-time.

Windows in a Virtual Machine

Phidgets can be used inside a virtual machine. Instructions for VMWare and VirtualBox are provided below. Virtual PC is not supported as USB Phidgets requires a virtual platform that supports HID USB Devices and since Virtual PC does not support HID USB devices, Phidgets may not be used.

As always, please ensure that you have the latest libraries installed on the virtual machine and that you are using the latest version of your virtual software.

VMWare:

To enable USB Phidgets, select Virtual Machine -> Removable Devices -> and select the Phidget Input Device -> Connect.

VirtualBox

To enable USB Phidgets, VirtualBox Guest Additions(Devices -> Install Guest Additions) may need to be installed. Afterwards, click on Devices -> USB Devices and select the Phidget device to enable. The state should go from Busy to Captured. VirtualBox may bring up a new hardware wizard in the host operating system, which has to be installed. Please note that Phidgets with USB hubs (for example, the 1019 Interface Kit with 6-port hub), are undetectable; Fortunately, Phidgets that are attached to such Phidgets are detectable.

Note that Windows XP "mode" in Windows 7 does not support Phidgets.

Installing Without an Internet Connection

When running the Phidgets installer it will check for other applications such as .NET. Part of this requires an active internet connection. The downside to this is that even if you have the applications installed already, if you do not have an internet connection you cannot complete the installation process. There is a way around this however which involves extracting the Phidget22 .msi file out of the .exe installer. To do this follow these steps:

  • Run the installer.
Windows Install.png
  • Once the installer has started up and you are at the first informational window, navigate to your

Local Disk\Users\"username"\AppData\Local\Temp folder.

  • Look for the most recently modified folders. The Phidgets one will not have an obvious title, most likely a seemingly random string of numbers and characters.
Windows Installer Folder.jpg
  • In this example the folder was named "IXP000.tmp" but it may be different for you. In the folder you will find the Phidget22_x64.msi or Phidget22_x86.msi file. This file can be run to install the Phidgets libraries without needing an internet connection.