Notice: This page contains information for the legacy Phidget21 Library. Phidget21 is out of support. Bugfixes may be considered on a case by case basis. Phidget21 does not support VINT Phidgets, or new USB Phidgets released after 2020. We maintain a selection of legacy devices for sale that are supported in Phidget21. We recommend that new projects be developed against the Phidget22 Library.
|
Phidget WebService: Difference between revisions
No edit summary |
|||
Line 49: | Line 49: | ||
'''Note:''' When using the WebService, both the client and server should have the ''same version'' of the WebService installed. The easiest way to ensure this is to update your libraries on both ends. | '''Note:''' When using the WebService, both the client and server should have the ''same version'' of the WebService installed. The easiest way to ensure this is to update your libraries on both ends. | ||
==Troubleshooting== | |||
===Version Mismatch=== | |||
Perhaps the most common thing that can go wrong with the Phidget WebService is a version mismatch error. This indicates that the WebService version on your machine is different than that on the machine you are trying to connect to. If you run into this problem you need to check the WebService version on both computers and upgrade the out of date machine. |
Revision as of 21:04, 26 June 2012
General Overview
The Phidget WebService is a background process that broadcasts all events and data from a USB Phidget over the network:
It uses link local addressing which allows you to use simple server names in your code. The link local addressing is provided by the programs Bonjour, avahi, or mDNSResponder, depending on your system, and the correct program is either installed already or with the Phidget libraries.
You can listen to the Phidget data and control the Phidgets over the network using one or more computers. You can still use the Phidget on the computer it is directly connected to, just by using a remote version of the open()
call in your local code:
Since Phidgets supports many operating systems, the listening and controlling computer doesn't have to be a computer.... it could be an Android phone or an iOS iPhone/iPad:
The WebService runs on a local network. It is relatively durable because it uses link local addressing, which - depending on your operating system and router settings - will often work in the absence of DHCP. Link local addressing will often persist even when access to the global Internet fails or is not available.
WebService on the Phidget Single Board Computer
The Phidget Single Board Computer (SBC) can provide a compact, inexpensive way to easily run the WebService. It runs the WebService in the background automatically from the moment you turn it on, and allows you to read from and control all Phidgets attached to it:
This can allow for a compact, mobile-based system like this:
The SBC runs Linux, which provides a full operating system on which to develop code, serve web pages, and control Phidgets.
Using The WebService
Each Operating System page has a section on how to use the WebService on that operating system:
The operating systems pages have complete examples on how to set up a running webservice process and controlling remote program. The pages also tell you how to start and stop the WebService on your computer, and how to run it with or without mDNS (Bonjour, avahi, etc).
We also have a couple of code snippets in C and Java on the General Phidget Programming page to show examples of opening a Phidget remotely.
Note: When using the WebService, both the client and server should have the same version of the WebService installed. The easiest way to ensure this is to update your libraries on both ends.
Troubleshooting
Version Mismatch
Perhaps the most common thing that can go wrong with the Phidget WebService is a version mismatch error. This indicates that the WebService version on your machine is different than that on the machine you are trying to connect to. If you run into this problem you need to check the WebService version on both computers and upgrade the out of date machine.