Alert.png

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.


Click on the 2phidget22.jpg button in the menu bar to go to the Phidget22 version of this page.

Alert.png

OS - Linux: Difference between revisions

From Phidgets Legacy Support
No edit summary
Line 4: Line 4:


==Getting Started (Libraries and Drivers)==
==Getting Started (Libraries and Drivers)==
The newest Libraries:
*[http://www.phidgets.com/downloads/libraries/libphidget_2.1.8.20110615.tar.gz Phidget Libraries]
*<span style="color:red;">Phidget C Examples</span>
How to use the libraries:


#Download '''libusb-0.1''' and its development libraries
#Download '''libusb-0.1''' and its development libraries
Line 49: Line 56:


==Recommended Languages==
==Recommended Languages==
We recommend the following languages for this OS:
 
Now that you have the basic libraries installed, you can pick your language and begin programming.  You can use the following languages to control Phidgets on Linux.  Each page has its own set of specific libraries, code examples, and setup instructions:


*[[Language - C/C++|C/C++]]
*[[Language - C/C++|C/C++]]
Line 57: Line 65:
*[[Language - Python | Python]]
*[[Language - Python | Python]]


==Installing Libraries and Drivers==
==Webservice==
You can download the newest source below:
*[http://www.phidgets.com/downloads/libraries/libphidget_2.1.8.20110615.tar.gz Phidget21 Source]
*[http://www.phidgets.com/downloads/libraries/phidgetwebservice_2.1.8.20110615.tar.gz Phidget Webservice]
 
Phidgets requires Linux Kernel 2.6 or newer.
 
Once you've downloaded the source, build Phidget21.


There is no Phidgets Control Panel written for Linux, but there are [[Language - C/C++|C/C++]] and [[Language - Java | Java]] code samples are available for all Phidgets which will compile and run on Linux without modification.  
Before using these webservice drivers, it may help to learn about how the [[Phidget Webservice]] works.


Notes:  
*[http://www.phidgets.com/downloads/libraries/phidgetwebservice_2.1.8.20111028.tar.gz Linux Phidgets Webservice] libraries
* Many Linux systems are now built with unsupported third party drivers. It may be necessary to uninstall these drivers for our libraries to work properly.
*The Webservice on Linux uses <code>avahi</code>
**<span style="color:red">I don't think this is true. If you mean libusb, you need to install the 'libusb-dev' package. If you mean the kernel drivers - these don't interfere and are safe.</span>
* Phidget21 for Linux is a user-space library.  Applications typically have to be run as root, or udev/hotplug must be configured to give permissions when the Phidget is plugged in.


==Common Problems and Solutions==
==Common Problems and Solutions==


*List relevant problems from "Common Problems and workarounds" doc
None yet, yay!
*List common problems for this OS from support forums


==Limitations==
Maybe talk about udev rules?
List any limitations associated with running Phidgets with this OS.

Revision as of 22:10, 7 November 2011

Phidgets can run on Linux directly using USB, or remotely over a network using the Phidget Webservice.

You need kernel version 2.6 or later.

Getting Started (Libraries and Drivers)

The newest Libraries:

How to use the libraries:

  1. Download libusb-0.1 and its development libraries
    • Try apt-cache search libusb in a terminal to find current packages
    • Or install from source, which includes development libraries
  2. Download Phidget Libraries for Linux
    • Unpack them, and in the main directory run:
      ./configure
      make
      sudo make install
    • This will compile phidget21.h and place the library into your gcc path
  3. Download the Phidget C Examples and unpack them
  4. Compile and run the HelloWorld.c example:

     gcc HelloWorld.c -o HelloWorld -lphidget21
     sudo ./HelloWorld

(The sudo is needed for USB access for now)

The program will simply print out basic information for any device you plug in, and print a message upon unplugging the device. For example, starting the program, plugging in an Interface Kit Phidget, unplugging the Interface Kit, and pressing Enter displays:

   $ sudo ./HelloWorld 
   
   Opening...
   Press Enter to end

   Hello to Device Phidget InterfaceKit 8/8/8, Serial Number: 37299
   Goodbye Device Phidget InterfaceKit 8/8/8, Serial Number: 37299

   Closing...

Recommended Languages

Now that you have the basic libraries installed, you can pick your language and begin programming. You can use the following languages to control Phidgets on Linux. Each page has its own set of specific libraries, code examples, and setup instructions:

Webservice

Before using these webservice drivers, it may help to learn about how the Phidget Webservice works.

Common Problems and Solutions

None yet, yay!

Maybe talk about udev rules?