<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.phidgets.com/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Patrick</id>
	<title>Phidgets Support - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.phidgets.com/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Patrick"/>
	<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/Special:Contributions/Patrick"/>
	<updated>2026-04-06T12:59:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Dealers&amp;diff=35522</id>
		<title>Dealers</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Dealers&amp;diff=35522"/>
		<updated>2026-03-17T17:43:09Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked_From_Website]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- get more flags from https://www.iconfinder.com/iconsets/195-flat-flag-psd-icons ( Muharrem Şenyıl)--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!style=&amp;quot;background: #269964; color:white; text-align: center;&amp;quot; colspan=9| Select your region&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0; text-align: right; vertical-align:middle;&amp;quot;|&#039;&#039;&#039;[[#North America|North America]]&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:USA_FLAG_V2.png|link=#USA|50px]] &lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Canada_Flag.png|link=#Canada|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| &lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0; text-align: right; vertical-align:middle;&amp;quot;|&#039;&#039;&#039;[[#Europe|Europe]]&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:France_Flag.png|link=#France|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Germany_Flag.png|link=#Germany|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Italy_Flag.png|link=#Italy|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Slovenia_Flag.png|link=#Slovenia|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Spain_Flag.png|link=#Spain|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Netherlands_Flag.png|link=#The Netherlands|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:UK_Flag.png|link=#United Kingdom|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0; text-align: right; vertical-align:middle;&amp;quot;|&#039;&#039;&#039;[[#Asia|Asia]]&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:India_Flag.png|link=#India|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Japan_Flag.png|link=#Japan|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Singapore_Flag.png|link=#Singapore|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:SouthKorea_Flag.png|link=#South Korea|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Taiwan_Flag.png|link=#Taiwan|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0; text-align: right; vertical-align:middle;&amp;quot;|&#039;&#039;&#039;[[#Middle East &amp;amp; Africa|Middle East &amp;amp; Africa]]&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Israel_Flag.png|link=#Israel|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Kuwait_Flag.png|link=#Kuwait|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0; text-align: right; vertical-align:middle;&amp;quot;|&#039;&#039;&#039;[[#Australia &amp;amp; Oceania|Australia &amp;amp; Oceania]]&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;| [[Image:Australia_Flag.png|link=#Australia|50px]]&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #dddddd; text-align: center;&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Canada&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=RobotShop&lt;br /&gt;
|loc=Mirabel, QC&lt;br /&gt;
|pin=YDSVkZWCisQsque79&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/ca/en/phidgets-en.html&lt;br /&gt;
|tel=450-420-1446&lt;br /&gt;
|fax=450-420-1447&lt;br /&gt;
|ema=sales@robotshop.ca}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=Solarbotics Ltd.&lt;br /&gt;
|loc=Calgary, AB&lt;br /&gt;
|pin=br4DR9n5U7dEEuGa7&lt;br /&gt;
|url=www.solarbotics.com&lt;br /&gt;
|tel=1-403-232-6268&lt;br /&gt;
|fax=1-403-226-3741&lt;br /&gt;
|ema=info@solarbotics.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=USA&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=RobotShop&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/en/phidgets-en.html&lt;br /&gt;
|loc=Swanton, VT&lt;br /&gt;
|pin=xCkwvThSZwxyCxW26&lt;br /&gt;
|tel=866-627-3178&lt;br /&gt;
|fax=420-420-1447&lt;br /&gt;
|ema=supportcenter@robotshop.com&lt;br /&gt;
}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=Amazon&lt;br /&gt;
|url=www.amazon.com/phidgets&lt;br /&gt;
}}&lt;br /&gt;
|c=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=France&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=GO TRONIC&lt;br /&gt;
|loc=Blagny&lt;br /&gt;
|pin=HzA7iwT8kUhMqA3o7&lt;br /&gt;
|url=www.gotronic.fr&lt;br /&gt;
|tel=+33.324.27.93.42&lt;br /&gt;
|fax=+33.324.27.93.50 &lt;br /&gt;
|ema=commandes@gotronic.fr}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=RobotShop Europe&lt;br /&gt;
|loc=Bois d&#039;Arcy&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/eu/fr/phidgets-en.html&lt;br /&gt;
|tel=+33 (0) 8 00 00 18 37&lt;br /&gt;
|ema=supportcenter@robotshop.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Germany&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=RobotShop&lt;br /&gt;
|loc=Duisburg&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/de/de/phidgets-en.html&lt;br /&gt;
|tel=00 + 33 + 8 00 00 18 37&lt;br /&gt;
|fax=001-450-420-1447&lt;br /&gt;
|ema=support@robotshop.com}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=MYBOTSHOP&lt;br /&gt;
|loc=Bergheim&lt;br /&gt;
|url=www.mybotshop.de&lt;br /&gt;
|tel=+49 (0) 2271 485 7233&lt;br /&gt;
|ema=info@mybotshop.de}}&lt;br /&gt;
|c={{Dealers&lt;br /&gt;
|nam=zeroDNA&lt;br /&gt;
|loc=Landsberg am Lech&lt;br /&gt;
|pin=Jebfb66CJvx6WwZdA&lt;br /&gt;
|url=www.zerodna.de&lt;br /&gt;
|tel=+49.8191.9406800&lt;br /&gt;
|ema=info@zerodna.de}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Italy&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=Deersoft {{Small|(Formerly Emmeshop)}}&lt;br /&gt;
|url=www.deersoft.eu/shop/&lt;br /&gt;
|tel=+386 40 511 338&lt;br /&gt;
|ema=administration@deersoft.eu}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=Robot Italy&lt;br /&gt;
|loc=Rome&lt;br /&gt;
|pin=FEWZMuU8LhUKarbL6&lt;br /&gt;
|url=www.robot-italy.com&lt;br /&gt;
|tel=+39 06 414 011 01&lt;br /&gt;
|fax=+39 06 233 243 440}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Slovenia&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=Deersoft&lt;br /&gt;
|loc=Izola&lt;br /&gt;
|pin=hfqtXYFGJsWEhvDD7&lt;br /&gt;
|url=www.deersoft.eu/shop/&lt;br /&gt;
|tel=+386 40 511 338&lt;br /&gt;
|ema=administration@deersoft.eu}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Spain&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=RobotShop&lt;br /&gt;
|loc=Barcelona&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/es/es/phidgets-en.html&lt;br /&gt;
|fax=001-450-420-1447&lt;br /&gt;
|ema=support@robotshop.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=The Netherlands&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=EZtronics&lt;br /&gt;
|loc=Schijndel&lt;br /&gt;
|pin=ih8F3pCP7R4WGiiu7&lt;br /&gt;
|url=www.eztronics.nl&lt;br /&gt;
|tel=+31 302421478&lt;br /&gt;
|ema=info@eztronics.nl}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=United Kingdom&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=RobotShop&lt;br /&gt;
|loc=Hethersett&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/uk/phidgets-en.html&lt;br /&gt;
|tel=00+33+800001837&lt;br /&gt;
|fax=001-450-420-1447&lt;br /&gt;
|ema=support@robotshop.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=India&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=MG Automation Technologies&lt;br /&gt;
|url=www.mgsuperlabs.com/&lt;br /&gt;
|tel=(+91)7721933328&lt;br /&gt;
|ema=estore@mgsuperlabs.co.in}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Japan&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=RobotShop Japan&lt;br /&gt;
|loc=Tokushima&lt;br /&gt;
|vrl=www.robotshop.com&lt;br /&gt;
|url=www.robotshop.com/jp/ja/phidgets-en.html&lt;br /&gt;
|tel=088-635-0277&lt;br /&gt;
|fax=088-635-0278}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Singapore&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=sgBOTIC&lt;br /&gt;
|loc=Woodlands&lt;br /&gt;
|pin=hhGdN398azFzMx9J7&lt;br /&gt;
|url=www.sgbotic.com&lt;br /&gt;
|tel=+65-65701125&lt;br /&gt;
|ema=sales@sgbotic.com}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=Amicus Engineering&lt;br /&gt;
|loc=Jalan Besar&lt;br /&gt;
|url=www.amicus.com.sg&lt;br /&gt;
|tel=+65-684 55558&lt;br /&gt;
|ema=sales@amicus.com.sg}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=South Korea&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=SEED Technology&lt;br /&gt;
|loc=Bucheon&lt;br /&gt;
|url=seedtech.co.kr&lt;br /&gt;
|tel=82-32-623-6220&lt;br /&gt;
|fax=82-32-623-5267&lt;br /&gt;
|ema=info@seedtech.co.kr}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=VCTEC&lt;br /&gt;
|loc=Anyang&lt;br /&gt;
|pin=1Z1JWFBGeQtqTx4E8&lt;br /&gt;
|url=vctec.co.kr&lt;br /&gt;
|tel=070-7770-6256&lt;br /&gt;
|fax=031-696-6258&lt;br /&gt;
|ema=cs@vctec.co.kr}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Taiwan&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=IDM Store&lt;br /&gt;
|loc=Taipei&lt;br /&gt;
|pin=wsa4gm2a6o6EcTaz8&lt;br /&gt;
|url=www.idmstore.com&lt;br /&gt;
|tel=886-2-2362-9896&lt;br /&gt;
|ema=inquiry@idmstore.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Middle East &amp;amp; Africa==&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Israel&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=Testview&lt;br /&gt;
|loc=Kfar Baruch&lt;br /&gt;
|url=shop.testview.co.il/&lt;br /&gt;
|tel=+972-54-5376124&lt;br /&gt;
|fax=+972-773457377&lt;br /&gt;
|ema=info@testview.co.il}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Kuwait&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=Electronics In Touch&lt;br /&gt;
|loc=Shuwaikh&lt;br /&gt;
|pin=rrRbX5KvLM4oobrT8&lt;br /&gt;
|url=eitkw.com/&lt;br /&gt;
|tel=+965-55751243 &lt;br /&gt;
|ema=info@eitkw.com}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Australia &amp;amp; Oceania==&lt;br /&gt;
{{Dealerbox2&lt;br /&gt;
|title=Australia&lt;br /&gt;
|a={{Dealers&lt;br /&gt;
|nam=IoT Store Australia&lt;br /&gt;
|url=iot-store.com.au&lt;br /&gt;
|loc=Beckenham, WA&lt;br /&gt;
|tel=+61424742772&lt;br /&gt;
|ema=info@iot-store.com.au}}&lt;br /&gt;
|b={{Dealers&lt;br /&gt;
|nam=Amazon&lt;br /&gt;
|url=www.amazon.com.au/stores/Phidgets/page/29286736-16AC-41C4-98D1-DA1AD1FB20F5&lt;br /&gt;
|vrl=amazon.com.au&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35378</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35378"/>
		<updated>2026-02-03T21:01:21Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We recommend installing with our &#039;&#039;&#039;Install Script&#039;&#039;&#039;. If you prefer not to run a script, or the script cannot detect your distro, use the &#039;&#039;&#039;Manual Install&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Install Script=&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;curl&#039;&#039; command is not found: &amp;lt;syntaxhighlight enclose=&amp;quot;none&amp;quot;&amp;gt;apt install curl&amp;lt;/syntaxhighlight&amp;gt; and try again.&lt;br /&gt;
&lt;br /&gt;
|-|Manual Install=&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 18.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=35377</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=35377"/>
		<updated>2026-01-28T18:16:28Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;macOS 10.11 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To get started, install our libraries.&lt;br /&gt;
&lt;br /&gt;
===Quick Downloads===&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To begin, select which version of our installer to use:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer]&lt;br /&gt;
** Installs Phidget development libraries globally for use in C, Java or Max.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
** May Require changing security settings on Apple Silicon macs. See here [https://support.apple.com/en-ca/guide/mac-help/mchl768f7291/mac].&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone]&lt;br /&gt;
** Self contained Application; no installer.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
** Requires macOS 10.15 or newer.&lt;br /&gt;
&lt;br /&gt;
Open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using macOS 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here [https://support.apple.com/en-us/120363].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|800px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
===Development Files===&lt;br /&gt;
If you&#039;re a developer and want to bundle the Phidget libraries with your application for distribution, download the [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]. See the included README for more details.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Software License===&lt;br /&gt;
By downloading the macOS installer you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement].  The Phidget libraries and development files are covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_iOS&amp;diff=35343</id>
		<title>OS - iOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_iOS&amp;diff=35343"/>
		<updated>2025-11-14T21:14:08Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:middle; width: 60%;&amp;quot;|&lt;br /&gt;
==Getting Started with iOS==&lt;br /&gt;
Welcome to using Phidgets with iOS!&lt;br /&gt;
&lt;br /&gt;
If you haven&#039;t already, check out the [[:Category:UserGuide|user guide]] for your device. If you are ready to go, the first step to creating an iOS application with Phidgets is downloading the Phidget libraries on your macOS development machine!&lt;br /&gt;
|{{TOC limit|3}}&lt;br /&gt;
|}&lt;br /&gt;
==Download==&lt;br /&gt;
The Phidget libraries for iOS development are available here:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/ios/Phidget22_iOS.zip iOS Libraries]&lt;br /&gt;
&lt;br /&gt;
Download and unpack the libraries. You will need to reference these files from your Xcode project in order to use Phidgets. This step is covered in detail after you select your programming language below. If you need to access older versions of the libraries, [https://www.phidgets.com/downloads/phidget22/libraries/ios/ click here].&lt;br /&gt;
&lt;br /&gt;
==Network Server==&lt;br /&gt;
Phidgets cannot be connected directly to iOS devices, therefore, in order to use Phidgets with your iOS device, you must have a host computer that is running the Phidget Network Server. &lt;br /&gt;
&lt;br /&gt;
[[Image:iOS-connection.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
*Host computer: the computer that is physically connected to the Phidgets via USB and is running the Phidget Network Server.&lt;br /&gt;
*Client computer: a computer running a Phidgets application that accesses Phidgets connected to the host computer. When developing for iOS, your iOS device acts as the client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to install the Phidget libraries on your host computer, and get the Phidget Network Server up and running. Start by following the &#039;&#039;Getting Started&#039;&#039; guide, and continue with the &#039;&#039;Network Server&#039;&#039; guide. When you are done, come back and finish this guide!&lt;br /&gt;
*[[OS - Windows#Phidget Network Server| Windows]]&lt;br /&gt;
*[[OS - macOS#Phidget Network Server| macOS]]&lt;br /&gt;
*[[OS - Linux#Phidget Network Server| Linux]]&lt;br /&gt;
*[[OS - Phidget SBC#Phidget Network Server| Phidget Single Board Computer]]&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Now that you have everything set up, all you have to do is code! Select from one of the following programming languages to get started:&lt;br /&gt;
&lt;br /&gt;
* [[Language - Objective C#iOS|Objective C]]&lt;br /&gt;
* [[Language - Swift#iOS|Swift]]&lt;br /&gt;
&lt;br /&gt;
If your app uses Server Discovery, you must list the service types in Info.plist:&lt;br /&gt;
*Key: NSBonjourServices&lt;br /&gt;
*Type: Array of Strings&lt;br /&gt;
*Value: _phidget22server._tcp&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading the iOS library you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement]. The C API section of Phidget22 is covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License]. The source code of C API can be found [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22.tar.gz here].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Operating_System_Support&amp;diff=35338</id>
		<title>Operating System Support</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Operating_System_Support&amp;diff=35338"/>
		<updated>2025-11-13T19:11:50Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Overview]]&lt;br /&gt;
We provide support for all major operating systems. Select your operating system from the table below and follow the &#039;&#039;Getting Started&#039;&#039; guide in order to set up your machine. If you need to access non-current versions of our drivers you can find them [{{SERVER}}/downloads/phidget22/libraries/ here]. You can find the driver changelog [{{SERVER}}/?view=changelog here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;OSTableFull&amp;quot;&amp;gt;&lt;br /&gt;
== Desktop OS ==&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Windows2.png|alt=OS - Windows|link=OS - Windows|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Mac-OS.png|alt=OS - macOS|link=OS - macOS|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Linux.png|alt=OS - Linux|link=OS - Linux|150px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Windows|Windows]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - macOS|macOS]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Linux|Linux]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (Windows 8 or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (macOS 10.11 or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (Kernel 2.6 or Newer)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile/Wireless OS ==&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Android.png|alt=OS - Android|link=OS_-_Android|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-iOS.png|alt=OS - iOS|link=OS - iOS|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Phidgets.png|alt=OS - Phidget SBC|link=OS - Phidget SBC|150px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Android|Android]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - iOS|iOS]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Phidget SBC|Phidget SBC]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (4.1 Jellybean or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (12.0 or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (All versions supported)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;OSTableSmall&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop OSes&#039;&#039;&#039;&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Windows.png|alt=OS - Windows|link=OS - Windows|30px]]||[[OS - Windows|Windows]]||(Windows 8 or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Mac-OS.png|alt=OS - macOS|link=OS - macOS|30px]]||[[OS - macOS|MacOS]]||(macOS 10.5 or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Linux.png|alt=OS - Linux|link=OS - Linux|30px]]||[[OS - Linux|Linux]]||(Kernel 2.6 or Newer)&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Mobile/Wireless OSes&#039;&#039;&#039;&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Android.png|alt=OS - Android|link=OS_-_Android|30px]]||[[OS - Android|Android]]||(4.1 Jellybean or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-iOS.png|alt=OS - iOS|link=OS - iOS|30px]]||[[OS - iOS|iOS]]||(8.0 or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Phidgets.png|alt=OS - Phidget SBC|link=OS - Phidget SBC|30px]]||[[OS - Phidget SBC|Phidget SBC]]||(All versions supported)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Windows&amp;diff=35320</id>
		<title>OS - Windows</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Windows&amp;diff=35320"/>
		<updated>2025-09-11T22:32:38Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Windows using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Windows==&lt;br /&gt;
Welcome to using Phidgets with Windows! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;Windows 8 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are ready to go, the first step in creating Windows applications with Phidgets is installing our libraries.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To install our libraries, download the installer for your system:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/windows/Phidget22-x64.exe Installer Download (64-bit)]&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/windows/Phidget22-ARM64.exe Installer Download (ARM64)]&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/windows/Phidget22-x86.exe Installer Download (32-bit)]&lt;br /&gt;
&lt;br /&gt;
If you need to access an old version of the drivers, [https://www.phidgets.com/downloads/phidget22/libraries/windows/ click here].&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[image:Windows_Install.png|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, let&#039;s verify that they are working properly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For instructions on installing our libraries without an installer, check out the [[OS - Windows Advanced Information]] page.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Find the  [[File:Ph.jpg|link=]]  icon in the taskbar. If it is not there, open up the start menu and search for &#039;&#039;Phidget Control Panel&#039;&#039;&lt;br /&gt;
[[File:Windows PhidgetTaskbar.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
[[File:Windows ControlPanel General.PNG|link=|alt=Windows Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the &#039;&#039;&#039;+&#039;&#039;&#039; 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.:&lt;br /&gt;
[[File:Controlpanel_openapplication.png|500px|link=|alt=Windows Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Advanced Information==&lt;br /&gt;
&lt;br /&gt;
For information on advanced Windows topics, such as installing our libraries without an installer, installing our libraries without an internet connection, or using Windows in a Virtual Machine, check our page on [[OS - Windows Advanced Information|Windows Advanced Information]]&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading the Phidget22.MSI you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement]. The C API section of Phidget22 is covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License]. The source code of C API can be found [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22.tar.gz here].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Network_Server_Guide&amp;diff=35319</id>
		<title>Network Server Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Network_Server_Guide&amp;diff=35319"/>
		<updated>2025-08-22T14:58:56Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Get started with the Phidget Network Server}}&lt;br /&gt;
[[Category:IntroGuide]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-5&amp;quot;&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The Phidget Network Server is a powerful tool that allows you to do the following:&lt;br /&gt;
* Access Phidgets that are connected to other computers on your network.&lt;br /&gt;
* Access Phidgets from more than one application simultaneously.&lt;br /&gt;
* Host webpages and run JavaScript applications using the built-in web server.&lt;br /&gt;
* Manage dictionaries to easily share information between applications.&lt;br /&gt;
&lt;br /&gt;
This guide will provide an overview of the Phidget Network Server and showcase how it can be used in your applications.&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
The Phidget Network Server has three elements: a Phidget server, a web server, and a dictionary manager. The Phidget server is the primary component, which we will discuss here. The other components will be discussed later in this guide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When the Phidget Network Server is running, your computer can host a &#039;&#039;&#039;Phidget Server&#039;&#039;&#039; which makes all connected Phidget channels available to other computers on your network.&lt;br /&gt;
&lt;br /&gt;
[[Image:NetworkServer_PhidgetServer.jpg|center|link=https://cdn.phidgets.com/docs/images/thumb/f/fd/NetworkServer_PhidgetServer.jpg/800px-NetworkServer_PhidgetServer.jpg|650px]]&lt;br /&gt;
&lt;br /&gt;
As long as the Phidget Server is running, clients can access the remote channels. They can be addressed, opened, and attached in much the same way as local channels.&lt;br /&gt;
&lt;br /&gt;
Unlike local channels, remote channels may be opened by multiple programs simultaneously. There are some exceptions (e.g. motor controllers) that cannot be opened simultaneously for safety reasons. &lt;br /&gt;
&lt;br /&gt;
===Hosts and Clients===&lt;br /&gt;
This guide references &#039;&#039;&#039;host&#039;&#039;&#039; computers and &#039;&#039;&#039;client&#039;&#039;&#039; computers.&lt;br /&gt;
*&#039;&#039;&#039;Host&#039;&#039;&#039;: a computer or Wireless VINT Hub that is physically connected to Phidget devices and is running the Phidget Network Server.&lt;br /&gt;
*&#039;&#039;&#039;Client&#039;&#039;&#039;: a computer running an application that accesses Phidget channels via the Phidget Server. The Phidget Network Server does &#039;&#039;&#039;not&#039;&#039;&#039; need to run on the client computer.&lt;br /&gt;
&lt;br /&gt;
A single computer can act as both a host and a client. A Wireless VINT Hub (HUB5000) can only act as a host.&lt;br /&gt;
&lt;br /&gt;
==Running the Phidget Network Server==&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On Windows machines, start by [[OS_-_Windows#Install|installing our libraries]]. Next, open the [[Phidget Control Panel|Phidget Control Panel]] on your host computer and navigate to the &#039;&#039;Network Server&#039;&#039; tab:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows_networkserver.PNG|link=https://cdn.phidgets.com/docs/images/f/f4/Windows_networkserver.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are various [[#Network_Server_Settings|configuration settings]] for the Phidget Network Server. For now, press &#039;&#039;&#039;Start&#039;&#039;&#039; in the bottom right corner and navigate back to the Phidgets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows_controlpanel_remote.PNG|center|link=https://cdn.phidgets.com/docs/images/5/55/Windows_controlpanel_remote.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As shown above, the Phidget server is now making your channels available to other computers on your network. You can view/hide remote channels in the Phidget Control Panel by navigating to &#039;&#039;File &amp;gt; Options &amp;gt; List Remote Phidgets&#039;&#039;.&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On macOS machines, start by [[OS_-_macOS#Install|installing our libraries]]. Next, open the [[Phidget_Control_Panel|Phidget Control Panel]] on your host computer and navigate to the &#039;&#039;Network Server&#039;&#039; tab:&lt;br /&gt;
&lt;br /&gt;
[[File:macos_networkserver.png|600px|link=https://cdn.phidgets.com/docs/images/0/0c/Macos_networkserver.png|center]]&lt;br /&gt;
&lt;br /&gt;
There are various [[#Network_Server_Settings|configuration settings]] for the Phidget Network Server. For now, press &#039;&#039;&#039;Start&#039;&#039;&#039; at the top of the screen and navigate back to the Phidgets tab.&lt;br /&gt;
&lt;br /&gt;
[[File:macos_controlpanel_remote.png|link=https://cdn.phidgets.com/docs/images/c/ca/Macos_controlpanel_remote.png|center]]&lt;br /&gt;
&lt;br /&gt;
As shown above, the Phidget Server is now making your channels available to other computers on your network.&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On Linux machines, start by [[OS_-_Linux#Install|installing our libraries]], specifically &#039;&#039;phidget22networkserver&#039;&#039; and &#039;&#039;phidget22admin&#039;&#039;. The Phidget Network Server will start automatically after installing from packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open the terminal on the client and type in the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
phidget22admin -s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Linux_networkserver_phidgetadmin.PNG|link=https://cdn.phidgets.com/docs/images/4/4a/Linux_networkserver_phidgetadmin.PNG|center|850px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will list all of the Phidget servers on your network. Confirm that you can see a Phidget server running on your host computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have confirmed your server is running, type in the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
phidget22admin -R -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This command will list all remote Phidgets on the network. Confirm that you can see the Phidgets attached to your host computer:&lt;br /&gt;
[[File:Linux_networkserver_phidadminlist.PNG|link=https://cdn.phidgets.com/docs/images/4/49/Linux_networkserver_phidadminlist.PNG|center]]&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Wireless VINT Hub will automatically run the Phidget Network Server on boot. No configuration is required. Please note that The Wireless VINT Hub is not able to manage dictionaries.&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC4=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The PhidgetSBC4 comes with the Phidget Network Server installed, and the SBC automatically starts the Phidget Network Server on boot. Open the web interface and navigate to &#039;&#039;&#039;Phidgets&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;phidget22Network Server&#039;&#039;&#039; to see the status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Networkserver_sbc_boot.png|link=https://cdn.phidgets.com/docs/images/a/a7/Networkserver_sbc_boot.png|alt=|center|700px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connecting to Remote Phidgets==&lt;br /&gt;
After you have the [[#Running the Phidget Network Server|Phidget Network Server running]], you can access remote Phidget channels from a client computer. &lt;br /&gt;
&lt;br /&gt;
===Networking API===&lt;br /&gt;
To access remote channels in your application, you will need to use our &#039;&#039;&#039;Networking API&#039;&#039;&#039;. Navigate to our [https://www.phidgets.com/?view=api API] and select Networking from the dropdown menu.&lt;br /&gt;
[[Image:Api_dropdown_networking.jpg|600px|center|link=https://cdn.phidgets.com/docs/images/2/2a/Api_dropdown_networking.jpg]]&lt;br /&gt;
&lt;br /&gt;
Here you will see all relevant methods and events. There are two primary ways to connect to remote channels in your application:&lt;br /&gt;
# Specify hostname/IP address (recommended)&lt;br /&gt;
# Enable server discovery&lt;br /&gt;
&lt;br /&gt;
Continue reading for more information.&lt;br /&gt;
&lt;br /&gt;
====Connecting via Hostname/IP Address (Recommended)====&lt;br /&gt;
Specifying a hostname or IP address in your code is recommended for most applications. Examples of how to do this in various languages are shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
from Phidget22.Net import *&lt;br /&gt;
&lt;br /&gt;
Net.addServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
Net.addServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
Net.AddServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetNet_addServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const conn = new phidget22.NetworkConnection(5661, &amp;quot;hostname&amp;quot;)&lt;br /&gt;
await conn.connect()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Hostname vs IP Address=====&lt;br /&gt;
For most applications, using a hostname to add a server is preferred (such as &#039;localhost&#039; or &#039;hub5000.local&#039;). This approach allows your application to adapt seamlessly to network changes. However, in certain scenarios, assigning a static IP address to your host may provide additional benefits.&lt;br /&gt;
&lt;br /&gt;
====Enabling Server Discovery====&lt;br /&gt;
By enabling server discovery, you can access any Phidget server on your network that is published (see [[#Phidget_Server|Phidget server settings]] for more information about publishing). Examples of how to do this in various languages are shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
Net.enableServerDiscovery(PhidgetServerType.PHIDGETSERVER_DEVICEREMOTE)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
Net.enableServerDiscovery(ServerType.DEVICE_REMOTE);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
Net.EnableServerDiscovery(ServerType.DeviceRemote);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetNet_enableServerDiscovery(PHIDGETSERVER_DEVICEREMOTE);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&lt;br /&gt;
&lt;br /&gt;
Server discovery is not available in JavaScript due to networking restrictions.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
=====Considerations=====&lt;br /&gt;
Enabling server discovery is useful for certain applications. For example, if you need to manage a dynamic list of devices, similar to the Phidget Control Panel. It can also be useful during development, when devices and networks are changing frequently. For most applications and when deploying applications, [[#Connecting via Hostname/IP Address (Recommended)| connecting via hostname/IP address]] is recommended.&lt;br /&gt;
&lt;br /&gt;
When using server discovery, review the following:&lt;br /&gt;
* A Phidget server must be [[#Phidget Server|published]] in order to connect to it.&lt;br /&gt;
* Windows machines must have [https://developer.apple.com/bonjour/ Bonjour] installed on both the host computer and the client computer. [https://phidgets.com/downloads/misc/Bonjour64.msi Download it here].&lt;br /&gt;
* Linux machines require Avahi which is typically preinstalled. It can also be easily installed with {{Code|apt install libavahi-client3 avahi-daemon}}&lt;br /&gt;
* macOS machines require Bonjour which is always preinstalled, so no further configuration is required.&lt;br /&gt;
&lt;br /&gt;
===Code Samples===&lt;br /&gt;
In this example, a Light Phidget (LUX1000) is plugged into a Wireless VINT Hub (HUB5000) which runs the Phidget Network Server. On a client machine, this code is used to remotely access the light sensor and sample &lt;br /&gt;
5 seconds of data.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=&#039;python&#039;&amp;gt;&lt;br /&gt;
from Phidget22.Phidget import *&lt;br /&gt;
from Phidget22.Net import *&lt;br /&gt;
from Phidget22.Devices.LightSensor import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
def onIlluminanceChange(self, illuminance):&lt;br /&gt;
	print(&amp;quot;Illuminance: &amp;quot; + str(illuminance))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	Net.addServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
	lightSensor0 = LightSensor()&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.setIsRemote(True)&lt;br /&gt;
	lightSensor0.setDeviceSerialNumber(37299)&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.setOnIlluminanceChangeHandler(onIlluminanceChange)&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.openWaitForAttachment(20000)&lt;br /&gt;
&lt;br /&gt;
	time.sleep(5)&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.close()&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=&#039;Java&#039;&amp;gt;&lt;br /&gt;
import com.phidget22.*;&lt;br /&gt;
import java.lang.InterruptedException;&lt;br /&gt;
&lt;br /&gt;
public class Java_Example {&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] args) throws Exception {&lt;br /&gt;
		Net.addServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
		LightSensor lightSensor0 = new LightSensor();&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.setIsRemote(true);&lt;br /&gt;
		lightSensor0.setDeviceSerialNumber(37299);&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.addIlluminanceChangeListener(new LightSensorIlluminanceChangeListener() {&lt;br /&gt;
			public void onIlluminanceChange(LightSensorIlluminanceChangeEvent e) {&lt;br /&gt;
				System.out.println(&amp;quot;Illuminance: &amp;quot; + e.getIlluminance());&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.open(20000);&lt;br /&gt;
&lt;br /&gt;
		Thread.sleep(5000);&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.close();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=&#039;CSharp&#039;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using Phidget22;&lt;br /&gt;
&lt;br /&gt;
namespace ConsoleApplication&lt;br /&gt;
{&lt;br /&gt;
	class Program&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		private static void LightSensor0_IlluminanceChange(object sender, Phidget22.Events.LightSensorIlluminanceChangeEventArgs e)&lt;br /&gt;
		{&lt;br /&gt;
			Console.WriteLine(&amp;quot;Illuminance: &amp;quot; + e.Illuminance);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		static void Main(string[] args)&lt;br /&gt;
		{&lt;br /&gt;
			Net.AddServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
			LightSensor lightSensor0 = new LightSensor();&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.IsRemote = true;&lt;br /&gt;
			lightSensor0.DeviceSerialNumber = 37299;&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.IlluminanceChange += LightSensor0_IlluminanceChange;&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.Open(20000);&lt;br /&gt;
&lt;br /&gt;
			System.Threading.Thread.Sleep(5000);&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.Close();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
#include &amp;lt;phidget22.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
/* Determine if we are on Windows of Unix */&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#else&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#define Sleep(x) usleep((x) * 1000)&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
static void CCONV onIlluminanceChange(PhidgetLightSensorHandle ch, void * ctx, double illuminance) {&lt;br /&gt;
	printf(&amp;quot;Illuminance: %lf\n&amp;quot;, illuminance);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
	PhidgetLightSensorHandle lightSensor0;&lt;br /&gt;
&lt;br /&gt;
	PhidgetNet_addServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
	PhidgetLightSensor_create(&amp;amp;lightSensor0);&lt;br /&gt;
&lt;br /&gt;
	Phidget_setIsRemote((PhidgetHandle)lightSensor0, 1);&lt;br /&gt;
	Phidget_setDeviceSerialNumber((PhidgetHandle)lightSensor0, 37299);&lt;br /&gt;
&lt;br /&gt;
	PhidgetLightSensor_setOnIlluminanceChangeHandler(lightSensor0, onIlluminanceChange, NULL);&lt;br /&gt;
&lt;br /&gt;
	Phidget_openWaitForAttachment((PhidgetHandle)lightSensor0, 20000);&lt;br /&gt;
&lt;br /&gt;
	Sleep(5000);&lt;br /&gt;
&lt;br /&gt;
	Phidget_close((PhidgetHandle)lightSensor0);&lt;br /&gt;
&lt;br /&gt;
	PhidgetLightSensor_delete(&amp;amp;lightSensor0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const phidget22 = require(&#039;phidget22&#039;);&lt;br /&gt;
&lt;br /&gt;
async function runExample() {&lt;br /&gt;
	const conn = new phidget22.NetworkConnection(5661, &#039;hub5000.local&#039;);&lt;br /&gt;
	try {&lt;br /&gt;
		await conn.connect();&lt;br /&gt;
	} catch(err) {&lt;br /&gt;
		console.error(&#039;Error during connect&#039;, err);&lt;br /&gt;
		process.exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	const lightSensor0 = new phidget22.LightSensor();&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.setDeviceSerialNumber(37299);&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.onIlluminanceChange = (illuminance) =&amp;gt; {&lt;br /&gt;
		console.log(&#039;Illuminance: &#039; + illuminance.toString());&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	try {&lt;br /&gt;
		await lightSensor0.open(5000);&lt;br /&gt;
	} catch(err) {&lt;br /&gt;
		console.error(&#039;Error during open&#039;, err);&lt;br /&gt;
		process.exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	setTimeout(async () =&amp;gt; {&lt;br /&gt;
		await lightSensor0.close();&lt;br /&gt;
		conn.close();&lt;br /&gt;
		conn.delete();&lt;br /&gt;
	}, 5000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
runExample();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Code Sample Generator====&lt;br /&gt;
The code sample above was generated using our [{{SERVER}}/?view=code_samples Code Sample Generator]. To generate Network-enabled code for a specific device, select the &#039;&#039;&#039;Remote&#039;&#039;&#039; checkbox and specify a hostname.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_codesample_remote.png|600px|center|link=https://cdn.phidgets.com/docs/images/4/44/Networkserver_codesample_remote.png]]&lt;br /&gt;
&lt;br /&gt;
==Webserver==&lt;br /&gt;
The Phidget Network Server includes a built-in web server and is required for supporting the Phidget JavaScript library for in-browser use.&lt;br /&gt;
* On Windows and macOS, a JavaScript version of the Phidget Control panel is served on port 8989 (http://localhost:8989) by default.&lt;br /&gt;
* On Linux machines, PhidgetSBC4, and the Wireless VINT Hub, a JavaScript version of the Phidget Control panel is served on port 8080 (http://localhost:8080) by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_webserver_controlpanel.jpg|center|500px|link=https://cdn.phidgets.com/docs/images/c/c7/Networkserver_webserver_controlpanel.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Enabling the Webserver===&lt;br /&gt;
On Windows and macOS, you can enable the web server through the Phidget Control Panel:&lt;br /&gt;
&lt;br /&gt;
[[Image:enable_webserver.jpg|center|800px|link=https://cdn.phidgets.com/docs/images/0/08/Enable_webserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
On Linux, you can enable it in the Phidget Network Server configuration file located at &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;.  Modify &#039;&#039;&#039;enabled&#039;&#039;&#039; to &#039;&#039;&#039;true&#039;&#039;&#039; in the &#039;&#039;&#039;www&#039;&#039;&#039; section.&lt;br /&gt;
&lt;br /&gt;
===Considerations===&lt;br /&gt;
The primary purpose of the Webserver is to support a Websockets connection for the in-browser JavaScript library - because regular sockets cannot be used in-browser.&lt;br /&gt;
&lt;br /&gt;
==Dictionaries==&lt;br /&gt;
The Phidget Network Server allows you to publish Phidget Dictionaries on your network. Dictionaries provide a convenient method of sharing information between applications. For more information, view our [[Phidget_Dictionary|Phidget Dictionaries Guide]].&lt;br /&gt;
&lt;br /&gt;
==Upgrading the Phidget Network Server==&lt;br /&gt;
From time to time, you may consider upgrading your Phidget Network Server (i.e. your Phidget libraries). There are several reasons to do this, for example:&lt;br /&gt;
* Your application needs to support a new device.&lt;br /&gt;
* The [{{SERVER}}/?view=changelog Phidget22 Changelog] indicates that there was an improvement or bug fix that is relevant to your application. Consider signing up for Phidget22 Changelog notifications to stay updated.&lt;br /&gt;
&lt;br /&gt;
When upgrading your Phidget libraries, you should ensure your host and client are on the same version for the best performance.&lt;br /&gt;
&lt;br /&gt;
===Host: Determining Version===&lt;br /&gt;
Select the operating system of your host for more information.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
On Windows, the Phidget Network Server is managed from the Phidget Control Panel. Open the Phidget Control Panel and navigate to &#039;&#039;&#039;Help &amp;gt; About Phidget Control Panel&#039;&#039;&#039; to see the library version you are running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_windows.png|link=https://cdn.phidgets.com/docs/images/f/f7/Networkserver_controlpanel_about_windows.png|center]]&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
On macOS, the Phidget Network Server is managed from the Phidget Control Panel. Open the Phidget Control Panel and navigate to &#039;&#039;&#039;Phidget Control Panel &amp;gt; About Phidget Control Panel&#039;&#039;&#039; to see the library version you are running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_mac.png|link=https://cdn.phidgets.com/docs/images/c/cd/Networkserver_controlpanel_about_mac.png|400px|center]]&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, open a terminal and enter the following command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt show libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_linux.png|center|400px|link=https://cdn.phidgets.com/docs/images/0/02/Networkserver_controlpanel_about_linux.png]]&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
On the Wireless VINT Hub (HUB5000), navigate to the web interface, select the &#039;&#039;&#039;Phidgets&#039;&#039;&#039; tab, and then select the &#039;&#039;&#039;View&#039;&#039;&#039; button.&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_hub5000_1.png|center|400px|link=https://cdn.phidgets.com/docs/images/0/0c/Networkserver_controlpanel_about_hub5000_1.png]]&lt;br /&gt;
&lt;br /&gt;
You will now see the Phidget log. At the top of the file, you will see the library version:&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_hub5000_2.png|center|400px|link=https://cdn.phidgets.com/docs/images/6/6b/Networkserver_controlpanel_about_hub5000_2.png]]&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC=&lt;br /&gt;
&lt;br /&gt;
On the PhidgetSBC, navigate to the web interface and select the &#039;&#039;&#039;Status &amp;gt; System&#039;&#039;&#039; tab.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_sbc.png|center|400px|link=https://cdn.phidgets.com/docs/images/7/7c/Networkserver_controlpanel_about_sbc.png]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Client: Determining Version===&lt;br /&gt;
There are several ways to determine the version of the Phidget library used in your application. Below are some recommended methods.&lt;br /&gt;
====Phidget Logging====&lt;br /&gt;
If you have [[Phidget_Logging|Phidget Logging]] enabled in your application (recommended), you can view the library version that your project is using at the top of the log file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_phidgetlog_version.png|center|500px|link=Networkserver_phidgetlog_version.png]]&lt;br /&gt;
&lt;br /&gt;
====Phidget API====&lt;br /&gt;
The Phidget API makes it easy to verify the version of the Phidget libraries that your application is using. View the code samples below for more information. &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=&#039;python&#039;&amp;gt;&lt;br /&gt;
from Phidget22.Phidget import *&lt;br /&gt;
from Phidget22.Devices.VoltageInput import *&lt;br /&gt;
&lt;br /&gt;
libraryVersion = Phidget.getLibraryVersion()&lt;br /&gt;
print(&amp;quot;LibraryVersion: &amp;quot; + str(libraryVersion))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=&#039;Java&#039;&amp;gt;&lt;br /&gt;
import com.phidget22.*;&lt;br /&gt;
&lt;br /&gt;
class Example {&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		try {&lt;br /&gt;
			java.lang.String LibraryVersion = Phidget.getLibraryVersion();&lt;br /&gt;
		} catch (PhidgetException ex) {&lt;br /&gt;
			System.out.println(&amp;quot;Failure: &amp;quot; + ex);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=&#039;CSharp&#039;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using Phidget22;&lt;br /&gt;
&lt;br /&gt;
class Program {&lt;br /&gt;
	static void Main(string[] args) {&lt;br /&gt;
		try {&lt;br /&gt;
			string LibraryVersion = Phidget.LibraryVersion;&lt;br /&gt;
		} catch (PhidgetException ex) {&lt;br /&gt;
			Console.WriteLine(&amp;quot;Failure: &amp;quot; + ex.Message);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int main() {&lt;br /&gt;
	PhidgetReturnCode res;&lt;br /&gt;
	const char *libraryVersion;&lt;br /&gt;
&lt;br /&gt;
	res = Phidget_getLibraryVersion(&amp;amp;libraryVersion);&lt;br /&gt;
	if (res != EPHIDGET_OK)&lt;br /&gt;
		return 1; // Exit in error&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// NOTE: This shows importing phidget22 in Node.JS. In-Browser JavaScript import is different&lt;br /&gt;
const phidget22 = require(&amp;quot;phidget22&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
async function main() {&lt;br /&gt;
	const libraryVersion = Phidget.libraryVersion;&lt;br /&gt;
	console.log(&amp;quot;libraryVersion: &amp;quot; + libraryVersion);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
main();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Phidget Network Server Logging==&lt;br /&gt;
The host computer will generate a Phidget Network Server log file. Select the operating system of your host below for information about where this log file can be found.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
On Windows, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\ProgramData\Phidgets\logs\Phidget22NetworkServer_networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also navigate here by opening the Phidget Control Panel an selecting &#039;&#039;&#039;Help&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Open Logs Folder&#039;&#039;&#039;.&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
On macOS, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/Library/Logs/phidget22networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/var/log/phidget22networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
On the Wireless VINT Hub (HUB5000), open the web interface and navigate to the &#039;&#039;&#039;Phidgets&#039;&#039;&#039; tab. Select the  &#039;&#039;&#039;View&#039;&#039;&#039; button to view the log file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_hub5000_1.png|center|400px|link=link=Networkserver_controlpanel_about_hub5000_1.png]]&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC4=&lt;br /&gt;
&lt;br /&gt;
On the PhidgetSBC4, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/var/log/phidget22networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Phidget Network Server Settings==&lt;br /&gt;
===Operating System===&lt;br /&gt;
There are a number of settings related to the Phidget Network Server. Select your operating system for more information about how to modify these settings.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
On Windows, you can adjust settings by opening the Phidget Control Panel and navigating to the &#039;&#039;&#039;Network Server&#039;&#039;&#039; tab. &lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
On macOS, you can adjust settings by opening the Phidget Control Panel and navigating to the &#039;&#039;&#039;Network Server&#039;&#039;&#039; tab. &lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, you can adjust settings by navigating to the network server configuration file located at &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
On the Wireless VINT Hub (HUB5000), you can adjust settings through the web interface by navigating to the &#039;&#039;&#039;Phidgets&#039;&#039;&#039; tab. &lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC=&lt;br /&gt;
&lt;br /&gt;
On the PhidgetSBC, you can adjust settings through the web interface by navigating to the Phidgets Tab and then the &#039;&#039;&#039;phidget22 Network Server&#039;&#039;&#039; tab.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic Settings===&lt;br /&gt;
====Startup Type====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting!! Description&lt;br /&gt;
|-&lt;br /&gt;
| Automatic || The Phidget Network Server will start automatically every time your machine boots.&lt;br /&gt;
|-&lt;br /&gt;
| Manual || The Phidget Network Server needs to be started manually. It will not restart when your machine boots. Another service may also start it when in Manual mode.&lt;br /&gt;
|-&lt;br /&gt;
| Disabled || The Phidget Network Server is disabled. This will disable all components, including the Phidget Server, the Webserver, and any Dictionaries. Other services will not be able to start it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Phidget Server====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting!! Description&lt;br /&gt;
|-&lt;br /&gt;
| Enabled || Enables the Phidget Server. When enabled, client computers on your network will be able to access Phidgets that are connected to your computer.&lt;br /&gt;
|-&lt;br /&gt;
| Publish || This will determine if the Phidget Server should publish itself to mDNS. If you plan to use the {{Code|EnableServerDiscovery}} method in your applications, you must publish your Phidget Server. Otherwise, this can be disabled.&lt;br /&gt;
|-&lt;br /&gt;
| Server Name || Specify the name of your server. A {{Code|setServerName}} method is available when [[Addressing_Phidgets|addressing your channels]]. If you plan to use the {{Code|EnableServerDiscovery}} method in your applications, the Server Name can be used to enable or disable servers. The default server name is the computer name (hostname on Linux machines, Wireless VINT Hub, and PhidgetSBC4). This means if you do not specify a server name, your server name may change if your change your computer name or hostname.&lt;br /&gt;
|-&lt;br /&gt;
| Port || Specify the Phidget server port. &#039;&#039;Defaults to 5661&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Password (optional) || This will determine if a password is required to access channels on the Phidget server.&lt;br /&gt;
|-&lt;br /&gt;
| Log Level|| When running, the Phidget Network Server will generate [[#Phidget Network Server Logging|logs]]. Use these options to configure the [[Phidget_Logging#Log_Levels|log level]]. Defaults to &#039;&#039;Info&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Webserver====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting!! Description&lt;br /&gt;
|-&lt;br /&gt;
| Enabled || Enables the web server. The web server enables connections from the in-browser JavaScript library and allows hosting of files.&lt;br /&gt;
|-&lt;br /&gt;
| Port || Specify the web server port. Defaults to &#039;&#039;8989&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Docroot|| Specify the location of your web server files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Dictionaries====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Enabled User Dictionaries || Enables user dictionaries. These are useful for sharing information between applications.&lt;br /&gt;
|-&lt;br /&gt;
| Enable Monitoring/control Dictionary || Enables a monitoring/control dictionary that provides information about incoming/outgoing traffic related to your Phidget Network Server.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For more information about dictionaries, view our [[Phidget_Dictionary|Phidget Dictionaries Guide]].&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
Advanced settings are available through a configuration file. Select the operating system of your host below for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
For advanced settings, you can edit the configuration file directly by navigating to &#039;&#039;C:\ProgramData\Phidgets\phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
For advanced settings, you can edit the configuration file directly by navigating to &#039;&#039;/Library/Preferences/Phidget22NetworkServer/phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, you can adjust settings by navigating to the network server configuration file located at &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
&lt;br /&gt;
You can also point the Phidget Network Server towards your own configuration file with the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
phidget22networkserver -c /path/to/configuration/file&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
Advanced settings are not available on the Wireless VINT Hub.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC=&lt;br /&gt;
&lt;br /&gt;
For advanced settings, you can edit the configuration file directly by navigating to &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=35315</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=35315"/>
		<updated>2025-08-14T18:59:33Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;macOS 10.11 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To get started, install our libraries.&lt;br /&gt;
&lt;br /&gt;
===Quick Downloads===&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To begin, select which version of our installer to use:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer]&lt;br /&gt;
** Installs Phidget development libraries globally for use in C, Java or Max.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
** May Require changing security settings on Apple Silicon macs. See here [https://support.apple.com/en-ca/guide/mac-help/mchl768f7291/mac].&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone]&lt;br /&gt;
** Self contained Application; no installer.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
** Requires macOS 10.15 or newer.&lt;br /&gt;
&lt;br /&gt;
Open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using macOS 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here [https://support.apple.com/en-us/120363].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|800px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
===Development Files===&lt;br /&gt;
If you&#039;re a developer and want to bundle the Phidget libraries with your application for distribution, download the [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]. See the included README for more details.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Software License===&lt;br /&gt;
By downloading the macOS installer you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement].  The Phidget libraries and development files are covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=35314</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=35314"/>
		<updated>2025-08-14T18:52:41Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;macOS 10.11 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To get started, install our libraries.&lt;br /&gt;
&lt;br /&gt;
===Quick Downloads===&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To begin, select which version of our installer to use:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer]&lt;br /&gt;
** Installs Phidget development libraries globally for use in C, Java or Max.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
** May Require changing security settings on Apple Silicon macs. See here [https://support.apple.com/en-ca/guide/mac-help/mchl768f7291/mac].&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone]&lt;br /&gt;
** Self contained Application; no installer.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
** Requires macOS 10.15 or newer.&lt;br /&gt;
&lt;br /&gt;
Open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using macOS 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here [https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|800px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
===Development Files===&lt;br /&gt;
If you&#039;re a developer and want to bundle the Phidget libraries with your application for distribution, download the [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]. See the included README for more details.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Software License===&lt;br /&gt;
By downloading the macOS installer you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement].  The Phidget libraries and development files are covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Language_-_Python&amp;diff=35256</id>
		<title>Language - Python</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Language_-_Python&amp;diff=35256"/>
		<updated>2025-06-05T22:27:22Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Learn how to use Phidget USB devices with Python.}}&lt;br /&gt;
[[Category:Language]]&lt;br /&gt;
&lt;br /&gt;
==Get Started==&lt;br /&gt;
With the Phidget22 Python library, it&#039;s easy to create Python applications that work with Phidget devices.&lt;br /&gt;
&lt;br /&gt;
==Python Libraries==&lt;br /&gt;
===pip Package===&lt;br /&gt;
The Phidget22 Python library is available as a [https://pypi.org/project/phidget22/ pip package]. Most development environments provide built-in tools to manage packages. View the [[#Development Environment Configuration | Development Environment Configuration]] section below for examples. &lt;br /&gt;
&lt;br /&gt;
====macOS Considerations====&lt;br /&gt;
Phidget devices running a HID USB stack require the installation of the macOS libraries or the standalone Phidget Control Panel ([{{SERVER}}/docs/OS_-_macOS download here]).&lt;br /&gt;
&lt;br /&gt;
To determine what USB stack your Phidget device is on, navigate to the product page and then to the specification tab, and look for the &#039;&#039;USB Stack&#039;&#039; specification. If you are using a VINT device, navigate to the product page for the VINT Hub you are using.&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_spec.png|center|600px|link=https://cdn.phidgets.com/docs/images/8/80/Javascript_networkserver_webusb_spec.png]]&lt;br /&gt;
&lt;br /&gt;
====Linux Considerations====&lt;br /&gt;
Linux restricts access to USB devices to the root user. To run your Python application as a regular user, you&#039;ll need to [{{SERVER}}/docs/OS_-_Linux#Setting_Udev_Rules set up udev rules] on your system.&lt;br /&gt;
&lt;br /&gt;
===Source Files===&lt;br /&gt;
The Phidget22 Python library source files are available [https://cdn.phidgets.com/downloads/phidget22/libraries/any/Phidget22Python.zip here].&lt;br /&gt;
&lt;br /&gt;
==Development Environment Configuration==&lt;br /&gt;
Most development environments provide built-in tools to manage Python interpreters, packages, and virtual environments. See the examples below for more information.&lt;br /&gt;
===Installing a Python Interpreter===&lt;br /&gt;
If you don&#039;t already have a Python interpreter installed, you can download and install one from [https://www.python.org/downloads/ python.org] or through package managers like [https://brew.sh/ Homebrew].&lt;br /&gt;
&lt;br /&gt;
===Visual Studio Code===&lt;br /&gt;
{| style=&amp;quot;margin:auto;&amp;quot; class=&amp;quot;table-no-border mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Instructions&#039;&#039;&#039;&lt;br /&gt;
| Install the [https://marketplace.visualstudio.com/items?itemName=ms-python.python Python extension for Visual Studio Code].|| [[Image:Language_python_vscode_install.png|center|350px|link=https://cdn.phidgets.com/docs/images/f/f9/Language_python_vscode_install.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Next, create a directory and open it in Visual Studio Code. You can do this by opening Visual Studio Code and selecting &#039;&#039;&#039;File &amp;gt; Open Folder...&#039;&#039;&#039; || [[Image:Language_python_vscode_newfolder.png|center|350px|link=https://cdn.phidgets.com/docs/images/f/f8/Language_python_vscode_newfolder.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Open the Command Palette (Ctrl + Shift + P), type &#039;&#039;&#039;Python: Create Environment&#039;&#039;&#039;, and press Enter. Select &#039;&#039;&#039;Venv&#039;&#039;&#039; when prompted. || [[Image:Language_python_vscode_newvenv.png|center|350px|link=https://cdn.phidgets.com/docs/images/a/a6/Language_python_vscode_newvenv.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Next, select your preferred Python interpreter from the list. You may need to browse to find it. || [[Image:Language_python_vscode_selectinterpreter.png|center|350px|link=https://cdn.phidgets.com/docs/images/2/20/Language_python_vscode_selectinterpreter.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Open a new terminal. You can do this through the Command Palette again (Ctrl + Shift + P), by typing &#039;&#039;&#039;Terminal: Create New Terminal&#039;&#039;&#039;. Install the Phidget22 pip package: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
#Windows&lt;br /&gt;
py -m pip install phidget22 &lt;br /&gt;
&lt;br /&gt;
#macOS&lt;br /&gt;
python3 -m pip install phidget22 &lt;br /&gt;
&lt;br /&gt;
#Linux (Debian)&lt;br /&gt;
python3 -m pip install phidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 || [[Image:Language_python_vscode_installpackage.png|center|350px|link=https://cdn.phidgets.com/docs/images/a/a8/Language_python_vscode_installpackage.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Finally, add your Python file and run it using the button in the top right corner.|| [[Image:Language_python_vscode_runcode.png|center|350px|link=https://cdn.phidgets.com/docs/images/9/96/Language_python_vscode_runcode.png]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===PyCharm===&lt;br /&gt;
{| style=&amp;quot;margin:auto;&amp;quot; class=&amp;quot;table-no-border mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Instructions&#039;&#039;&#039;&lt;br /&gt;
| Create your PyCharm project and navigate to &#039;&#039;&#039;Settings&#039;&#039;&#039;: || [[Image:Windows_pycharm_settings.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/7/75/Windows_pycharm_settings.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| Next, navigate to &#039;&#039;&#039;Project &amp;gt; Project Interpreter&#039;&#039;&#039; and click on the &#039;&#039;&#039;+&#039;&#039;&#039; symbol: || [[Image:Windows_pycharm_addpackage.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/7/75/Windows_pycharm_settings.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| Search for &#039;&#039;&#039;phidget22&#039;&#039;&#039; and install the package: || [[Image:Windows_pycharm_installpackage.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/a/ad/Windows_pycharm_installpackage.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| Finally, add your Python file and run it using the button at the top of the screen: || [[Image:Windows_pycharm_run.png|center|350px|link=https://cdn.phidgets.com/docs/images/0/0a/Windows_pycharm_run.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example Code==&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] and select Python to view and download code samples that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
[[Image:Language_python_codesample.png|center|600px|link=https://cdn.phidgets.com/docs/images/2/2d/Language_python_codesample.png]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=Python Phidget22 API]&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35255</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35255"/>
		<updated>2025-06-05T22:17:34Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
&lt;br /&gt;
We provide prebuilt packages for Debian, Ubuntu, and their derivatives.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running a supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Package Install=&lt;br /&gt;
{{LinuxPackageInstall}}&lt;br /&gt;
&lt;br /&gt;
|-|Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting udev Rules ===&lt;br /&gt;
By default, Linux restricts regular users from accessing physical hardware for security reasons.  As a result, you typically need root privileges to access Phidgets.  For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To avoid using sudo every time, you can set up a udev rules file that automatically grants access based on Phidget&#039;s USB vendor ID.  Create a file named 99-libphidget22.rules with the following content:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MODE=&amp;quot;666&amp;quot; grants read/write access to the matching device for all users.  Save this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Once in place, you&#039;ll be able to run Phidget programs as a regular user without permission issues.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading Linux Source you agree to adhere to the terms of the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Language_-_JavaScript&amp;diff=35233</id>
		<title>Language - JavaScript</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Language_-_JavaScript&amp;diff=35233"/>
		<updated>2025-05-26T18:46:13Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Learn how to use Phidget USB devices with JavaScript.}}&lt;br /&gt;
[[Category:Language]]&lt;br /&gt;
==Get Started==&lt;br /&gt;
JavaScript is supported for browser and Node.js applications. Phidget devices can be accessed either directly through a [[#USB Connection | USB Connection]] or indirectly through a [[#Network Connection | Network Connection]].&lt;br /&gt;
&lt;br /&gt;
==JavaScript Libraries==&lt;br /&gt;
===Browser Applications===&lt;br /&gt;
For browser applications, you can load the library directly from UNPKG:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/phidget22@3.x/browser/phidget22.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compiled and minified library files are also available [https://www.phidgets.com/downloads/phidget22/libraries/any/Phidget22JavaScript.zip here].&lt;br /&gt;
&lt;br /&gt;
===Node.js Applications===&lt;br /&gt;
For Node.js applications, a [https://www.npmjs.com/package/phidget22 npm package] is available and can be installed with the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
npm install phidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==USB Connection==&lt;br /&gt;
Browser and Node.js applications can access Phidget devices directly via USB.&lt;br /&gt;
&lt;br /&gt;
===Supported Devices===&lt;br /&gt;
USB connections with JavaScript are supported on Phidget devices running a PHIDUSB USB stack. To determine what USB stack your Phidget device is on, navigate to the product page and then to the specification tab, and look for the &#039;&#039;USB Stack&#039;&#039; specification. If you are using a VINT device, navigate to the product page for the VINT Hub you are using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_spec.png|center|500px|link=https://cdn.phidgets.com/docs/images/8/80/Javascript_networkserver_webusb_spec.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Browser Applications===&lt;br /&gt;
====Supported Browsers====&lt;br /&gt;
In-browser USB connections are achieved through the WebUSB API. This API is currently supported by Chromium-based browsers like Google Chrome and Microsoft Edge.&lt;br /&gt;
&lt;br /&gt;
====JavaScript Control Panel (USB)====&lt;br /&gt;
You can experiment with browser-based USB applications by opening the JavaScript Phidget Control Panel:&lt;br /&gt;
* [https://www.phidgets.com/controlpanel phidgets.com/controlpanel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the &#039;&#039;Connect USB Device&#039;&#039; button to give the website permission to access your device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_contropanel1.jpg|600px|center|link=https://cdn.phidgets.com/docs/images/9/9d/Javascript_networkserver_webusb_contropanel1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After granting permission, your device will be accessible from the control panel.&lt;br /&gt;
&lt;br /&gt;
====USB Permission====&lt;br /&gt;
As demonstrated above, websites must request access to communicate with USB devices. This must be implemented through an interactive element, like a button. Use the &#039;&#039;&#039;requestWebUSBDeviceAccess&#039;&#039;&#039; method in the Phidget USBConnection API for this purpose.&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_browser_api.png|center|500px|link=https://cdn.phidgets.com/docs/images/8/88/Javascript_networkserver_browser_api.png]]&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] to view code samples for both browser and Node.js applications that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure to &#039;&#039;&#039;uncheck&#039;&#039;&#039; the &#039;&#039;Remote (Network)&#039;&#039; box when using a direct USB connection. If you leave this box checked, your application will look for a [[#Network Connection | Network Connection]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_codesample.png|center|500px|link=https://cdn.phidgets.com/docs/images/5/5f/Javascript_networkserver_webusb_codesample.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Network Connection==&lt;br /&gt;
Browser and Node.js applications can connect to Phidget devices through the [[Phidget Network Server]]. In this configuration, client applications can run on machines that don&#039;t have Phidget devices physically connected to them.&lt;br /&gt;
&lt;br /&gt;
===Running the Phidget Network Server===&lt;br /&gt;
Before starting, ensure you are [{{SERVER}}/docs/Network_Server_Guide#Running_the_Phidget_Network_Server  running the Phidget Network Server] on your host machine.&lt;br /&gt;
===Browser Considerations===&lt;br /&gt;
When using a Network Connection in a browser-based application, you must [{{SERVER}}/docs/Network_Server_Guide#Enabling_the_Webserver  enable the web server] on your host machine.&lt;br /&gt;
&lt;br /&gt;
====JavaScript Control Panel (Network)====&lt;br /&gt;
You can experiment with browser-based Network applications by opening the JavaScript Phidget Control Panel:&lt;br /&gt;
* If your host is a Windows or macOS machine, visit port 8989 (http://localhost:8989).&lt;br /&gt;
* If your host is a Linux machine, a PhidgetSBC, or a Wireless VINT Hub, visit port 8080 (http://localhost:8080).&lt;br /&gt;
&lt;br /&gt;
If you are accessing the JavaScript Control Panel from a machine that is not the host, you will need to enter the IP address or hostname in place of localhost (e.g. http://phidgetsbc:8080).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_webserver_controlpanel.jpg|center|500px|link=https://cdn.phidgets.com/docs/images/c/c7/Networkserver_webserver_controlpanel.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] to view code samples for both browser and Node.js applications that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &#039;&#039;&#039;Remote (Network)&#039;&#039;&#039; box is checked when using the Phidget Network Server. If you do not check this box, your example will look for a [[#USB Connection | USB Connection]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_browser_codesample.png|center|500px|link=https://cdn.phidgets.com/docs/images/5/5e/Javascript_networkserver_browser_codesample.png]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=JavaScript Phidget22 JavaScript API (Node.js)]&amp;lt;br&amp;gt;&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=JavaScriptBrowser Phidget22 JavaScript API (Browser)]&lt;br /&gt;
&lt;br /&gt;
==Version History==&lt;br /&gt;
The Phidget JavaScript Libraries version history is reviewed here:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1.x.x&#039;&#039;&#039; - Initial release. Unstable.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.x.x&#039;&#039;&#039; - Improved stability issues.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;3.x.x&#039;&#039;&#039; - WebUSB support added.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Language_-_JavaScript&amp;diff=35232</id>
		<title>Language - JavaScript</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Language_-_JavaScript&amp;diff=35232"/>
		<updated>2025-05-26T18:44:53Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Learn how to use Phidget USB devices with JavaScript.}}&lt;br /&gt;
[[Category:Language]]&lt;br /&gt;
==Get Started==&lt;br /&gt;
JavaScript is supported for browser and Node.js applications. Phidget devices can be accessed either directly through a [[#USB Connection | USB Connection]] or indirectly through a [[#Network Connection | Network Connection]].&lt;br /&gt;
&lt;br /&gt;
==JavaScript Libraries==&lt;br /&gt;
===Browser Applications===&lt;br /&gt;
For browser applications, you can load the library directly from UNPKG:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/phidget22@3.x/browser/phidget22.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compiled and minified library files are also available [https://www.phidgets.com/downloads/phidget22/libraries/any/Phidget22JavaScript.zip here].&lt;br /&gt;
&lt;br /&gt;
===Node.js Applications===&lt;br /&gt;
For Node.js applications, a [https://www.npmjs.com/package/phidget22 npm package] is available and can be installed with the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
npm install phidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==USB Connection==&lt;br /&gt;
Browser and Node.js applications can access Phidget devices directly via USB.&lt;br /&gt;
&lt;br /&gt;
===Supported Devices===&lt;br /&gt;
USB connections with JavaScript are supported on Phidget devices running a PHIDUSB USB stack. To determine what USB stack your Phidget device is on, navigate to the product page and then to the specification tab, and look for the &#039;&#039;USB Stack&#039;&#039; specification. If you are using a VINT device, navigate to the product page for the VINT Hub you are using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_spec.png|center|500px|link=https://cdn.phidgets.com/docs/images/8/80/Javascript_networkserver_webusb_spec.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Browser Applications===&lt;br /&gt;
====Supported Browsers====&lt;br /&gt;
In-browser USB connections are achieved through the WebUSB API. This API is currently supported by Chromium-based browsers like Google Chrome and Microsoft Edge.&lt;br /&gt;
&lt;br /&gt;
====JavaScript Control Panel (USB)====&lt;br /&gt;
You can experiment with browser-based USB applications by opening the JavaScript Phidget Control Panel:&lt;br /&gt;
* [https://www.phidgets.com/controlpanel phidgets.com/controlpanel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the &#039;&#039;Connect USB Device&#039;&#039; button to give the website permission to access your device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_contropanel1.jpg|600px|center|link=https://cdn.phidgets.com/docs/images/9/9d/Javascript_networkserver_webusb_contropanel1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After granting permission, your device will be accessible from the control panel.&lt;br /&gt;
&lt;br /&gt;
====USB Permission====&lt;br /&gt;
As demonstrated above, websites must request access to communicate with USB devices. This must be implemented through an interactive element, like a button. Use the &#039;&#039;&#039;requestWebUSBDeviceAccess&#039;&#039;&#039; method in the Phidget USBConnection API for this purpose.&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_browser_api.png|center|500px|link=https://cdn.phidgets.com/docs/images/8/88/Javascript_networkserver_browser_api.png]]&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] to view code samples for both browser and Node.js applications that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure to &#039;&#039;&#039;uncheck&#039;&#039;&#039; the &#039;&#039;Remote (Network)&#039;&#039; box when using a direct USB connection. If you leave this box checked, your application will look for a [[#Network Connection | Network Connection]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_codesample.png|center|500px|link=https://cdn.phidgets.com/docs/images/5/5f/Javascript_networkserver_webusb_codesample.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Network Connection==&lt;br /&gt;
Browser and Node.js applications can connect to Phidget devices through the [[Phidget Network Server]]. In this configuration, client applications can run on machines that don&#039;t have Phidget devices physically connected to them.&lt;br /&gt;
&lt;br /&gt;
===Running the Phidget Network Server===&lt;br /&gt;
Before starting, ensure you are [{{SERVER}}/docs/Network_Server_Guide#Running_the_Phidget_Network_Server  running the Phidget Network Server] on your host machine.&lt;br /&gt;
===Browser Considerations===&lt;br /&gt;
When using a Network Connection in a browser-based application, you must [{{SERVER}}/docs/Network_Server_Guide#Enabling_the_Webserver  enable the web server] on your host machine.&lt;br /&gt;
&lt;br /&gt;
====JavaScript Control Panel (Network)====&lt;br /&gt;
You can experiment with browser-based Network applications by opening the JavaScript Phidget Control Panel:&lt;br /&gt;
* If your host is a Windows or macOS machine, visit port 8989 (http://localhost:8989).&lt;br /&gt;
* If your host is a Linux machine, a PhidgetSBC, or a Wireless VINT Hub, visit port 8080 (http://localhost:8080).&lt;br /&gt;
&lt;br /&gt;
If you are accessing the JavaScript Control Panel from a machine that is not the host, you will need to enter the IP address or hostname in place of localhost (e.g. http://phidgetsbc:8080).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_webserver_controlpanel.jpg|center|500px|link=https://cdn.phidgets.com/docs/images/c/c7/Networkserver_webserver_controlpanel.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] to view code samples for both browser and Node.js applications that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &#039;&#039;&#039;Remote (Network)&#039;&#039;&#039; box is checked when using the Phidget Network Server. If you do not check this box, your example will look for a [[#USB Connection | USB Connection]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_browser_codesample.png|center|500px|link=https://cdn.phidgets.com/docs/images/5/5e/Javascript_networkserver_browser_codesample.png]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=JavaScript Phidget22 JavaScript API (Node.JS)]&amp;lt;br&amp;gt;&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=JavaScriptBrowser Phidget22 JavaScript API (Browser)]&lt;br /&gt;
&lt;br /&gt;
==Version History==&lt;br /&gt;
The Phidget JavaScript Libraries version history is reviewed here:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1.x.x&#039;&#039;&#039; - Initial release. Unstable.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.x.x&#039;&#039;&#039; - Improved stability issues.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;3.x.x&#039;&#039;&#039; - WebUSB support added.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Language_-_JavaScript&amp;diff=35231</id>
		<title>Language - JavaScript</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Language_-_JavaScript&amp;diff=35231"/>
		<updated>2025-05-26T18:44:28Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Learn how to use Phidget USB devices with JavaScript.}}&lt;br /&gt;
[[Category:Language]]&lt;br /&gt;
==Get Started==&lt;br /&gt;
JavaScript is supported for browser and Node.js applications. Phidget devices can be accessed either directly through a [[#USB Connection | USB Connection]] or indirectly through a [[#Network Connection | Network Connection]].&lt;br /&gt;
&lt;br /&gt;
==JavaScript Libraries==&lt;br /&gt;
===Browser Applications===&lt;br /&gt;
For browser applications, you can load the library directly from UNPKG:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;https://unpkg.com/phidget22@3.x/browser/phidget22.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compiled and minified library files are also available [https://www.phidgets.com/downloads/phidget22/libraries/any/Phidget22JavaScript.zip here].&lt;br /&gt;
&lt;br /&gt;
===Node.js Applications===&lt;br /&gt;
For Node.js applications, a [https://www.npmjs.com/package/phidget22 npm package] is available and can be installed with the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
npm install phidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==USB Connection==&lt;br /&gt;
Browser and Node.js applications can access Phidget devices directly via USB.&lt;br /&gt;
&lt;br /&gt;
===Supported Devices===&lt;br /&gt;
USB connections with JavaScript are supported on Phidget devices running a PHIDUSB USB stack. To determine what USB stack your Phidget device is on, navigate to the product page and then to the specification tab, and look for the &#039;&#039;USB Stack&#039;&#039; specification. If you are using a VINT device, navigate to the product page for the VINT Hub you are using.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_spec.png|center|500px|link=https://cdn.phidgets.com/docs/images/8/80/Javascript_networkserver_webusb_spec.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Browser Applications===&lt;br /&gt;
====Supported Browsers====&lt;br /&gt;
In-browser USB connections are achieved through the WebUSB API. This API is currently supported by Chromium-based browsers like Google Chrome and Microsoft Edge.&lt;br /&gt;
&lt;br /&gt;
====JavaScript Control Panel (USB)====&lt;br /&gt;
You can experiment with browser-based USB applications by opening the JavaScript Phidget Control Panel:&lt;br /&gt;
* [https://www.phidgets.com/controlpanel phidgets.com/controlpanel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the &#039;&#039;Connect USB Device&#039;&#039; button to give the website permission to access your device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_contropanel1.jpg|600px|center|link=https://cdn.phidgets.com/docs/images/9/9d/Javascript_networkserver_webusb_contropanel1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After granting permission, your device will be accessible from the control panel.&lt;br /&gt;
&lt;br /&gt;
====USB Permission====&lt;br /&gt;
As demonstrated above, websites must request access to communicate with USB devices. This must be implemented through an interactive element, like a button. Use the &#039;&#039;&#039;requestWebUSBDeviceAccess&#039;&#039;&#039; method in the Phidget USBConnection API for this purpose.&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_browser_api.png|center|500px|link=https://cdn.phidgets.com/docs/images/8/88/Javascript_networkserver_browser_api.png]]&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] to view code samples for both browser and Node.js applications that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure to &#039;&#039;&#039;uncheck&#039;&#039;&#039; the &#039;&#039;Remote (Network)&#039;&#039; box when using a direct USB connection. If you leave this box checked, your application will look for a [[#Network Connection | Network Connection]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_webusb_codesample.png|center|500px|link=https://cdn.phidgets.com/docs/images/5/5f/Javascript_networkserver_webusb_codesample.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Network Connection==&lt;br /&gt;
Browser and Node.js applications can connect to Phidget devices through the [[Phidget Network Server]]. In this configuration, client applications can run on machines that don&#039;t have Phidget devices physically connected to them.&lt;br /&gt;
&lt;br /&gt;
===Running the Phidget Network Server===&lt;br /&gt;
Before starting, ensure you are [{{SERVER}}/docs/Network_Server_Guide#Running_the_Phidget_Network_Server  running the Phidget Network Server] on your host machine.&lt;br /&gt;
===Browser Considerations===&lt;br /&gt;
When using a Network Connection in a browser-based application, you must [{{SERVER}}/docs/Network_Server_Guide#Enabling_the_Webserver  enable the web server] on your host machine.&lt;br /&gt;
&lt;br /&gt;
====JavaScript Control Panel (Network)====&lt;br /&gt;
You can experiment with browser-based Network applications by opening the JavaScript Phidget Control Panel:&lt;br /&gt;
* If your host is a Windows or macOS machine, visit port 8989 (http://localhost:8989).&lt;br /&gt;
* If your host is a Linux machine, a PhidgetSBC, or a Wireless VINT Hub, visit port 8080 (http://localhost:8080).&lt;br /&gt;
&lt;br /&gt;
If you are accessing the JavaScript Control Panel from a machine that is not the host, you will need to enter the IP address or hostname in place of localhost (e.g. http://phidgetsbc:8080).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_webserver_controlpanel.jpg|center|500px|link=https://cdn.phidgets.com/docs/images/c/c7/Networkserver_webserver_controlpanel.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
Navigate to our [https://www.phidgets.com/?view=code_samples Code Sample Generator] to view code samples for both browser and Node.js applications that are tailored to your specific device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &#039;&#039;&#039;Remote (Network)&#039;&#039;&#039; box is checked when using the Phidget Network Server. If you do not check this box, your example will look for a [[#USB Connection | USB Connection]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Javascript_networkserver_browser_codesample.png|center|500px|link=https://cdn.phidgets.com/docs/images/5/5e/Javascript_networkserver_browser_codesample.png]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=JavaScript Phidget22 JavaScript API (Node.JS)]&lt;br /&gt;
[{{SERVER}}/?view=api&amp;amp;lang=JavaScriptBrowser Phidget22 JavaScript API (Browser)]&lt;br /&gt;
&lt;br /&gt;
==Version History==&lt;br /&gt;
The Phidget JavaScript Libraries version history is reviewed here:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1.x.x&#039;&#039;&#039; - Initial release. Unstable.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.x.x&#039;&#039;&#039; - Improved stability issues.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;3.x.x&#039;&#039;&#039; - WebUSB support added.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35228</id>
		<title>Terms and Conditions</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35228"/>
		<updated>2025-05-15T19:25:44Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked From Website]]&lt;br /&gt;
&lt;br /&gt;
==Product Warranty==&lt;br /&gt;
&lt;br /&gt;
All Phidgets products are warranted to be free of defects in material or workmanship under normal use and service for a period of one year from the date of shipment. This warranty does not include damage resulting from accident or misuse. The warranty is also void if the product is modified.  This warranty is in lieu of all other warranties expressed or implied including the implied warranties of merchantability of fitness for a particular purpose, whether arising by law, custom or conduct, and the rights and remedies provided under this warranty are exclusive and in lieu of any other rights or remedies. In no event shall Phidgets Incorporated be liable for consequential damages.&lt;br /&gt;
&lt;br /&gt;
If you believe that your product is defective while still under warranty, {{ContactUs|contact us}}. Once the support desk confirms that the product is defective, we will replace your defective product free of charge.&lt;br /&gt;
&lt;br /&gt;
==Shipping==&lt;br /&gt;
===Last Call at 12:00PM===&lt;br /&gt;
Orders received before 12:00 PM Mountain Time (GMT-07:00) Monday to Friday will be shipped the same day.&lt;br /&gt;
&lt;br /&gt;
Orders containing cut-to-length parts may not ship on the same day due to the additional processing time associated with these orders.&lt;br /&gt;
&lt;br /&gt;
===Shipping Costs===&lt;br /&gt;
Shipping costs are calculated at checkout and presented for your review before you confirm your order. If multiple shipping options are available for your destination, all options will be listed so you can choose the one that best suits your needs.&lt;br /&gt;
&lt;br /&gt;
If you have your own UPS or FedEx account, you can use it at checkout and be billed directly by the carrier. This gives you access to a wider range of shipping options.&lt;br /&gt;
&lt;br /&gt;
Note that a $5.00 handling charge is added to all orders that are under $50.00.&lt;br /&gt;
&lt;br /&gt;
===Shipping in Canada===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the United States===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
Effective May 2, 2025, orders shipped to the United States will incur additional duties, tariffs, and brokerage fees, regardless of the order value. For more details, visit our guide about [[U.S._Tariffs | U.S. Tariffs]].&lt;br /&gt;
&lt;br /&gt;
===International Shipments===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
====European Union====&lt;br /&gt;
Effective July 1, 2021, the European Union (EU) updated its Value Added Tax (VAT) regulations. All shipments to EU countries now require formal customs clearance and are subject to VAT based on the destination country.&lt;br /&gt;
&lt;br /&gt;
For goods with an intrinsic value up to €150, VAT must be collected at the time of purchase. This means for orders under $200 USD, we require prepayment of VAT and brokerage fees at checkout to ensure fast, hassle-free delivery.&lt;br /&gt;
&lt;br /&gt;
For orders over $200 USD, we provide the option to prepay all applicable import fees (including VAT and brokerage). If you choose this option, the quoted amount is guaranteed — there will be no additional charges upon delivery.&lt;br /&gt;
&lt;br /&gt;
We use UPS® Global Checkout to collect import fees and taxes based on your product&#039;s HS Code and Country of Origin. There is a fee associated with the UPS® Global Checkout service. At Phidgets Inc., we continually monitor and negotiate all fees to ensure our customers receive the best deal possible.&lt;br /&gt;
&lt;br /&gt;
Customs policies vary by country, so we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
====Other Countries====&lt;br /&gt;
International shipments may be subject to import duties, taxes, and brokerage fees upon arrival in your country. These charges are determined by your local customs authorities and are the responsibility of the recipient.&lt;br /&gt;
&lt;br /&gt;
At checkout, we provide the option to prepay these fees. If you choose this option, the quoted amount is guaranteed — there will be no additional charges upon delivery.&lt;br /&gt;
&lt;br /&gt;
We use UPS® Global Checkout to collect import fees and taxes based on your product&#039;s HS Code and Country of Origin. There is a fee associated with the UPS® Global Checkout service. At Phidgets Inc., we continually monitor and negotiate all fees to ensure our customers receive the best deal possible.&lt;br /&gt;
&lt;br /&gt;
Customs policies vary by country, so we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
===Tracking your order===&lt;br /&gt;
You can track your shipment using the tracking number sent to you by email when your order was shipped.&lt;br /&gt;
&lt;br /&gt;
===Refunds on Late Deliveries===&lt;br /&gt;
&lt;br /&gt;
Normally, UPS will offer a service guarantee refund when their deliveries arrive late. However, for companies that apply for shipping discounts, this refund does not apply. Phidgets Inc. has applied for such discounts in order to keep shipping costs down and regrettably cannot offer compensation for late shipments.&lt;br /&gt;
&lt;br /&gt;
===Damaged or Lost Shipment===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on our UPS account&#039;&#039;&#039; - Report all damaged or lost shipments to support@phidgets.com and include your order number. According to UPS, in order to be considered lost, a package must be undelivered 24 hours after the expected delivery date and time. Before contacting us, check your shipment status at ups.ca.&lt;br /&gt;
&lt;br /&gt;
Damaged or lost items will be replaced at no charge (including shipping costs).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on your UPS account&#039;&#039;&#039; - You must notify your local UPS office. If they confirm that they have lost your shipment, you must repurchase the lost or damaged products from Phidgets and file a claim with your local UPS in order to get reimbursed.&lt;br /&gt;
&lt;br /&gt;
===Refused/Missed Delivery===&lt;br /&gt;
If no one is available to accept the package upon delivery, UPS will attempt redelivery two more times, as per their standard procedure. If all delivery attempts fail, UPS will hold the package for 5 days before returning it to us. In such cases, we will issue a refund for your order minus the cost of shipping (both directions) and a flat $50 fee, up to the total value of the package. This policy applies both to deliveries that failed due to no one being present and to packages that were refused at the delivery address.&lt;br /&gt;
&lt;br /&gt;
===Incoterms===&lt;br /&gt;
&lt;br /&gt;
We use the following Incoterms depending on the shipping and payment arrangement:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FCA (Free Carrier):&#039;&#039;&#039; Used when shipping on the customer’s carrier account. Risk and responsibility transfer to the customer once the goods are handed over to the carrier at our facility.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;DDP (Delivered Duty Paid):&#039;&#039;&#039; Used when the customer chooses to pre-pay import fees and taxes at checkout. We handle all import fees and deliver the goods to the destination address.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;DAP (Delivered at Place):&#039;&#039;&#039; Used when the customer opts to pay import fees and taxes upon delivery. We deliver the goods, but the customer is responsible for paying any import fees directly to the carrier.&lt;br /&gt;
&lt;br /&gt;
==Product Returns==&lt;br /&gt;
===All returns must be authorized by Phidgets Inc.===&lt;br /&gt;
Before returning a package {{ContactUs|contact us}} and ask for a Return Merchandise Authorization or RMA number.  Once you have received it, put the RMA number on the outside of the packaging as well as the packing slip so that it is possible for us to track what the package is supposed to be.  Any merchandise returned without an RMA number clearly visible on the packaging will be charged an administrative fee of $25.00 or the value of the returned product, whichever is less &#039;&#039;if we are able to determine what it is&#039;&#039;.  In the event we are unable to determine what the package is, it will be refused and returned to the sender.&lt;br /&gt;
&lt;br /&gt;
===Unopened Product===&lt;br /&gt;
Phidgets accepts returns of unopened products within 30 days of the date of purchase. To initiate a return, please contact us by phone or email to obtain an RMA number. Products must be shipped back to Phidgets Inc. prepaid. A refund will be issued to your credit card once we receive and inspect the returned items.&lt;br /&gt;
&lt;br /&gt;
Returns received after 30 days are subject to a restocking fee of 25% of the package&#039;s value (minimum $5.00, maximum $500).&lt;br /&gt;
&lt;br /&gt;
We do &#039;&#039;&#039;not&#039;&#039;&#039; accept returns beyond 90 days from the date of purchase.&lt;br /&gt;
&lt;br /&gt;
===Cut to Length===&lt;br /&gt;
Unfortunately we cannot accept returns on any items which are cut to custom lengths.  This includes: cable, wire, roller chain, linear shaft, rotary shaft, and t-slot extrusions.  &lt;br /&gt;
&lt;br /&gt;
===We shipped the wrong/incomplete product===&lt;br /&gt;
{{ContactUs|Contact us}}. We will get the correct product sent to you immediately, and will pay all shipping charges.&lt;br /&gt;
&lt;br /&gt;
==Payment Terms==&lt;br /&gt;
We accept credit cards, PayPal, and Wire Transfers.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! Payment Method|| Terms&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Credit Cards&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Visa, MasterCard, American Express (for order in CAD only)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|PayPal&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|PayPal is accepted.  There are no extra fees for using PayPal&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Wire Transfers&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Wire transfers are only accepted for orders over $200.00 USD (excluding shipping charges). There is a $25.00 USD charge for wire transfers under $500.00 USD. Any fees charged by the sending bank are your responsibility.&amp;lt;br /&amp;gt;Please make sure that the amount sent to us covers both our invoice and your bank fees.  Products are not shipped until the money is deposited in our bank account.  We recommend that you e-mail orders@phidgets.com with the amount of the transfer and the invoice you are paying.  &amp;lt;br /&amp;gt;Any order for which payment is not received within 15 days, will be canceled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Security and Privacy==&lt;br /&gt;
Phidgets Inc. pledges a safe and worry-free shopping experience. IF you are using the current version of Internet Explorer, on the checkout page where you enter your credit card information, you will notice a a locked padlock icon on the top bar your browser window. If you are using Mozilla Firefox, you will notice a locked padlock icon in the bottom right corner of your browser window. If this icon does not appear, please contact us directly to complete your purchase. These icons tell you that the page you are on is secure. We use Secure Sockets Layer (SSL 128-bit) technology with a digital certificate by GeoTrust, Inc. for Internet security to protect your personal information. This encryption makes it impossible for anyone to read your information in transit. We do not store your credit information and it is deleted once it has been securely transmitted to Moneris for processing.&lt;br /&gt;
&lt;br /&gt;
We use your e-mail address to let you know your shipment&#039;s tracking number. Your phone number is required by the Courier Company. We do not sell, rent or give any of your personal information to any unrelated third parties with the exception of Moneris for authorizing credit card payments and the Courier company to let them know where to deliver the shipment and how to contact you if there is any problems.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or concerns about our Security and Privacy policy, call us at 1.403.282.7335 or e-mail us at support@phidgets.com&lt;br /&gt;
&lt;br /&gt;
Phidgets Inc. uses various Google Analytics tools such as conversion tracking in order to improve the effectiveness of the website. These statistics are completely anonymous.&lt;br /&gt;
&lt;br /&gt;
==Holidays==&lt;br /&gt;
Phidgets, Inc. will be closed on the following days. During these times, the site will still be accessible and orders can be placed, but they will not ship until the next business day.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Holiday&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2025&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2026&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Alberta Family Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Third Monday in February&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 17&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 16&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Good Friday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Friday before Easter Sunday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 18&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Victoria Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Monday before May 25&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 19&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 18&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Canada Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First day of July (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Heritage Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in August&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 4&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Labour Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in September&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 7&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Thanksgiving&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Second Monday in October&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 13&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Remembrance Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| November 11 (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Christmas and New Years&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Varies&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35227</id>
		<title>Terms and Conditions</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35227"/>
		<updated>2025-05-14T19:50:25Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked From Website]]&lt;br /&gt;
&lt;br /&gt;
==Product Warranty==&lt;br /&gt;
&lt;br /&gt;
All Phidgets products are warranted to be free of defects in material or workmanship under normal use and service for a period of one year from the date of shipment. This warranty does not include damage resulting from accident or misuse. The warranty is also void if the product is modified.  This warranty is in lieu of all other warranties expressed or implied including the implied warranties of merchantability of fitness for a particular purpose, whether arising by law, custom or conduct, and the rights and remedies provided under this warranty are exclusive and in lieu of any other rights or remedies. In no event shall Phidgets Incorporated be liable for consequential damages.&lt;br /&gt;
&lt;br /&gt;
If you believe that your product is defective while still under warranty, {{ContactUs|contact us}}. Once the support desk confirms that the product is defective, we will replace your defective product free of charge.&lt;br /&gt;
&lt;br /&gt;
==Shipping==&lt;br /&gt;
===Last Call at 12:00PM===&lt;br /&gt;
Orders received before 12:00 PM Mountain Time (GMT-07:00) Monday to Friday will be shipped the same day.&lt;br /&gt;
&lt;br /&gt;
Orders containing cut-to-length parts may not ship on the same day due to the additional processing time associated with these orders.&lt;br /&gt;
&lt;br /&gt;
===Shipping Costs===&lt;br /&gt;
Shipping costs are calculated at checkout and presented for your review before you confirm your order. If multiple shipping options are available for your destination, all options will be listed so you can choose the one that best suits your needs.&lt;br /&gt;
&lt;br /&gt;
If you have your own UPS or FedEx account, you can use it at checkout and be billed directly by the carrier. This gives you access to a wider range of shipping options.&lt;br /&gt;
&lt;br /&gt;
Note that a $5.00 handling charge is added to all orders that are under $50.00.&lt;br /&gt;
&lt;br /&gt;
===Shipping in Canada===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the United States===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
Effective May 2, 2025, orders shipped to the United States will incur additional duties, tariffs, and brokerage fees, regardless of the order value. For more details, visit our guide about [[U.S._Tariffs | U.S. Tariffs]].&lt;br /&gt;
&lt;br /&gt;
===International Shipments===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
====European Union====&lt;br /&gt;
Effective July 1, 2021, the European Union (EU) updated its Value Added Tax (VAT) regulations. All shipments to EU countries now require formal customs clearance and are subject to VAT based on the destination country.&lt;br /&gt;
&lt;br /&gt;
For goods with an intrinsic value up to €150, VAT must be collected at the time of purchase. This means for orders under $200 USD, we require prepayment of VAT and brokerage fees at checkout to ensure fast, hassle-free delivery.&lt;br /&gt;
&lt;br /&gt;
For orders over $200 USD, we provide the option to prepay all applicable customs fees (including VAT and brokerage). If you choose this option, the quoted amount is guaranteed — there will be no additional charges upon delivery.&lt;br /&gt;
&lt;br /&gt;
We use UPS® Global Checkout to collect customs fees based on your product&#039;s HS Code and Country of Origin. There is a fee associated with the UPS® Global Checkout service. At Phidgets Inc., we continually monitor and negotiate all fees to ensure our customers receive the best deal possible.&lt;br /&gt;
&lt;br /&gt;
Customs policies vary by country, so we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
====Other Countries====&lt;br /&gt;
International shipments may be subject to import duties, taxes, and brokerage fees upon arrival in your country. These charges are determined by your local customs authorities and are the responsibility of the recipient.&lt;br /&gt;
&lt;br /&gt;
At checkout, we provide the option to prepay these fees. If you choose this option, the quoted amount is guaranteed — there will be no additional charges upon delivery.&lt;br /&gt;
&lt;br /&gt;
We use UPS® Global Checkout to collect customs fees based on your product&#039;s HS Code and Country of Origin. There is a fee associated with the UPS® Global Checkout service. At Phidgets Inc., we continually monitor and negotiate all fees to ensure our customers receive the best deal possible.&lt;br /&gt;
&lt;br /&gt;
Customs policies vary by country, so we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
===Tracking your order===&lt;br /&gt;
You can track your shipment using the tracking number sent to you by email when your order was shipped.&lt;br /&gt;
&lt;br /&gt;
===Refunds on Late Deliveries===&lt;br /&gt;
&lt;br /&gt;
Normally, UPS will offer a service guarantee refund when their deliveries arrive late. However, for companies that apply for shipping discounts, this refund does not apply. Phidgets Inc. has applied for such discounts in order to keep shipping costs down and regrettably cannot offer compensation for late shipments.&lt;br /&gt;
&lt;br /&gt;
===Damaged or Lost Shipment===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on our UPS account&#039;&#039;&#039; - Report all damaged or lost shipments to support@phidgets.com and include your order number. According to UPS, in order to be considered lost, a package must be undelivered 24 hours after the expected delivery date and time. Before contacting us, check your shipment status at ups.ca.&lt;br /&gt;
&lt;br /&gt;
Damaged or lost items will be replaced at no charge (including shipping costs).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on your UPS account&#039;&#039;&#039; - You must notify your local UPS office. If they confirm that they have lost your shipment, you must repurchase the lost or damaged products from Phidgets and file a claim with your local UPS in order to get reimbursed.&lt;br /&gt;
&lt;br /&gt;
===Refused/Missed Delivery===&lt;br /&gt;
If no one is available to accept the package upon delivery, UPS will attempt redelivery two more times, as per their standard procedure. If all delivery attempts fail, UPS will hold the package for 5 days before returning it to us. In such cases, we will issue a refund for your order minus the cost of shipping (both directions) and a flat $50 fee, up to the total value of the package. This policy applies both to deliveries that failed due to no one being present and to packages that were refused at the delivery address.&lt;br /&gt;
&lt;br /&gt;
===Incoterms===&lt;br /&gt;
&lt;br /&gt;
We use the following Incoterms depending on the shipping and payment arrangement:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FCA (Free Carrier):&#039;&#039;&#039; Used when shipping on the customer’s carrier account. Risk and responsibility transfer to the customer once the goods are handed over to the carrier at our facility.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;DDP (Delivered Duty Paid):&#039;&#039;&#039; Used when the customer chooses to pre-pay customs duties and taxes at checkout. We handle all import fees and deliver the goods to the destination address.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;DAP (Delivered at Place):&#039;&#039;&#039; Used when the customer opts to pay customs duties and taxes upon delivery. We deliver the goods, but the customer is responsible for paying any import fees directly to the carrier.&lt;br /&gt;
&lt;br /&gt;
==Product Returns==&lt;br /&gt;
===All returns must be authorized by Phidgets Inc.===&lt;br /&gt;
Before returning a package {{ContactUs|contact us}} and ask for a Return Merchandise Authorization or RMA number.  Once you have received it, put the RMA number on the outside of the packaging as well as the packing slip so that it is possible for us to track what the package is supposed to be.  Any merchandise returned without an RMA number clearly visible on the packaging will be charged an administrative fee of $25.00 or the value of the returned product, whichever is less &#039;&#039;if we are able to determine what it is&#039;&#039;.  In the event we are unable to determine what the package is, it will be refused and returned to the sender.&lt;br /&gt;
&lt;br /&gt;
===Unopened Product===&lt;br /&gt;
Phidgets accepts returns of unopened products within 30 days of the date of purchase. To initiate a return, please contact us by phone or email to obtain an RMA number. Products must be shipped back to Phidgets Inc. prepaid. A refund will be issued to your credit card once we receive and inspect the returned items.&lt;br /&gt;
&lt;br /&gt;
Returns received after 30 days are subject to a restocking fee of 25% of the package&#039;s value (minimum $5.00, maximum $500).&lt;br /&gt;
&lt;br /&gt;
We do &#039;&#039;&#039;not&#039;&#039;&#039; accept returns beyond 90 days from the date of purchase.&lt;br /&gt;
&lt;br /&gt;
===Cut to Length===&lt;br /&gt;
Unfortunately we cannot accept returns on any items which are cut to custom lengths.  This includes: cable, wire, roller chain, linear shaft, rotary shaft, and t-slot extrusions.  &lt;br /&gt;
&lt;br /&gt;
===We shipped the wrong/incomplete product===&lt;br /&gt;
{{ContactUs|Contact us}}. We will get the correct product sent to you immediately, and will pay all shipping charges.&lt;br /&gt;
&lt;br /&gt;
==Payment Terms==&lt;br /&gt;
We accept credit cards, PayPal, and Wire Transfers.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! Payment Method|| Terms&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Credit Cards&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Visa, MasterCard, American Express (for order in CAD only)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|PayPal&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|PayPal is accepted.  There are no extra fees for using PayPal&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Wire Transfers&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Wire transfers are only accepted for orders over $200.00 USD (excluding shipping charges). There is a $25.00 USD charge for wire transfers under $500.00 USD. Any fees charged by the sending bank are your responsibility.&amp;lt;br /&amp;gt;Please make sure that the amount sent to us covers both our invoice and your bank fees.  Products are not shipped until the money is deposited in our bank account.  We recommend that you e-mail orders@phidgets.com with the amount of the transfer and the invoice you are paying.  &amp;lt;br /&amp;gt;Any order for which payment is not received within 15 days, will be canceled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Security and Privacy==&lt;br /&gt;
Phidgets Inc. pledges a safe and worry-free shopping experience. IF you are using the current version of Internet Explorer, on the checkout page where you enter your credit card information, you will notice a a locked padlock icon on the top bar your browser window. If you are using Mozilla Firefox, you will notice a locked padlock icon in the bottom right corner of your browser window. If this icon does not appear, please contact us directly to complete your purchase. These icons tell you that the page you are on is secure. We use Secure Sockets Layer (SSL 128-bit) technology with a digital certificate by GeoTrust, Inc. for Internet security to protect your personal information. This encryption makes it impossible for anyone to read your information in transit. We do not store your credit information and it is deleted once it has been securely transmitted to Moneris for processing.&lt;br /&gt;
&lt;br /&gt;
We use your e-mail address to let you know your shipment&#039;s tracking number. Your phone number is required by the Courier Company. We do not sell, rent or give any of your personal information to any unrelated third parties with the exception of Moneris for authorizing credit card payments and the Courier company to let them know where to deliver the shipment and how to contact you if there is any problems.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or concerns about our Security and Privacy policy, call us at 1.403.282.7335 or e-mail us at support@phidgets.com&lt;br /&gt;
&lt;br /&gt;
Phidgets Inc. uses various Google Analytics tools such as conversion tracking in order to improve the effectiveness of the website. These statistics are completely anonymous.&lt;br /&gt;
&lt;br /&gt;
==Holidays==&lt;br /&gt;
Phidgets, Inc. will be closed on the following days. During these times, the site will still be accessible and orders can be placed, but they will not ship until the next business day.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Holiday&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2025&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2026&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Alberta Family Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Third Monday in February&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 17&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 16&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Good Friday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Friday before Easter Sunday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 18&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Victoria Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Monday before May 25&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 19&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 18&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Canada Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First day of July (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Heritage Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in August&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 4&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Labour Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in September&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 7&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Thanksgiving&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Second Monday in October&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 13&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Remembrance Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| November 11 (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Christmas and New Years&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Varies&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35221</id>
		<title>Terms and Conditions</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35221"/>
		<updated>2025-05-09T21:38:07Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked From Website]]&lt;br /&gt;
&lt;br /&gt;
==Product Warranty==&lt;br /&gt;
&lt;br /&gt;
All Phidgets products are warranted to be free of defects in material or workmanship under normal use and service for a period of one year from the date of shipment. This warranty does not include damage resulting from accident or misuse. The warranty is also void if the product is modified.  This warranty is in lieu of all other warranties expressed or implied including the implied warranties of merchantability of fitness for a particular purpose, whether arising by law, custom or conduct, and the rights and remedies provided under this warranty are exclusive and in lieu of any other rights or remedies. In no event shall Phidgets Incorporated be liable for consequential damages.&lt;br /&gt;
&lt;br /&gt;
If you believe that your product is defective while still under warranty, {{ContactUs|contact us}}. Once the support desk confirms that the product is defective, we will replace your defective product free of charge.&lt;br /&gt;
&lt;br /&gt;
==Shipping==&lt;br /&gt;
===Last Call at 12:00PM===&lt;br /&gt;
Orders received before 12:00 PM Mountain Time (GMT-07:00) Monday to Friday will be shipped the same day.&lt;br /&gt;
&lt;br /&gt;
Orders containing cut-to-length parts may not ship on the same day due to the additional processing time associated with these orders.&lt;br /&gt;
&lt;br /&gt;
===Shipping Costs===&lt;br /&gt;
Shipping costs are calculated at checkout and presented for your review before you confirm your order. If multiple shipping options are available for your destination, all options will be listed so you can choose the one that best suits your needs.&lt;br /&gt;
&lt;br /&gt;
If you have your own UPS or FedEx account, you can use it at checkout and be billed directly by the carrier. This gives you access to a wider range of shipping options.&lt;br /&gt;
&lt;br /&gt;
Note that a $5.00 handling charge is added to all orders that are under $50.00.&lt;br /&gt;
&lt;br /&gt;
===Shipping in Canada===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the EU===&lt;br /&gt;
&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
As of July 1, 2021, the European Union updated its Value Added Tax (VAT) regulations. All shipments to the EU now require formal customs clearance and are subject to VAT based on the destination country.&lt;br /&gt;
&lt;br /&gt;
For goods with an intrinsic value up to &#039;&#039;&#039;€150&#039;&#039;&#039;, VAT is required to be collected at the time of purchase. For orders under &#039;&#039;&#039;$200 USD&#039;&#039;&#039;, we &#039;&#039;&#039;require prepayment&#039;&#039;&#039; of VAT and brokerage fees at checkout to ensure fast, trouble-free delivery.&lt;br /&gt;
&lt;br /&gt;
For higher-value orders, we offer &#039;&#039;&#039;optional prepayment&#039;&#039;&#039; of all applicable customs fees (including VAT and brokerage). If you choose this option, the quoted amount is guaranteed — we will cover any difference ourselves.&lt;br /&gt;
&lt;br /&gt;
We recommend checking with your local customs office for details specific to your country.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the United States===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
Effective May 2, 2025, orders shipped to the United States will incur additional duties, tariffs, and brokerage fees, regardless of the order value. For more details, visit our guide about [[U.S._Tariffs | U.S. Tariffs]].&lt;br /&gt;
&lt;br /&gt;
===International Shipments===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
International shipments may be subject to import duties, taxes, and brokerage fees once they arrive in your country. These charges are determined by your local customs authorities and are the responsibility of the recipient.&lt;br /&gt;
&lt;br /&gt;
At checkout, we offer the option to prepay these fees. If you choose this option, the amount shown is guaranteed — we will cover any difference, if applicable.&lt;br /&gt;
&lt;br /&gt;
Customs policies vary by country, so for more information, please contact your local customs office.&lt;br /&gt;
&lt;br /&gt;
===Tracking your order===&lt;br /&gt;
You can track your shipment using the tracking number sent to you by email when your order was shipped.&lt;br /&gt;
&lt;br /&gt;
===Refunds on Late Deliveries===&lt;br /&gt;
&lt;br /&gt;
Normally, UPS will offer a service guarantee refund when their deliveries arrive late. However, for companies that apply for shipping discounts, this refund does not apply. Phidgets Inc. has applied for such discounts in order to keep shipping costs down and regrettably cannot offer compensation for late shipments.&lt;br /&gt;
&lt;br /&gt;
===Damaged or Lost Shipment===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on our UPS account&#039;&#039;&#039; - Report all damaged or lost shipments to support@phidgets.com and include your order number. According to UPS, in order to be considered lost, a package must be undelivered 24 hours after the expected delivery date and time. Before contacting us, check your shipment status at ups.ca.&lt;br /&gt;
&lt;br /&gt;
Damaged or lost items will be replaced at no charge (including shipping costs).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on your UPS account&#039;&#039;&#039; - You must notify your local UPS office. If they confirm that they have lost your shipment, you must repurchase the lost or damaged products from Phidgets and file a claim with your local UPS in order to get reimbursed.&lt;br /&gt;
&lt;br /&gt;
===Refused/Missed Delivery===&lt;br /&gt;
If no one is available to accept the package upon delivery, UPS will attempt redelivery two more times, as per their standard procedure. If all delivery attempts fail, UPS will hold the package for 5 days before returning it to us. In such cases, we will issue a refund for your order minus the cost of shipping (both directions) and a flat $50 fee, up to the total value of the package. This policy applies both to deliveries that failed due to no one being present and to packages that were refused at the delivery address.&lt;br /&gt;
&lt;br /&gt;
==Product Returns==&lt;br /&gt;
===All returns must be authorized by Phidgets Inc.===&lt;br /&gt;
Before returning a package {{ContactUs|contact us}} and ask for a Return Merchandise Authorization or RMA number.  Once you have received it, put the RMA number on the outside of the packaging as well as the packing slip so that it is possible for us to track what the package is supposed to be.  Any merchandise returned without an RMA number clearly visible on the packaging will be charged an administrative fee of $25.00 or the value of the returned product, whichever is less &#039;&#039;if we are able to determine what it is&#039;&#039;.  In the event we are unable to determine what the package is, it will be refused and returned to the sender.&lt;br /&gt;
&lt;br /&gt;
===Unopened Product===&lt;br /&gt;
Phidgets accepts returns of unopened products within 30 days of the date of purchase. To initiate a return, please contact us by phone or email to obtain an RMA number. Products must be shipped back to Phidgets Inc. prepaid. A refund will be issued to your credit card once we receive and inspect the returned items.&lt;br /&gt;
&lt;br /&gt;
Returns received after 30 days are subject to a restocking fee of 25% of the package&#039;s value (minimum $5.00, maximum $500).&lt;br /&gt;
&lt;br /&gt;
We do &#039;&#039;&#039;not&#039;&#039;&#039; accept returns beyond 90 days from the date of purchase.&lt;br /&gt;
&lt;br /&gt;
===Cut to Length===&lt;br /&gt;
Unfortunately we cannot accept returns on any items which are cut to custom lengths.  This includes: cable, wire, roller chain, linear shaft, rotary shaft, and t-slot extrusions.  &lt;br /&gt;
&lt;br /&gt;
===We shipped the wrong/incomplete product===&lt;br /&gt;
{{ContactUs|Contact us}}. We will get the correct product sent to you immediately, and will pay all shipping charges.&lt;br /&gt;
&lt;br /&gt;
==Payment Terms==&lt;br /&gt;
We accept credit cards, PayPal, and Wire Transfers.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! Payment Method|| Terms&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Credit Cards&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Visa, MasterCard, American Express (for order in CAD only)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|PayPal&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|PayPal is accepted.  There are no extra fees for using PayPal&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Wire Transfers&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Wire transfers are only accepted for orders over $200.00 USD (excluding shipping charges). There is a $25.00 USD charge for wire transfers under $500.00 USD. Any fees charged by the sending bank are your responsibility.&amp;lt;br /&amp;gt;Please make sure that the amount sent to us covers both our invoice and your bank fees.  Products are not shipped until the money is deposited in our bank account.  We recommend that you e-mail orders@phidgets.com with the amount of the transfer and the invoice you are paying.  &amp;lt;br /&amp;gt;Any order for which payment is not received within 15 days, will be canceled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Security and Privacy==&lt;br /&gt;
Phidgets Inc. pledges a safe and worry-free shopping experience. IF you are using the current version of Internet Explorer, on the checkout page where you enter your credit card information, you will notice a a locked padlock icon on the top bar your browser window. If you are using Mozilla Firefox, you will notice a locked padlock icon in the bottom right corner of your browser window. If this icon does not appear, please contact us directly to complete your purchase. These icons tell you that the page you are on is secure. We use Secure Sockets Layer (SSL 128-bit) technology with a digital certificate by GeoTrust, Inc. for Internet security to protect your personal information. This encryption makes it impossible for anyone to read your information in transit. We do not store your credit information and it is deleted once it has been securely transmitted to Moneris for processing.&lt;br /&gt;
&lt;br /&gt;
We use your e-mail address to let you know your shipment&#039;s tracking number. Your phone number is required by the Courier Company. We do not sell, rent or give any of your personal information to any unrelated third parties with the exception of Moneris for authorizing credit card payments and the Courier company to let them know where to deliver the shipment and how to contact you if there is any problems.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or concerns about our Security and Privacy policy, call us at 1.403.282.7335 or e-mail us at support@phidgets.com&lt;br /&gt;
&lt;br /&gt;
Phidgets Inc. uses various Google Analytics tools such as conversion tracking in order to improve the effectiveness of the website. These statistics are completely anonymous.&lt;br /&gt;
&lt;br /&gt;
==Holidays==&lt;br /&gt;
Phidgets, Inc. will be closed on the following days. During these times, the site will still be accessible and orders can be placed, but they will not ship until the next business day.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Holiday&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2025&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2026&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Alberta Family Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Third Monday in February&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 17&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 16&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Good Friday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Friday before Easter Sunday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 18&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Victoria Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Monday before May 25&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 19&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 18&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Canada Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First day of July (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Heritage Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in August&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 4&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Labour Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in September&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 7&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Thanksgiving&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Second Monday in October&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 13&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Remembrance Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| November 11 (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Christmas and New Years&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Varies&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35208</id>
		<title>Terms and Conditions</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35208"/>
		<updated>2025-04-30T22:47:02Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked From Website]]&lt;br /&gt;
&lt;br /&gt;
==Product Warranty==&lt;br /&gt;
&lt;br /&gt;
All Phidgets products are warranted to be free of defects in material or workmanship under normal use and service for a period of one year from the date of shipment. This warranty does not include damage resulting from accident or misuse. The warranty is also void if the product is modified.  This warranty is in lieu of all other warranties expressed or implied including the implied warranties of merchantability of fitness for a particular purpose, whether arising by law, custom or conduct, and the rights and remedies provided under this warranty are exclusive and in lieu of any other rights or remedies. In no event shall Phidgets Incorporated be liable for consequential damages.&lt;br /&gt;
&lt;br /&gt;
If you believe that your product is defective while still under warranty, {{ContactUs|contact us}}. Once the support desk confirms that the product is defective, we will replace your defective product free of charge.&lt;br /&gt;
&lt;br /&gt;
==Shipping==&lt;br /&gt;
===Last Call at 12:00PM===&lt;br /&gt;
Orders received before 12:00 PM Mountain Time (GMT-07:00) Monday to Friday will be shipped the same day.&lt;br /&gt;
&lt;br /&gt;
Orders containing cut-to-length parts may not ship on the same day due to the additional processing time associated with these orders.&lt;br /&gt;
&lt;br /&gt;
===Shipping Costs===&lt;br /&gt;
Shipping costs are calculated at checkout and presented for your review before you confirm your order. If multiple shipping options are available for your destination, all options will be listed so you can choose the one that best suits your needs.&lt;br /&gt;
&lt;br /&gt;
If you have your own UPS or FedEx account, you can use it at checkout and be billed directly by the carrier. This gives you access to a wider range of shipping options.&lt;br /&gt;
&lt;br /&gt;
Note that a $5.00 handling charge is added to all orders that are under $50.00.&lt;br /&gt;
&lt;br /&gt;
===Shipping in Canada===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the EU===&lt;br /&gt;
&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
Effective July 1, 2021, there were significant changes to the European Union’s Value Added Tax (VAT) rules.&lt;br /&gt;
&lt;br /&gt;
# All goods will now require formal customs clearance and are now subject to the VAT related to the country of entry.&lt;br /&gt;
# Online market places are required to charge the VAT upfront for all goods valued intrinsically up to &#039;&#039;&#039;€150&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
These requirements prevent Phidgets Inc. from shipping directly into the EU for goods less than this value.&lt;br /&gt;
&lt;br /&gt;
EU customers ordering goods on our website with a total value less the &#039;&#039;&#039;$200 USD&#039;&#039;&#039; are now encouraged to either:&lt;br /&gt;
* Increase the value of their order to over &#039;&#039;&#039;$200 USD&#039;&#039;&#039; or,&lt;br /&gt;
* Follow the link to our [[Dealers|distributors]] page and place an order through them.&lt;br /&gt;
&lt;br /&gt;
Customers within the EU can still place orders above $200USD and have them shipped directly to them within &lt;br /&gt;
the EU without going through a distributor.&lt;br /&gt;
Please note in these cases customers within the EU are responsible for the VAT. UPS will collect it upon delivery or by invoice after delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the United States===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
Effective May 2, 2025, orders shipped to the United States will incur additional duties, tariffs, and brokerage fees, regardless of the order value. For more details, visit our guide about [[U.S._Tariffs | U.S. Tariffs]].&lt;br /&gt;
&lt;br /&gt;
===International Shipments===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
Goods shipped internationally may be subject to import duties and taxes, which are applied once the shipment reaches your country. Any additional charges for customs clearance are your responsibility. As customs policies vary widely, we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
===Tracking your order===&lt;br /&gt;
You can track your shipment using the tracking number sent to you by email when your order was shipped.&lt;br /&gt;
&lt;br /&gt;
===Refunds on Late Deliveries===&lt;br /&gt;
&lt;br /&gt;
Normally, UPS will offer a service guarantee refund when their deliveries arrive late. However, for companies that apply for shipping discounts, this refund does not apply. Phidgets Inc. has applied for such discounts in order to keep shipping costs down and regrettably cannot offer compensation for late shipments.&lt;br /&gt;
&lt;br /&gt;
===Damaged or Lost Shipment===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on our UPS account&#039;&#039;&#039; - Report all damaged or lost shipments to support@phidgets.com and include your order number. According to UPS, in order to be considered lost, a package must be undelivered 24 hours after the expected delivery date and time. Before contacting us, check your shipment status at ups.ca.&lt;br /&gt;
&lt;br /&gt;
Damaged or lost items will be replaced at no charge (including shipping costs).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on your UPS account&#039;&#039;&#039; - You must notify your local UPS office. If they confirm that they have lost your shipment, you must repurchase the lost or damaged products from Phidgets and file a claim with your local UPS in order to get reimbursed.&lt;br /&gt;
&lt;br /&gt;
===Refused/Missed Delivery===&lt;br /&gt;
If no one is available to accept the package upon delivery, UPS will attempt redelivery two more times, as per their standard procedure. If all delivery attempts fail, UPS will hold the package for 5 days before returning it to us. In such cases, we will issue a refund for your order minus the cost of shipping (both directions) and a flat $50 fee, up to the total value of the package. This policy applies both to deliveries that failed due to no one being present and to packages that were refused at the delivery address.&lt;br /&gt;
&lt;br /&gt;
==Product Returns==&lt;br /&gt;
===All returns must be authorized by Phidgets Inc.===&lt;br /&gt;
Before returning a package {{ContactUs|contact us}} and ask for a Return Merchandise Authorization or RMA number.  Once you have received it, put the RMA number on the outside of the packaging as well as the packing slip so that it is possible for us to track what the package is supposed to be.  Any merchandise returned without an RMA number clearly visible on the packaging will be charged an administrative fee of $25.00 or the value of the returned product, whichever is less &#039;&#039;if we are able to determine what it is&#039;&#039;.  In the event we are unable to determine what the package is, it will be refused and returned to the sender.&lt;br /&gt;
&lt;br /&gt;
===Unopened Product===&lt;br /&gt;
Phidgets accepts returns of unopened products within 30 days of the date of purchase. To initiate a return, please contact us by phone or email to obtain an RMA number. Products must be shipped back to Phidgets Inc. prepaid. A refund will be issued to your credit card once we receive and inspect the returned items.&lt;br /&gt;
&lt;br /&gt;
Returns received after 30 days are subject to a restocking fee of 25% of the package&#039;s value (minimum $5.00, maximum $500).&lt;br /&gt;
&lt;br /&gt;
We do &#039;&#039;&#039;not&#039;&#039;&#039; accept returns beyond 90 days from the date of purchase.&lt;br /&gt;
&lt;br /&gt;
===Cut to Length===&lt;br /&gt;
Unfortunately we cannot accept returns on any items which are cut to custom lengths.  This includes: cable, wire, roller chain, linear shaft, rotary shaft, and t-slot extrusions.  &lt;br /&gt;
&lt;br /&gt;
===We shipped the wrong/incomplete product===&lt;br /&gt;
{{ContactUs|Contact us}}. We will get the correct product sent to you immediately, and will pay all shipping charges.&lt;br /&gt;
&lt;br /&gt;
==Payment Terms==&lt;br /&gt;
We accept credit cards, PayPal, and Wire Transfers.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! Payment Method|| Terms&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Credit Cards&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Visa, MasterCard, American Express (for order in CAD only)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|PayPal&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|PayPal is accepted.  There are no extra fees for using PayPal&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Wire Transfers&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Wire transfers are only accepted for orders over $200.00 USD (excluding shipping charges). There is a $25.00 USD charge for wire transfers under $500.00 USD. Any fees charged by the sending bank are your responsibility.&amp;lt;br /&amp;gt;Please make sure that the amount sent to us covers both our invoice and your bank fees.  Products are not shipped until the money is deposited in our bank account.  We recommend that you e-mail orders@phidgets.com with the amount of the transfer and the invoice you are paying.  &amp;lt;br /&amp;gt;Any order for which payment is not received within 15 days, will be canceled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Security and Privacy==&lt;br /&gt;
Phidgets Inc. pledges a safe and worry-free shopping experience. IF you are using the current version of Internet Explorer, on the checkout page where you enter your credit card information, you will notice a a locked padlock icon on the top bar your browser window. If you are using Mozilla Firefox, you will notice a locked padlock icon in the bottom right corner of your browser window. If this icon does not appear, please contact us directly to complete your purchase. These icons tell you that the page you are on is secure. We use Secure Sockets Layer (SSL 128-bit) technology with a digital certificate by GeoTrust, Inc. for Internet security to protect your personal information. This encryption makes it impossible for anyone to read your information in transit. We do not store your credit information and it is deleted once it has been securely transmitted to Moneris for processing.&lt;br /&gt;
&lt;br /&gt;
We use your e-mail address to let you know your shipment&#039;s tracking number. Your phone number is required by the Courier Company. We do not sell, rent or give any of your personal information to any unrelated third parties with the exception of Moneris for authorizing credit card payments and the Courier company to let them know where to deliver the shipment and how to contact you if there is any problems.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or concerns about our Security and Privacy policy, call us at 1.403.282.7335 or e-mail us at support@phidgets.com&lt;br /&gt;
&lt;br /&gt;
Phidgets Inc. uses various Google Analytics tools such as conversion tracking in order to improve the effectiveness of the website. These statistics are completely anonymous.&lt;br /&gt;
&lt;br /&gt;
==Holidays==&lt;br /&gt;
Phidgets, Inc. will be closed on the following days. During these times, the site will still be accessible and orders can be placed, but they will not ship until the next business day.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Holiday&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2025&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2026&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Alberta Family Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Third Monday in February&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 17&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 16&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Good Friday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Friday before Easter Sunday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 18&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Victoria Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Monday before May 25&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 19&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 18&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Canada Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First day of July (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Heritage Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in August&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 4&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Labour Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in September&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 7&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Thanksgiving&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Second Monday in October&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 13&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Remembrance Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| November 11 (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Christmas and New Years&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Varies&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35207</id>
		<title>Terms and Conditions</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35207"/>
		<updated>2025-04-30T22:45:43Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked From Website]]&lt;br /&gt;
&lt;br /&gt;
==Product Warranty==&lt;br /&gt;
&lt;br /&gt;
All Phidgets products are warranted to be free of defects in material or workmanship under normal use and service for a period of one year from the date of shipment. This warranty does not include damage resulting from accident or misuse. The warranty is also void if the product is modified.  This warranty is in lieu of all other warranties expressed or implied including the implied warranties of merchantability of fitness for a particular purpose, whether arising by law, custom or conduct, and the rights and remedies provided under this warranty are exclusive and in lieu of any other rights or remedies. In no event shall Phidgets Incorporated be liable for consequential damages.&lt;br /&gt;
&lt;br /&gt;
If you believe that your product is defective while still under warranty, {{ContactUs|contact us}}. Once the support desk confirms that the product is defective, we will replace your defective product free of charge.&lt;br /&gt;
&lt;br /&gt;
==Shipping==&lt;br /&gt;
===Last Call at 12:00PM===&lt;br /&gt;
Orders received before 12:00 PM Mountain Time (GMT-07:00) Monday to Friday will be shipped the same day.&lt;br /&gt;
&lt;br /&gt;
Orders containing cut-to-length parts may not ship on the same day due to the additional processing time associated with these orders.&lt;br /&gt;
&lt;br /&gt;
===Shipping Costs===&lt;br /&gt;
Shipping costs are calculated at checkout and presented for your review before you confirm your order. If multiple shipping options are available for your destination, all options will be listed so you can choose the one that best suits your needs.&lt;br /&gt;
&lt;br /&gt;
If you have your own UPS or FedEx account, you can use it at checkout and be billed directly by the carrier. This gives you access to a wider range of shipping options.&lt;br /&gt;
&lt;br /&gt;
Note that a $5.00 handling charge is added to all orders that are under $50.00.&lt;br /&gt;
&lt;br /&gt;
===Shipping in Canada===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the EU===&lt;br /&gt;
&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
Effective July 1, 2021, there were significant changes to the European Union’s Value Added Tax (VAT) rules.&lt;br /&gt;
&lt;br /&gt;
# All goods will now require formal customs clearance and are now subject to the VAT related to the country of entry.&lt;br /&gt;
# Online market places are required to charge the VAT upfront for all goods valued intrinsically up to &#039;&#039;&#039;€150&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
These requirements prevent Phidgets Inc. from shipping directly into the EU for goods less than this value.&lt;br /&gt;
&lt;br /&gt;
EU customers ordering goods on our website with a total value less the &#039;&#039;&#039;$200 USD&#039;&#039;&#039; are now encouraged to either:&lt;br /&gt;
* Increase the value of their order to over &#039;&#039;&#039;$200 USD&#039;&#039;&#039; or,&lt;br /&gt;
* Follow the link to our [[Dealers|distributors]] page and place an order through them.&lt;br /&gt;
&lt;br /&gt;
Customers within the EU can still place orders above $200USD and have them shipped directly to them within &lt;br /&gt;
the EU without going through a distributor.&lt;br /&gt;
Please note in these cases customers within the EU are responsible for the VAT. UPS will collect it upon delivery or by invoice after delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the United States===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
Effective May 2, 2025, orders shipped to the United States will incur additional duties, tariffs, and brokerage fees, regardless of the order value. For more details, visit our guide about [[U.S._Tariffs | U.S. Tariffs]].&lt;br /&gt;
&lt;br /&gt;
===International Shipments===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
Goods shipped internationally may be subject to import duties and taxes, which are applied once the shipment reaches your country. Any additional charges for customs clearance are your responsibility. As customs policies vary widely, we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
===Tracking your order===&lt;br /&gt;
You can track your shipment using the tracking number sent to you by email when your order was shipped.&lt;br /&gt;
&lt;br /&gt;
===Refunds on Late Deliveries===&lt;br /&gt;
&lt;br /&gt;
Normally, UPS will offer a service guarantee refund when their deliveries arrive late. However, for companies that apply for shipping discounts, this refund does not apply. Phidgets Inc. has applied for such discounts in order to keep shipping costs down and regrettably cannot offer compensation for late shipments.&lt;br /&gt;
&lt;br /&gt;
===Damaged or Lost Shipment===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on our UPS account&#039;&#039;&#039; - Report all damaged or lost shipments to support@phidgets.com and include your order number. According to UPS, in order to be considered lost, a package must be undelivered 24 hours after the expected delivery date and time. Before contacting us, check your shipment status at ups.ca.&lt;br /&gt;
&lt;br /&gt;
Damaged or lost items will be replaced at no charge (including shipping costs).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on your UPS account&#039;&#039;&#039; - You must notify your local UPS office. If they confirm that they have lost your shipment, you must repurchase the lost or damaged products from Phidgets and file a claim with your local UPS in order to get reimbursed.&lt;br /&gt;
&lt;br /&gt;
===Refused/Missed Delivery===&lt;br /&gt;
If no one is available to accept the package upon delivery, UPS will attempt redelivery two more times, as per their standard procedure. If all delivery attempts fail, UPS will hold the package for 5 days before returning it to us. In such cases, we will issue a refund for your order minus the cost of shipping (both directions) and a flat $50 fee, up to the total value of the package. This policy applies both to deliveries that failed due to no one being present and to packages that were refused at the delivery address.&lt;br /&gt;
&lt;br /&gt;
==Product Returns==&lt;br /&gt;
===All returns must be authorized by Phidgets Inc.===&lt;br /&gt;
Before returning a package {{ContactUs|contact us}} and ask for a Return Merchandise Authorization or RMA number.  Once you have received it, put the RMA number on the outside of the packaging as well as the packing slip so that it is possible for us to track what the package is supposed to be.  Any merchandise returned without an RMA number clearly visible on the packaging will be charged an administrative fee of $25.00 or the value of the returned product, whichever is less &#039;&#039;if we are able to determine what it is&#039;&#039;.  In the event we are unable to determine what the package is, it will be refused and returned to the sender.&lt;br /&gt;
&lt;br /&gt;
===Unopened Product===&lt;br /&gt;
Phidgets accepts returns of unopened products within 30 days of the date of purchase. To initiate a return, please contact us by phone or email to obtain an RMA number. Products must be shipped back to Phidgets Inc. prepaid. A refund will be issued to your credit card once we receive and inspect the returned items.&lt;br /&gt;
&lt;br /&gt;
Returns received after 30 days are subject to a restocking fee of 25% of the package&#039;s value (minimum $5.00, maximum $500).&lt;br /&gt;
&lt;br /&gt;
We do &#039;&#039;&#039;not&#039;&#039;&#039; accept returns beyond 90 days from the date of purchase.&lt;br /&gt;
&lt;br /&gt;
===Cut to Length===&lt;br /&gt;
Unfortunately we cannot accept returns on any items which are cut to custom lengths.  This includes: cable, wire, roller chain, linear shaft, rotary shaft, and t-slot extrusions.  &lt;br /&gt;
&lt;br /&gt;
===We shipped the wrong/incomplete product===&lt;br /&gt;
{{ContactUs|Contact us}}. We will get the correct product sent to you immediately, and will pay all shipping charges.&lt;br /&gt;
&lt;br /&gt;
==Payment Terms==&lt;br /&gt;
We accept credit cards, PayPal, and Wire Transfers.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! Payment Method|| Terms&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Credit Cards&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Visa, MasterCard, American Express (for order in CAD only)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|PayPal&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|PayPal is accepted.  There are no extra fees for using PayPal&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Wire Transfers&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Wire transfers are only accepted for orders over $200.00 USD (excluding shipping charges). There is a $25.00 USD charge for wire transfers under $500.00 USD. Any fees charged by the sending bank are your responsibility.&amp;lt;br /&amp;gt;Please make sure that the amount sent to us covers both our invoice and your bank fees.  Products are not shipped until the money is deposited in our bank account.  We recommend that you e-mail orders@phidgets.com with the amount of the transfer and the invoice you are paying.  &amp;lt;br /&amp;gt;Any order for which payment is not received within 15 days, will be canceled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Security and Privacy==&lt;br /&gt;
Phidgets Inc. pledges a safe and worry-free shopping experience. IF you are using the current version of Internet Explorer, on the checkout page where you enter your credit card information, you will notice a a locked padlock icon on the top bar your browser window. If you are using Mozilla Firefox, you will notice a locked padlock icon in the bottom right corner of your browser window. If this icon does not appear, please contact us directly to complete your purchase. These icons tell you that the page you are on is secure. We use Secure Sockets Layer (SSL 128-bit) technology with a digital certificate by GeoTrust, Inc. for Internet security to protect your personal information. This encryption makes it impossible for anyone to read your information in transit. We do not store your credit information and it is deleted once it has been securely transmitted to Moneris for processing.&lt;br /&gt;
&lt;br /&gt;
We use your e-mail address to let you know your shipment&#039;s tracking number. Your phone number is required by the Courier Company. We do not sell, rent or give any of your personal information to any unrelated third parties with the exception of Moneris for authorizing credit card payments and the Courier company to let them know where to deliver the shipment and how to contact you if there is any problems.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or concerns about our Security and Privacy policy, call us at 1.403.282.7335 or e-mail us at support@phidgets.com&lt;br /&gt;
&lt;br /&gt;
Phidgets Inc. uses various Google Analytics tools such as conversion tracking in order to improve the effectiveness of the website. These statistics are completely anonymous.&lt;br /&gt;
&lt;br /&gt;
==Holidays==&lt;br /&gt;
Phidgets, Inc. will be closed on the following days. During these times, the site will still be accessible and orders can be placed, but they will not ship until the next business day.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Holiday&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2025&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2026&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Alberta Family Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Third Monday in February&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 17&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 16&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Good Friday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Friday before Easter Sunday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 18&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Victoria Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Monday before May 25&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 19&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 18&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Canada Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First day of July (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Heritage Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in August&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 4&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Labour Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in September&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 7&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Thanksgiving&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Second Monday in October&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 13&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Remembrance Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| November 11 (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Christmas and New Years&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Varies&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35206</id>
		<title>Terms and Conditions</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Terms_and_Conditions&amp;diff=35206"/>
		<updated>2025-04-30T22:41:55Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linked From Website]]&lt;br /&gt;
&lt;br /&gt;
==Product Warranty==&lt;br /&gt;
&lt;br /&gt;
All Phidgets products are warranted to be free of defects in material or workmanship under normal use and service for a period of one year from the date of shipment. This warranty does not include damage resulting from accident or misuse. The warranty is also void if the product is modified.  This warranty is in lieu of all other warranties expressed or implied including the implied warranties of merchantability of fitness for a particular purpose, whether arising by law, custom or conduct, and the rights and remedies provided under this warranty are exclusive and in lieu of any other rights or remedies. In no event shall Phidgets Incorporated be liable for consequential damages.&lt;br /&gt;
&lt;br /&gt;
If you believe that your product is defective while still under warranty, {{ContactUs|contact us}}. Once the support desk confirms that the product is defective, we will replace your defective product free of charge.&lt;br /&gt;
&lt;br /&gt;
==Shipping==&lt;br /&gt;
===Last Call at 12:00PM===&lt;br /&gt;
Orders received before 12:00 PM Mountain Time (GMT-07:00) Monday to Friday will be shipped the same day.&lt;br /&gt;
&lt;br /&gt;
Orders containing cut-to-length parts may not ship on the same day due to the additional processing time associated with these orders.&lt;br /&gt;
&lt;br /&gt;
===Shipping Costs===&lt;br /&gt;
Shipping costs are calculated at checkout and presented for your review before you confirm your order. If multiple shipping options are available for your destination, all options will be listed so you can choose the one that best suits your needs.&lt;br /&gt;
&lt;br /&gt;
If you have your own UPS or FedEx account, you can use it at checkout and be billed directly by the carrier. This gives you access to a wider range of shipping options.&lt;br /&gt;
&lt;br /&gt;
Note that a $5.00 handling charge is added to all orders that are under $50.00.&lt;br /&gt;
&lt;br /&gt;
===Shipping in Canada===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the EU===&lt;br /&gt;
&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited™&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
Effective July 1, 2021, there were significant changes to the European Union’s Value Added Tax (VAT) rules.&lt;br /&gt;
&lt;br /&gt;
# All goods will now require formal customs clearance and are now subject to the VAT related to the country of entry.&lt;br /&gt;
# Online market places are required to charge the VAT upfront for all goods valued intrinsically up to &#039;&#039;&#039;€150&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
These requirements prevent Phidgets Inc. from shipping directly into the EU for goods less than this value.&lt;br /&gt;
&lt;br /&gt;
EU customers ordering goods on our website with a total value less the &#039;&#039;&#039;$200 USD&#039;&#039;&#039; are now encouraged to either:&lt;br /&gt;
* Increase the value of their order to over &#039;&#039;&#039;$200 USD&#039;&#039;&#039; or,&lt;br /&gt;
* Follow the link to our [[Dealers|distributors]] page and place an order through them.&lt;br /&gt;
&lt;br /&gt;
Customers within the EU can still place orders above $200USD and have them shipped directly to them within &lt;br /&gt;
the EU without going through a distributor.&lt;br /&gt;
Please note in these cases customers within the EU are responsible for the VAT. UPS will collect it upon delivery or by invoice after delivery.&lt;br /&gt;
&lt;br /&gt;
===Shipping to the United States===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Expedited&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
* &#039;&#039;&#039;UPS Standard&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 3 - 5 business days ground delivery.&lt;br /&gt;
&lt;br /&gt;
Effective May 2, 2025, orders shipped to the United States will incur additional duties, tariffs, and brokerage fees, regardless of the order value. For more details, visit our guide about [[U.S._Tariffs | U.S. Tariffs]].&lt;br /&gt;
&lt;br /&gt;
===International Shipments===&lt;br /&gt;
We offer the following services:&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Express Saver&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;&#039;&#039;&#039;. 1 - 3 business days.&lt;br /&gt;
* &#039;&#039;&#039;UPS Worldwide Expedited™&#039;&#039;&#039;. 2 - 5 business days. Available for packages over 3 lbs. &lt;br /&gt;
&lt;br /&gt;
Goods shipped internationally may be subject to import duties and taxes, which are applied once the shipment reaches your country. Any additional charges for customs clearance are your responsibility. As customs policies vary widely, we recommend contacting your local customs office for more information.&lt;br /&gt;
&lt;br /&gt;
===Tracking your order===&lt;br /&gt;
You can track your shipment using the tracking number sent to you by email when your order was shipped.&lt;br /&gt;
&lt;br /&gt;
===Refunds on Late Deliveries===&lt;br /&gt;
&lt;br /&gt;
Normally, UPS will offer a service guarantee refund when their deliveries arrive late. However, for companies that apply for shipping discounts, this refund does not apply. Phidgets Inc. has applied for such discounts in order to keep shipping costs down and regrettably cannot offer compensation for late shipments.&lt;br /&gt;
&lt;br /&gt;
===Damaged or Lost Shipment===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on our UPS account&#039;&#039;&#039; - Report all damaged or lost shipments to support@phidgets.com and include your order number. According to UPS, in order to be considered lost, a package must be undelivered 24 hours after the expected delivery date and time. Before contacting us, check your shipment status at ups.ca.&lt;br /&gt;
&lt;br /&gt;
Damaged or lost items will be replaced at no charge (including shipping costs).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Shipping on your UPS account&#039;&#039;&#039; - You must notify your local UPS office. If they confirm that they have lost your shipment, you must repurchase the lost or damaged products from Phidgets and file a claim with your local UPS in order to get reimbursed.&lt;br /&gt;
&lt;br /&gt;
===Refused/Missed Delivery===&lt;br /&gt;
If no one is available to accept the package upon delivery, UPS will attempt redelivery two more times, as per their standard procedure. If all delivery attempts fail, UPS will hold the package for 5 days before returning it to us. In such cases, we will issue a refund for your order minus the cost of shipping (both directions) and a flat $50 fee, up to the total value of the package. This policy applies both to deliveries that failed due to no one being present and to packages that were refused at the delivery address.&lt;br /&gt;
&lt;br /&gt;
==Product Returns==&lt;br /&gt;
===All returns must be authorized by Phidgets Inc.===&lt;br /&gt;
Before returning a package {{ContactUs|contact us}} and ask for a Return Merchandise Authorization or RMA number.  Once you have received it, put the RMA number on the outside of the packaging as well as the packing slip so that it is possible for us to track what the package is supposed to be.  Any merchandise returned without an RMA number clearly visible on the packaging will be charged an administrative fee of $25.00 or the value of the returned product, whichever is less &#039;&#039;if we are able to determine what it is&#039;&#039;.  In the event we are unable to determine what the package is, it will be refused and returned to the sender.&lt;br /&gt;
&lt;br /&gt;
===Unopened Product===&lt;br /&gt;
Phidgets accepts returns of unopened products within 30 days of the date of purchase. To initiate a return, please contact us by phone or email to obtain an RMA number. Products must be shipped back to Phidgets Inc. prepaid. A refund will be issued to your credit card once we receive and inspect the returned items.&lt;br /&gt;
&lt;br /&gt;
Returns received after 30 days are subject to a restocking fee of 25% of the package&#039;s value (minimum $5.00, maximum $500).&lt;br /&gt;
&lt;br /&gt;
We do &#039;&#039;&#039;not&#039;&#039;&#039; accept returns beyond 90 days from the date of purchase.&lt;br /&gt;
&lt;br /&gt;
===Cut to Length===&lt;br /&gt;
Unfortunately we cannot accept returns on any items which are cut to custom lengths.  This includes: cable, wire, roller chain, linear shaft, rotary shaft, and t-slot extrusions.  &lt;br /&gt;
&lt;br /&gt;
===We shipped the wrong/incomplete product===&lt;br /&gt;
{{ContactUs|Contact us}}. We will get the correct product sent to you immediately, and will pay all shipping charges.&lt;br /&gt;
&lt;br /&gt;
==Payment Terms==&lt;br /&gt;
We accept credit cards, PayPal, and Wire Transfers.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! Payment Method|| Terms&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Credit Cards&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Visa, MasterCard, American Express (for order in CAD only)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|PayPal&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|PayPal is accepted.  There are no extra fees for using PayPal&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center|Wire Transfers&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=left|Wire transfers are only accepted for orders over $200.00 USD (excluding shipping charges). There is a $25.00 USD charge for wire transfers under $500.00 USD. Any fees charged by the sending bank are your responsibility.&amp;lt;br /&amp;gt;Please make sure that the amount sent to us covers both our invoice and your bank fees.  Products are not shipped until the money is deposited in our bank account.  We recommend that you e-mail orders@phidgets.com with the amount of the transfer and the invoice you are paying.  &amp;lt;br /&amp;gt;Any order for which payment is not received within 15 days, will be canceled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Security and Privacy==&lt;br /&gt;
Phidgets Inc. pledges a safe and worry-free shopping experience. IF you are using the current version of Internet Explorer, on the checkout page where you enter your credit card information, you will notice a a locked padlock icon on the top bar your browser window. If you are using Mozilla Firefox, you will notice a locked padlock icon in the bottom right corner of your browser window. If this icon does not appear, please contact us directly to complete your purchase. These icons tell you that the page you are on is secure. We use Secure Sockets Layer (SSL 128-bit) technology with a digital certificate by GeoTrust, Inc. for Internet security to protect your personal information. This encryption makes it impossible for anyone to read your information in transit. We do not store your credit information and it is deleted once it has been securely transmitted to Moneris for processing.&lt;br /&gt;
&lt;br /&gt;
We use your e-mail address to let you know your shipment&#039;s tracking number. Your phone number is required by the Courier Company. We do not sell, rent or give any of your personal information to any unrelated third parties with the exception of Moneris for authorizing credit card payments and the Courier company to let them know where to deliver the shipment and how to contact you if there is any problems.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or concerns about our Security and Privacy policy, call us at 1.403.282.7335 or e-mail us at support@phidgets.com&lt;br /&gt;
&lt;br /&gt;
Phidgets Inc. uses various Google Analytics tools such as conversion tracking in order to improve the effectiveness of the website. These statistics are completely anonymous.&lt;br /&gt;
&lt;br /&gt;
==Holidays==&lt;br /&gt;
Phidgets, Inc. will be closed on the following days. During these times, the site will still be accessible and orders can be placed, but they will not ship until the next business day.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #d1d1d1&amp;quot; align=center &lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Holiday&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2025&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot;| 2026&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Alberta Family Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Third Monday in February&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 17&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Feb 16&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Good Friday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Friday before Easter Sunday&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 18&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Apr 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Victoria Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Monday before May 25&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 19&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| May 18&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Canada Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First day of July (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Jul 1&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Heritage Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in August&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 4&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Aug 3&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Labour Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| First Monday in September&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 1&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Sept 7&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Thanksgiving&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Second Monday in October&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 13&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Oct 12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Remembrance Day&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| November 11 (or nearest business day)&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Nov 11&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Christmas and New Years&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| Varies&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|style=&amp;quot;background: #f0f0f0&amp;quot; align=center| TBA&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35034</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35034"/>
		<updated>2025-01-23T18:39:20Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We recommend installing with our &#039;&#039;&#039;Install Script&#039;&#039;&#039;. If you prefer not to run a script, or the script cannot detect your distro, use the &#039;&#039;&#039;Manual Install&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Install Script=&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;curl&#039;&#039; command is not found: &amp;lt;syntaxhighlight enclose=&amp;quot;none&amp;quot;&amp;gt;apt install curl&amp;lt;/syntaxhighlight&amp;gt; and try again.&lt;br /&gt;
&lt;br /&gt;
|-|Manual Install=&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35033</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35033"/>
		<updated>2025-01-23T18:37:14Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We recommend installing with our &#039;&#039;&#039;Install Script&#039;&#039;&#039;. If you prefer not to run a script, or the script cannot detect your distro, use the &#039;&#039;&#039;Manual Install&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Install Script=&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;curl&#039;&#039; command is not found: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;apt install curl&amp;lt;/syntaxhighlight&amp;gt; and try again.&lt;br /&gt;
&lt;br /&gt;
|-|Manual Install=&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35031</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35031"/>
		<updated>2025-01-20T18:31:17Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We recommend installing with our &#039;&#039;&#039;Install Script&#039;&#039;&#039;. If you prefer not to run a script, or the script cannot detect your distro, use the &#039;&#039;&#039;Manual Install&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Install Script=&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
|-|Manual Install=&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35030</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35030"/>
		<updated>2025-01-20T18:28:12Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
&lt;br /&gt;
We provide prebuilt packages for Debian, Ubuntu, and their derivatives.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running a supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Package Install=&lt;br /&gt;
{{LinuxPackageInstall}}&lt;br /&gt;
&lt;br /&gt;
|-|Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting UDev Rules ===&lt;br /&gt;
By default, Linux will not grant permission to regular users to access physical hardware as a security feature.  This means that in order to run Phidgets code from user space you must grant yourself root privileges via sudo.  For example:&lt;br /&gt;
&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&lt;br /&gt;
You can grant access manually or, more commonly, set up a rules file to do it automatically keying off of the vendor code for Phidget USB devices.  To do this, create a text file called &amp;quot;99-libphidget22.rules&amp;quot; with the following contents:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where mode 666 means every user has permission to read and write to the specified file/device.  You need to then move this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Now you can run Phidget related code as a regular user without the OS denying permission.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading Linux Source you agree to adhere to the terms of the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35029</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35029"/>
		<updated>2025-01-20T18:21:15Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We recommend installing with our &#039;&#039;&#039;Install Script&#039;&#039;&#039;. If you prefer not to run a script, or are using an unknown distro based on Debian, use the &#039;&#039;&#039;Manual Install&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Install Script=&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
|-|Manual Install=&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35028</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35028"/>
		<updated>2025-01-20T18:17:38Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on the following distros and architectures &#039;&#039;&#039;(click to expand)&#039;&#039;&#039;:&lt;br /&gt;
{{LinuxSupport}}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running one of the supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Package Install=&lt;br /&gt;
{{LinuxPackageInstall}}&lt;br /&gt;
&lt;br /&gt;
|-|Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting UDev Rules ===&lt;br /&gt;
By default, Linux will not grant permission to regular users to access physical hardware as a security feature.  This means that in order to run Phidgets code from user space you must grant yourself root privileges via sudo.  For example:&lt;br /&gt;
&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&lt;br /&gt;
You can grant access manually or, more commonly, set up a rules file to do it automatically keying off of the vendor code for Phidget USB devices.  To do this, create a text file called &amp;quot;99-libphidget22.rules&amp;quot; with the following contents:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where mode 666 means every user has permission to read and write to the specified file/device.  You need to then move this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Now you can run Phidget related code as a regular user without the OS denying permission.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading Linux Source you agree to adhere to the terms of the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35027</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35027"/>
		<updated>2025-01-20T18:14:39Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Install Script=&lt;br /&gt;
====Install Script====&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
|-|Manual Install=&lt;br /&gt;
====Manual Install====&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35026</id>
		<title>Template:LinuxPackageInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxPackageInstall&amp;diff=35026"/>
		<updated>2025-01-20T18:13:33Z</updated>

		<summary type="html">&lt;p&gt;Patrick: Created page with &amp;quot; ====Install Script==== To run the install script and install phidget22, enter the following command in the terminal:  {{LinuxInstallScript}}  ====Manual Install==== To install our package repository manually, enter the following command in the terminal, replacing &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;distro&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; with your distro codename:  {{LinuxGetKey}}  We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
====Install Script====&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
====Manual Install====&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35025</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35025"/>
		<updated>2025-01-20T18:12:16Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on the following distros and architectures &#039;&#039;&#039;(click to expand)&#039;&#039;&#039;:&lt;br /&gt;
{{LinuxSupport}}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running one of the supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Package Install=&lt;br /&gt;
====Install Script====&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
====Manual Install====&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;br /&gt;
&lt;br /&gt;
|-|Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting UDev Rules ===&lt;br /&gt;
By default, Linux will not grant permission to regular users to access physical hardware as a security feature.  This means that in order to run Phidgets code from user space you must grant yourself root privileges via sudo.  For example:&lt;br /&gt;
&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&lt;br /&gt;
You can grant access manually or, more commonly, set up a rules file to do it automatically keying off of the vendor code for Phidget USB devices.  To do this, create a text file called &amp;quot;99-libphidget22.rules&amp;quot; with the following contents:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where mode 666 means every user has permission to read and write to the specified file/device.  You need to then move this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Now you can run Phidget related code as a regular user without the OS denying permission.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading Linux Source you agree to adhere to the terms of the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35024</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35024"/>
		<updated>2025-01-20T18:05:04Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on the following distros and architectures &#039;&#039;&#039;(click to expand)&#039;&#039;&#039;:&lt;br /&gt;
{{LinuxSupport}}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running one of the supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Package Install=&lt;br /&gt;
====Install Script====&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
====Manual Install====&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting UDev Rules ===&lt;br /&gt;
By default, Linux will not grant permission to regular users to access physical hardware as a security feature.  This means that in order to run Phidgets code from user space you must grant yourself root privileges via sudo.  For example:&lt;br /&gt;
&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&lt;br /&gt;
You can grant access manually or, more commonly, set up a rules file to do it automatically keying off of the vendor code for Phidget USB devices.  To do this, create a text file called &amp;quot;99-libphidget22.rules&amp;quot; with the following contents:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where mode 666 means every user has permission to read and write to the specified file/device.  You need to then move this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Now you can run Phidget related code as a regular user without the OS denying permission.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading Linux Source you agree to adhere to the terms of the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxInstallScript&amp;diff=35023</id>
		<title>Template:LinuxInstallScript</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxInstallScript&amp;diff=35023"/>
		<updated>2025-01-20T18:03:44Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
curl -fsSL https://www.phidgets.com/downloads/setup_linux | bash -&lt;br /&gt;
apt install -y libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
curl -fsSL https://www.phidgets.com/downloads/setup_linux | sudo -E bash -&lt;br /&gt;
sudo apt install -y libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxGetKey&amp;diff=35022</id>
		<title>Template:LinuxGetKey</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxGetKey&amp;diff=35022"/>
		<updated>2025-01-20T18:03:06Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
 wget -qO /usr/share/keyrings/phidgets.gpg \&lt;br /&gt;
   https://www.phidgets.com/gpgkey/pubring.gpg&lt;br /&gt;
 echo deb [signed-by=/usr/share/keyrings/phidgets.gpg] \&lt;br /&gt;
   http://www.phidgets.com/debian &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; main \&lt;br /&gt;
   &amp;gt; /etc/apt/sources.list.d/phidgets.list&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
 sudo wget -qO /usr/share/keyrings/phidgets.gpg \&lt;br /&gt;
   https://www.phidgets.com/gpgkey/pubring.gpg&lt;br /&gt;
 echo deb [signed-by=/usr/share/keyrings/phidgets.gpg] \&lt;br /&gt;
   http://www.phidgets.com/debian &#039;&#039;&#039;&#039;&#039;distro&#039;&#039;&#039;&#039;&#039; main | sudo tee \&lt;br /&gt;
   /etc/apt/sources.list.d/phidgets.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxAptUpdate&amp;diff=35021</id>
		<title>Template:LinuxAptUpdate</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxAptUpdate&amp;diff=35021"/>
		<updated>2025-01-20T17:49:06Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxAptInstall&amp;diff=35020</id>
		<title>Template:LinuxAptInstall</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxAptInstall&amp;diff=35020"/>
		<updated>2025-01-20T17:48:54Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
sudo apt install libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35019</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=35019"/>
		<updated>2025-01-20T17:48:34Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on the following distros and architectures &#039;&#039;&#039;(click to expand)&#039;&#039;&#039;:&lt;br /&gt;
{{LinuxSupport}}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running one of the supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Package Install=&lt;br /&gt;
====Install Script====&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
====Manual Install====&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;distro&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* [[Phidget22admin Guide|&#039;&#039;&#039;phidget22admin&#039;&#039;&#039;]]: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting UDev Rules ===&lt;br /&gt;
By default, Linux will not grant permission to regular users to access physical hardware as a security feature.  This means that in order to run Phidgets code from user space you must grant yourself root privileges via sudo.  For example:&lt;br /&gt;
&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&lt;br /&gt;
You can grant access manually or, more commonly, set up a rules file to do it automatically keying off of the vendor code for Phidget USB devices.  To do this, create a text file called &amp;quot;99-libphidget22.rules&amp;quot; with the following contents:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where mode 666 means every user has permission to read and write to the specified file/device.  You need to then move this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Now you can run Phidget related code as a regular user without the OS denying permission.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;br /&gt;
&lt;br /&gt;
==Software License==&lt;br /&gt;
By downloading Linux Source you agree to adhere to the terms of the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Network_Server_Guide&amp;diff=34977</id>
		<title>Network Server Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Network_Server_Guide&amp;diff=34977"/>
		<updated>2025-01-10T19:09:25Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:|description=Get started with the Phidget Network Server}}&lt;br /&gt;
[[Category:IntroGuide]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-5&amp;quot;&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The Phidget Network Server is a powerful tool that allows you to do the following:&lt;br /&gt;
* Access Phidgets that are connected to other computers on your network.&lt;br /&gt;
* Access Phidgets from more than one application simultaneously.&lt;br /&gt;
* Host webpages and run JavaScript applications using the built-in web server.&lt;br /&gt;
* Manage dictionaries to easily share information between applications.&lt;br /&gt;
&lt;br /&gt;
This guide will provide an overview of the Phidget Network Server and showcase how it can be used in your applications.&lt;br /&gt;
&lt;br /&gt;
==How It Works==&lt;br /&gt;
The Phidget Network Server has three elements: a Phidget server, a web server, and a dictionary manager. The Phidget server is the primary component, which we will discuss here. The other components will be discussed later in this guide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When the Phidget Network Server is running, your computer can host a &#039;&#039;&#039;Phidget server&#039;&#039;&#039; which makes all connected Phidget channels available to other computers on your network.&lt;br /&gt;
&lt;br /&gt;
[[Image:NetworkServer_PhidgetServer.jpg|center|link=https://cdn.phidgets.com/docs/images/thumb/f/fd/NetworkServer_PhidgetServer.jpg/800px-NetworkServer_PhidgetServer.jpg|650px]]&lt;br /&gt;
&lt;br /&gt;
As long as the Phidget server is running, clients can access the remote channels. They can be addressed, opened, and attached in much the same way as local channels.&lt;br /&gt;
&lt;br /&gt;
Unlike local channels, remote channels may be opened by multiple programs simultaneously. There are some exceptions (e.g. motor controllers) that cannot be opened simultaneously for safety reasons. &lt;br /&gt;
&lt;br /&gt;
===Hosts and Clients===&lt;br /&gt;
This guide references &#039;&#039;&#039;host&#039;&#039;&#039; computers and &#039;&#039;&#039;client&#039;&#039;&#039; computers.&lt;br /&gt;
*&#039;&#039;&#039;Host&#039;&#039;&#039;: a computer or Wireless VINT Hub that is physically connected to Phidget devices and is running the Phidget Network Server.&lt;br /&gt;
*&#039;&#039;&#039;Client&#039;&#039;&#039;: a computer running an application that accesses Phidget channels via the Phidget Server. The Phidget Network Server does &#039;&#039;&#039;not&#039;&#039;&#039; need to run on the client computer.&lt;br /&gt;
&lt;br /&gt;
A single computer can act as both a host and a client. A Wireless VINT Hub (HUB5000) can only act as a host.&lt;br /&gt;
&lt;br /&gt;
==Running the Phidget Network Server==&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On Windows machines, start by [[OS_-_Windows#Install|installing our libraries]]. Next, open the [[Phidget Control Panel|Phidget Control Panel]] on your host computer and navigate to the &#039;&#039;Network Server&#039;&#039; tab:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows_networkserver.PNG|link=https://cdn.phidgets.com/docs/images/f/f4/Windows_networkserver.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are various [[#Network_Server_Settings|configuration settings]] for the Phidget Network Server. For now, press &#039;&#039;&#039;Start&#039;&#039;&#039; in the bottom right corner and navigate back to the Phidgets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows_controlpanel_remote.PNG|center|link=https://cdn.phidgets.com/docs/images/5/55/Windows_controlpanel_remote.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As shown above, the Phidget server is now making your channels available to other computers on your network. You can view/hide remote channels in the Phidget Control Panel by navigating to &#039;&#039;File &amp;gt; Options &amp;gt; List Remote Phidgets&#039;&#039;.&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On macOS machines, start by [[OS_-_macOS#Install|installing our libraries]]. Next, open the [[Phidget_Control_Panel|Phidget Control Panel]] on your host computer and navigate to the &#039;&#039;Network Server&#039;&#039; tab:&lt;br /&gt;
&lt;br /&gt;
[[File:macos_networkserver.png|600px|link=|center]]&lt;br /&gt;
&lt;br /&gt;
There are various [[#Network_Server_Settings|configuration settings]] for the Phidget Network Server. For now, press &#039;&#039;&#039;Start&#039;&#039;&#039; at the top of the screen and navigate back to the Phidgets tab.&lt;br /&gt;
&lt;br /&gt;
[[File:macos_controlpanel_remote.png|link=|center]]&lt;br /&gt;
&lt;br /&gt;
As shown above, the Phidget Server is now making your channels available to other computers on your network.&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On Linux machines, start by [[OS_-_Linux#Install|installing our libraries]], specifically &#039;&#039;phidget22networkserver&#039;&#039; and &#039;&#039;phidget22admin&#039;&#039;. The Phidget Network Server will start automatically after installing from packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open the terminal on the client and type in the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
phidget22admin -s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Linux_networkserver_phidgetadmin.PNG|link=|center|850px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will list all of the Phidget servers on your network. Confirm that you can see a Phidget server running on your host computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have confirmed your server is running, type in the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
phidget22admin -R -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This command will list all remote Phidgets on the network. Confirm that you can see the Phidgets attached to your host computer:&lt;br /&gt;
[[File:Linux_networkserver_phidadminlist.PNG|link=|center]]&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Wireless VINT Hub will automatically run the Phidget Network Server on boot. No configuration is required. Please note that The Wireless VINT Hub is not able to manage dictionaries.&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC4=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The PhidgetSBC4 comes with the Phidget Network Server installed, and the SBC automatically starts the Phidget Network Server on boot. Open the web interface and navigate to &#039;&#039;&#039;Phidgets&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;phidget22Network Server&#039;&#039;&#039; to see the status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Networkserver_sbc_boot.png|link=https://cdn.phidgets.com/docs/images/a/a7/Networkserver_sbc_boot.png|alt=|center|700px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connecting to Remote Phidgets==&lt;br /&gt;
After you have the [[#Running the Phidget Network Server|Phidget Network Server running]], you can access remote Phidget channels from a client computer. &lt;br /&gt;
&lt;br /&gt;
===Networking API===&lt;br /&gt;
To access remote channels in your application, you will need to use our &#039;&#039;&#039;Networking API&#039;&#039;&#039;. Navigate to our [https://www.phidgets.com/?view=api API] and select Networking from the dropdown menu.&lt;br /&gt;
[[Image:Api_dropdown_networking.jpg|600px|center|link=https://cdn.phidgets.com/docs/images/2/2a/Api_dropdown_networking.jpg]]&lt;br /&gt;
&lt;br /&gt;
Here you will see all relevant methods and events. There are two primary ways to connect to remote channels in your application:&lt;br /&gt;
# Specify hostname/IP address (recommended)&lt;br /&gt;
# Enable server discovery&lt;br /&gt;
&lt;br /&gt;
Continue reading for more information.&lt;br /&gt;
&lt;br /&gt;
====Connecting via Hostname/IP Address (Recommended)====&lt;br /&gt;
Specifying a hostname or IP address in your code is recommended for most applications. Examples of how to do this in various languages are shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
from Phidget22.Net import *&lt;br /&gt;
&lt;br /&gt;
Net.addServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
Net.addServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
Net.AddServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetNet_addServer(&amp;quot;ServerName&amp;quot;, &amp;quot;hostname/IP address&amp;quot;, 5661, &amp;quot;password&amp;quot;, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const conn = new phidget22.NetworkConnection(5661, &amp;quot;hostname&amp;quot;)&lt;br /&gt;
await conn.connect()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Hostname vs IP Address=====&lt;br /&gt;
For most applications, using a hostname to add a server is preferred (such as &#039;localhost&#039; or &#039;hub5000.local&#039;). This approach allows your application to adapt seamlessly to network changes. However, in certain scenarios, assigning a static IP address to your host may provide additional benefits.&lt;br /&gt;
&lt;br /&gt;
====Enabling Server Discovery====&lt;br /&gt;
By enabling server discovery, you can access any Phidget server on your network that is published (see [[#Phidget_Server|Phidget server settings]] for more information about publishing). Examples of how to do this in various languages are shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
Net.enableServerDiscovery(PhidgetServerType.PHIDGETSERVER_DEVICEREMOTE)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
Net.enableServerDiscovery(ServerType.DEVICE_REMOTE);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
Net.EnableServerDiscovery(ServerType.DeviceRemote);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetNet_enableServerDiscovery(PHIDGETSERVER_DEVICEREMOTE);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&lt;br /&gt;
&lt;br /&gt;
Server discovery is not available in JavaScript due to networking restrictions.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
=====Considerations=====&lt;br /&gt;
Enabling server discovery is useful for certain applications. For example, if you need to manage a dynamic list of devices, similar to the Phidget Control Panel. It can also be useful during development, when devices and networks are changing frequently. For most applications and when deploying applications, [[#Connecting via Hostname/IP Address (Recommended)| connecting via hostname/IP address]] is recommended.&lt;br /&gt;
&lt;br /&gt;
When using server discovery, review the following:&lt;br /&gt;
* A Phidget server must be [[#Phidget Server|published]] in order to connect to it.&lt;br /&gt;
* For Windows You must have [https://developer.apple.com/bonjour/ Bonjour] installed on both your host computer and your client computer. [https://phidgets.com/downloads/misc/Bonjour64.msi Download it here].&lt;br /&gt;
* Linux machines typically have Avahi preinstalled. It can also be easily installed with {{Code|apt install avahi-client}}&lt;br /&gt;
* macOS typically has Bonjour preinstalled, so no further configuration is required.&lt;br /&gt;
&lt;br /&gt;
===Code Samples===&lt;br /&gt;
In this example, a Light Phidget (LUX1000) is plugged into a Wireless VINT Hub (HUB5000) which runs the Phidget Network Server. On a client machine, this code is used to remotely access the light sensor and sample &lt;br /&gt;
5 seconds of data.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=&#039;python&#039;&amp;gt;&lt;br /&gt;
from Phidget22.Phidget import *&lt;br /&gt;
from Phidget22.Net import *&lt;br /&gt;
from Phidget22.Devices.LightSensor import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
def onIlluminanceChange(self, illuminance):&lt;br /&gt;
	print(&amp;quot;Illuminance: &amp;quot; + str(illuminance))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	Net.addServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
	lightSensor0 = LightSensor()&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.setIsRemote(True)&lt;br /&gt;
	lightSensor0.setDeviceSerialNumber(37299)&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.setOnIlluminanceChangeHandler(onIlluminanceChange)&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.openWaitForAttachment(20000)&lt;br /&gt;
&lt;br /&gt;
	time.sleep(5)&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.close()&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=&#039;Java&#039;&amp;gt;&lt;br /&gt;
import com.phidget22.*;&lt;br /&gt;
import java.lang.InterruptedException;&lt;br /&gt;
&lt;br /&gt;
public class Java_Example {&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] args) throws Exception {&lt;br /&gt;
		Net.addServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
		LightSensor lightSensor0 = new LightSensor();&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.setIsRemote(true);&lt;br /&gt;
		lightSensor0.setDeviceSerialNumber(37299);&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.addIlluminanceChangeListener(new LightSensorIlluminanceChangeListener() {&lt;br /&gt;
			public void onIlluminanceChange(LightSensorIlluminanceChangeEvent e) {&lt;br /&gt;
				System.out.println(&amp;quot;Illuminance: &amp;quot; + e.getIlluminance());&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.open(20000);&lt;br /&gt;
&lt;br /&gt;
		Thread.sleep(5000);&lt;br /&gt;
&lt;br /&gt;
		lightSensor0.close();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=&#039;CSharp&#039;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using Phidget22;&lt;br /&gt;
&lt;br /&gt;
namespace ConsoleApplication&lt;br /&gt;
{&lt;br /&gt;
	class Program&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		private static void LightSensor0_IlluminanceChange(object sender, Phidget22.Events.LightSensorIlluminanceChangeEventArgs e)&lt;br /&gt;
		{&lt;br /&gt;
			Console.WriteLine(&amp;quot;Illuminance: &amp;quot; + e.Illuminance);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		static void Main(string[] args)&lt;br /&gt;
		{&lt;br /&gt;
			Net.AddServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
			LightSensor lightSensor0 = new LightSensor();&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.IsRemote = true;&lt;br /&gt;
			lightSensor0.DeviceSerialNumber = 37299;&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.IlluminanceChange += LightSensor0_IlluminanceChange;&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.Open(20000);&lt;br /&gt;
&lt;br /&gt;
			System.Threading.Thread.Sleep(5000);&lt;br /&gt;
&lt;br /&gt;
			lightSensor0.Close();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
#include &amp;lt;phidget22.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
/* Determine if we are on Windows of Unix */&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#else&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#define Sleep(x) usleep((x) * 1000)&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
static void CCONV onIlluminanceChange(PhidgetLightSensorHandle ch, void * ctx, double illuminance) {&lt;br /&gt;
	printf(&amp;quot;Illuminance: %lf\n&amp;quot;, illuminance);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
	PhidgetLightSensorHandle lightSensor0;&lt;br /&gt;
&lt;br /&gt;
	PhidgetNet_addServer(&amp;quot;PHIDGETS-PC&amp;quot;, &amp;quot;hub5000.local&amp;quot;, 5661, &amp;quot;&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
	PhidgetLightSensor_create(&amp;amp;lightSensor0);&lt;br /&gt;
&lt;br /&gt;
	Phidget_setIsRemote((PhidgetHandle)lightSensor0, 1);&lt;br /&gt;
	Phidget_setDeviceSerialNumber((PhidgetHandle)lightSensor0, 37299);&lt;br /&gt;
&lt;br /&gt;
	PhidgetLightSensor_setOnIlluminanceChangeHandler(lightSensor0, onIlluminanceChange, NULL);&lt;br /&gt;
&lt;br /&gt;
	Phidget_openWaitForAttachment((PhidgetHandle)lightSensor0, 20000);&lt;br /&gt;
&lt;br /&gt;
	Sleep(5000);&lt;br /&gt;
&lt;br /&gt;
	Phidget_close((PhidgetHandle)lightSensor0);&lt;br /&gt;
&lt;br /&gt;
	PhidgetLightSensor_delete(&amp;amp;lightSensor0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const phidget22 = require(&#039;phidget22&#039;);&lt;br /&gt;
&lt;br /&gt;
async function runExample() {&lt;br /&gt;
	const conn = new phidget22.NetworkConnection(5661, &#039;hub5000.local&#039;);&lt;br /&gt;
	try {&lt;br /&gt;
		await conn.connect();&lt;br /&gt;
	} catch(err) {&lt;br /&gt;
		console.error(&#039;Error during connect&#039;, err);&lt;br /&gt;
		process.exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	const lightSensor0 = new phidget22.LightSensor();&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.setDeviceSerialNumber(37299);&lt;br /&gt;
&lt;br /&gt;
	lightSensor0.onIlluminanceChange = (illuminance) =&amp;gt; {&lt;br /&gt;
		console.log(&#039;Illuminance: &#039; + illuminance.toString());&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	try {&lt;br /&gt;
		await lightSensor0.open(5000);&lt;br /&gt;
	} catch(err) {&lt;br /&gt;
		console.error(&#039;Error during open&#039;, err);&lt;br /&gt;
		process.exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	setTimeout(async () =&amp;gt; {&lt;br /&gt;
		await lightSensor0.close();&lt;br /&gt;
		conn.close();&lt;br /&gt;
		conn.delete();&lt;br /&gt;
	}, 5000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
runExample();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Code Sample Generator====&lt;br /&gt;
The code sample above was generated using our [https://www.phidgets.com/?view=code_samples| Code Sample Generator]. To generate Network-enabled code for a specific device, select the &#039;&#039;&#039;Remote&#039;&#039;&#039; checkbox and specify a hostname.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_codesample_remote.png|600px|center|link=https://cdn.phidgets.com/docs/images/4/44/Networkserver_codesample_remote.png]]&lt;br /&gt;
&lt;br /&gt;
==Webserver==&lt;br /&gt;
The Phidget Network Server includes a built-in web server and is required for supporting the Phidget JavaScript library for in-browser use.&lt;br /&gt;
* On Windows and macOS, a JavaScript version of the Phidget Control panel is served on port 8989 (http://localhost:8989) by default.&lt;br /&gt;
* On Linux machines, PhidgetSBC4, and the Wireless VINT Hub, a JavaScript version of the Phidget Control panel is served on port 8080 (http://localhost:8080) by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_webserver_controlpanel.jpg|center|500px|link=https://www.phidgets.com/docs/File:Networkserver_webserver_controlpanel.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Enabling the Webserver===&lt;br /&gt;
On Windows and macOS, you can enable the web server through the Phidget Control Panel:&lt;br /&gt;
&lt;br /&gt;
[[Image:enable_webserver.jpg|center|800px|link=https://cdn.phidgets.com/docs/images/0/08/Enable_webserver.jpg]]&lt;br /&gt;
&lt;br /&gt;
On Linux, you can enable it in the Phidget Network Server configuration file located at &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;.  Modify &#039;&#039;&#039;enabled&#039;&#039;&#039; to &#039;&#039;&#039;true&#039;&#039;&#039; in the &#039;&#039;&#039;www&#039;&#039;&#039; section.&lt;br /&gt;
&lt;br /&gt;
===Considerations===&lt;br /&gt;
The primary purpose of the Webserver is to support a Websockets connection for the Browser JavaScript library - because regular sockets cannot be used in Browser.&lt;br /&gt;
&lt;br /&gt;
==Dictionaries==&lt;br /&gt;
The Phidget Network Server allows you to publish Phidget Dictionaries on your network. Dictionaries provide a convenient method of sharing information between applications. For more information, view our [[Phidget_Dictionary|Phidget Dictionaries Guide]].&lt;br /&gt;
&lt;br /&gt;
==Upgrading the Phidget Network Server==&lt;br /&gt;
From time to time, you may consider upgrading your Phidget Network Server (i.e. your Phidget libraries). There are several reasons to do this, for example:&lt;br /&gt;
* Your application needs to support a new device.&lt;br /&gt;
* The [{{SERVER}}/?view=changelog Phidget22 Changelog] indicates that there was an improvement or bug fix that is relevant to your application. Consider signing up for Phidget22 Changelog notifications to stay updated.&lt;br /&gt;
&lt;br /&gt;
When upgrading your Phidget libraries, you should ensure your host and client are on the same version for the best performance.&lt;br /&gt;
&lt;br /&gt;
===Host: Determining Version===&lt;br /&gt;
Select the operating system of your host for more information.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
On Windows, the Phidget Network Server is managed from the Phidget Control Panel. Open the Phidget Control Panel and navigate to &#039;&#039;&#039;Help &amp;gt; About Phidget Control Panel&#039;&#039;&#039; to see the library version you are running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_windows.png|center]]&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
On macOS, the Phidget Network Server is managed from the Phidget Control Panel. Open the Phidget Control Panel and navigate to &#039;&#039;&#039;Phidget Control Panel &amp;gt; About Phidget Control Panel&#039;&#039;&#039; to see the library version you are running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_mac.png|400px|center]]&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, open a terminal and enter the following command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt show libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_linux.png|center|400px|link=https://cdn.phidgets.com/docs/images/0/02/Networkserver_controlpanel_about_linux.png]]&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
On the Wireless VINT Hub (HUB5000), navigate to the web interface, select the &#039;&#039;&#039;Phidgets&#039;&#039;&#039; tab, and then select the &#039;&#039;&#039;View&#039;&#039;&#039; button.&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_hub5000_1.png|center|400px|link=Networkserver_controlpanel_about_hub5000_1.png]]&lt;br /&gt;
&lt;br /&gt;
You will now see the Phidget log. At the top of the file, you will see the library version:&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_hub5000_2.png|center|400px|link=Networkserver_controlpanel_about_hub5000_2.png]]&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC=&lt;br /&gt;
&lt;br /&gt;
On the PhidgetSBC, navigate to the web interface and select the &#039;&#039;&#039;Status &amp;gt; System&#039;&#039;&#039; tab.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_sbc.png|center|400px|link=Networkserver_controlpanel_about_sbc.png]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Client: Determining Version===&lt;br /&gt;
There are several ways to determine the version of the Phidget library used in your application. Below are some recommended methods.&lt;br /&gt;
====Phidget Logging====&lt;br /&gt;
If you have [[Phidget_Logging|Phidget Logging]] enabled in your application (recommended), you can view the library version that your project is using at the top of the log file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_phidgetlog_version.png|center|500px|link=Networkserver_phidgetlog_version.png]]&lt;br /&gt;
&lt;br /&gt;
====Phidget API====&lt;br /&gt;
The Phidget API makes it easy to verify the version of the Phidget libraries that your application is using. View the code samples below for more information. &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=&#039;python&#039;&amp;gt;&lt;br /&gt;
from Phidget22.Phidget import *&lt;br /&gt;
from Phidget22.Devices.VoltageInput import *&lt;br /&gt;
&lt;br /&gt;
libraryVersion = Phidget.getLibraryVersion()&lt;br /&gt;
print(&amp;quot;LibraryVersion: &amp;quot; + str(libraryVersion))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=&#039;Java&#039;&amp;gt;&lt;br /&gt;
import com.phidget22.*;&lt;br /&gt;
&lt;br /&gt;
class Example {&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		try {&lt;br /&gt;
			java.lang.String LibraryVersion = Phidget.getLibraryVersion();&lt;br /&gt;
		} catch (PhidgetException ex) {&lt;br /&gt;
			System.out.println(&amp;quot;Failure: &amp;quot; + ex);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=&#039;CSharp&#039;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using Phidget22;&lt;br /&gt;
&lt;br /&gt;
class Program {&lt;br /&gt;
	static void Main(string[] args) {&lt;br /&gt;
		try {&lt;br /&gt;
			string LibraryVersion = Phidget.LibraryVersion;&lt;br /&gt;
		} catch (PhidgetException ex) {&lt;br /&gt;
			Console.WriteLine(&amp;quot;Failure: &amp;quot; + ex.Message);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int main() {&lt;br /&gt;
	PhidgetReturnCode res;&lt;br /&gt;
	const char *libraryVersion;&lt;br /&gt;
&lt;br /&gt;
	res = Phidget_getLibraryVersion(&amp;amp;libraryVersion);&lt;br /&gt;
	if (res != EPHIDGET_OK)&lt;br /&gt;
		return 1; // Exit in error&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// NOTE: This shows importing phidget22 in Node.JS. In-Browser JavaScript import is different&lt;br /&gt;
const phidget22 = require(&amp;quot;phidget22&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
async function main() {&lt;br /&gt;
	const libraryVersion = Phidget.libraryVersion;&lt;br /&gt;
	console.log(&amp;quot;libraryVersion: &amp;quot; + libraryVersion);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
main();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Phidget Network Server Logging==&lt;br /&gt;
The host computer will generate a Phidget Network Server log file. Select the operating system of your host below for information about where this log file can be found.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
On Windows, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\ProgramData\Phidgets\logs\Phidget22NetworkServer_networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also navigate here by opening the Phidget Control Panel an selecting &#039;&#039;&#039;Help&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Open Logs Folder&#039;&#039;&#039;.&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
On macOS, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/Library/Logs/phidget22networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/var/log/phidget22networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
On the Wireless VINT Hub (HUB5000), open the web interface and navigate to the &#039;&#039;&#039;Phidgets&#039;&#039;&#039; tab. Select the  &#039;&#039;&#039;View&#039;&#039;&#039; button to view the log file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Networkserver_controlpanel_about_hub5000_1.png|center|400px|link=link=Networkserver_controlpanel_about_hub5000_1.png]]&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC4=&lt;br /&gt;
&lt;br /&gt;
On the PhidgetSBC4, the Phidget Network Server log file is located at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/var/log/phidget22networkserver.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Phidget Network Server Settings==&lt;br /&gt;
===Operating System===&lt;br /&gt;
There are a number of settings related to the Phidget Network Server. Select your operating system for more information about how to modify these settings.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
On Windows, you can adjust settings by opening the Phidget Control Panel and navigating to the &#039;&#039;&#039;Network Server&#039;&#039;&#039; tab. &lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
On macOS, you can adjust settings by opening the Phidget Control Panel and navigating to the &#039;&#039;&#039;Network Server&#039;&#039;&#039; tab. &lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, you can adjust settings by navigating to the network server configuration file located at &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
On the Wireless VINT Hub (HUB5000), you can adjust settings through the web interface by navigating to the &#039;&#039;&#039;Phidgets&#039;&#039;&#039; tab. &lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC=&lt;br /&gt;
&lt;br /&gt;
On the PhidgetSBC, you can adjust settings through the web interface by navigating to the Phidgets Tab and then the &#039;&#039;&#039;phidget22 Network Server&#039;&#039;&#039; tab.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic Settings===&lt;br /&gt;
====Startup Type====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting!! Description&lt;br /&gt;
|-&lt;br /&gt;
| Automatic || The Phidget Network Server will start automatically every time your machine boots.&lt;br /&gt;
|-&lt;br /&gt;
| Manual || The Phidget Network Server needs to be started manually. It will not restart when your machine boots. Another service may also start it when in Manual mode.&lt;br /&gt;
|-&lt;br /&gt;
| Disabled || The Phidget Network Server is disabled. This will disable all components, including the Phidget Server, the Webserver, and any Dictionaries. Other services will not be able to start it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Phidget Server====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting!! Description&lt;br /&gt;
|-&lt;br /&gt;
| Enabled || Enables the Phidget Server. When enabled, client computers on your network will be able to access Phidgets that are connected to your computer.&lt;br /&gt;
|-&lt;br /&gt;
| Publish || This will determine if the Phidget Server should publish itself to mDNS. If you plan to use the {{Code|EnableServerDiscovery}} method in your applications, you must publish your Phidget Server. Otherwise, this can be disabled.&lt;br /&gt;
|-&lt;br /&gt;
| Server Name || Specify the name of your server. A {{Code|setServerName}} method is available when [[Addressing_Phidgets|addressing your channels]]. If you plan to use the {{Code|EnableServerDiscovery}} method in your applications, the Server Name can be used to enable or disable servers. The default server name is the computer name (hostname on Linux machines, Wireless VINT Hub, and PhidgetSBC4). This means if you do not specify a server name, your server name may change if your change your computer name or hostname.&lt;br /&gt;
|-&lt;br /&gt;
| Port || Specify the Phidget server port. &#039;&#039;Defaults to 5661&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Password (optional) || This will determine if a password is required to access channels on the Phidget server.&lt;br /&gt;
|-&lt;br /&gt;
| Log Level|| When running, the Phidget Network Server will generate [[#Phidget Network Server Logging|logs]]. Use these options to configure the [[Phidget_Logging#Log_Levels|log level]]. Defaults to &#039;&#039;Info&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Webserver====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting!! Description&lt;br /&gt;
|-&lt;br /&gt;
| Enabled || Enables the web server. The web server enables connections from the in-browser JavaScript library and allows hosting of files.&lt;br /&gt;
|-&lt;br /&gt;
| Port || Specify the web server port. Defaults to &#039;&#039;8989&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Docroot|| Specify the location of your web server files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Dictionaries====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Enabled User Dictionaries || Enables user dictionaries. These are useful for sharing information between applications.&lt;br /&gt;
|-&lt;br /&gt;
| Enable Monitoring/control Dictionary || Enables a monitoring/control dictionary that provides information about incoming/outgoing traffic related to your Phidget Network Server.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For more information about dictionaries, view our [[Phidget_Dictionary|Phidget Dictionaries Guide]].&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
Advanced settings are available through a configuration file. Select the operating system of your host below for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Windows=&lt;br /&gt;
&lt;br /&gt;
For advanced settings, you can edit the configuration file directly by navigating to &#039;&#039;C:\ProgramData\Phidgets\phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
|-|&lt;br /&gt;
macOS=&lt;br /&gt;
&lt;br /&gt;
For advanced settings, you can edit the configuration file directly by navigating to &#039;&#039;/Library/Preferences/Phidget22NetworkServer/phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
|-|&lt;br /&gt;
Linux=&lt;br /&gt;
&lt;br /&gt;
On Linux, you can adjust settings by navigating to the network server configuration file located at &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
&lt;br /&gt;
You can also point the Phidget Network Server towards your own configuration file with the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
phidget22networkserver -c /path/to/configuration/file&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Wireless VINT Hub=&lt;br /&gt;
&lt;br /&gt;
Advanced settings are not available on the Wireless VINT Hub.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
PhidgetSBC=&lt;br /&gt;
&lt;br /&gt;
For advanced settings, you can edit the configuration file directly by navigating to &#039;&#039;/etc/phidgets/phidget22networkserver.pc&#039;&#039;. Refer to the Phidget Network Server Linux [[Media:PHIDGETNETWORKSERVER_README.txt| README]] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34937</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34937"/>
		<updated>2024-12-20T22:44:51Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;macOS 10.11 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To get started, install our libraries.&lt;br /&gt;
&lt;br /&gt;
===Quick Downloads===&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To begin, select which version of our installer to use:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer]&lt;br /&gt;
** &#039;&#039;&#039;Recommended for most users.&#039;&#039;&#039;&lt;br /&gt;
** Installs Phidget development libraries globally for use in C, Java or Max.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone]&lt;br /&gt;
** &#039;&#039;&#039;Optional&#039;&#039;&#039; for simpler setups (requires macOS 10.15 or newer).&lt;br /&gt;
** Self contained Application; no installer.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
&lt;br /&gt;
Open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using macOS 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|800px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
===Development Files===&lt;br /&gt;
If you&#039;re a developer and want to bundle the Phidget libraries with your application for distribution, download the [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]. See the included README for more details.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Software License===&lt;br /&gt;
By downloading the macOS installer you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement].  The Phidget libraries and development files are covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34936</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34936"/>
		<updated>2024-12-20T22:26:03Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;macOS 10.11 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To get started, install our libraries.&lt;br /&gt;
&lt;br /&gt;
===Quick Downloads===&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To begin, select which version of our installer to use:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer]&lt;br /&gt;
** &#039;&#039;&#039;Recommended for most users.&#039;&#039;&#039;&lt;br /&gt;
** Installs Phidget development libraries globally for use in C, Java or Max.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone]&lt;br /&gt;
** &#039;&#039;&#039;Optional&#039;&#039;&#039; for simpler setups (requires macOS 10.15 or newer).&lt;br /&gt;
** Self contained Application; no installer.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
&lt;br /&gt;
Open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using macOS 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|800px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
===Development Files===&lt;br /&gt;
If you&#039;re a developer and want to bundle the Phidget libraries with your application for distribution, download the [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]. See the included README for more details.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Software License===&lt;br /&gt;
By downloading the macOS Framework you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement].  The C API section of Phidget22 is covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License]. The source code of C API can be found [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22.tar.gz here].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34935</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34935"/>
		<updated>2024-12-20T22:07:59Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
Phidget22 is supported on &#039;&#039;&#039;macOS 10.11 and newer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To get started, install our libraries.&lt;br /&gt;
&lt;br /&gt;
===Quick Downloads===&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]&lt;br /&gt;
&lt;br /&gt;
===For Developers===&lt;br /&gt;
If you&#039;re a developer and want to bundle the Phidget libraries with your application, or if you want to program against our drivers, download the [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip macOS Development Files]. See the included README for more details.&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To begin, select which version of our installer to use:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer]&lt;br /&gt;
** &#039;&#039;&#039;Recommended for most users.&#039;&#039;&#039;&lt;br /&gt;
** Installs Phidget development libraries globally for use in C, Java or Max.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone]&lt;br /&gt;
** &#039;&#039;&#039;Optional&#039;&#039;&#039; for simpler setups (requires macOS 10.15 or newer).&lt;br /&gt;
** Self contained Application; no installer.&lt;br /&gt;
** Includes the Phidget Control Panel and the Phidget Network Server.&lt;br /&gt;
&lt;br /&gt;
Next, open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using macOS 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|800px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced Information==&lt;br /&gt;
&lt;br /&gt;
===Installed Files===&lt;br /&gt;
These files were placed onto your system as part of the installation process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Phidget22.framework||contains our library, which is used at run-time.||/Library/Frameworks&lt;br /&gt;
|-&lt;br /&gt;
|Phidget.kext||kernel extension.||/Library/Extensions&lt;br /&gt;
|-&lt;br /&gt;
|phidgetnetworkserver22||Phidget Network Server||/usr/local/bin&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Software License===&lt;br /&gt;
By downloading the macOS Framework you agree to adhere to the terms of the [{{SERVER}}/documentation/Licenses/Phidgets_EULA.pdf Phidgets End User License Agreement].  The C API section of Phidget22 is covered by the [https://opensource.org/licenses/BSD-3-Clause The 3-Clause BSD License]. The source code of C API can be found [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22.tar.gz here].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Addressing_Phidgets&amp;diff=34764</id>
		<title>Addressing Phidgets</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Addressing_Phidgets&amp;diff=34764"/>
		<updated>2024-12-03T23:00:42Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Programming]]{{Recommended_Flow_Links|{{Flow Page Number|{{PAGENAME}} }} }}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Before opening a Phidget channel, it is important to set enough of the addressing properties to ensure your program attaches to the right Phidgets. Keep reading for an overview of the parameters available to you. &lt;br /&gt;
&lt;br /&gt;
The following video summarizes the basics of how to address the proper channel in your code:&lt;br /&gt;
&amp;lt;center&amp;gt;{{#ev:youtube|HUswzM-DQHg|||||rel=0}}&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intro to Addressing Phidgets==&lt;br /&gt;
&lt;br /&gt;
When opening a channel, the Phidget library will attach it to the first available physical channel that matches all given addressing parameters. If no addressing parameters are specified, the first available channel of the correct class will be attached. This works well for single Phidgets, but will give undefined results when two similar Phidgets are plugged in to the same computer.&lt;br /&gt;
&lt;br /&gt;
For this reason, it is important to specify enough addressing information to make sure your program attaches to the right Phidget.&lt;br /&gt;
&lt;br /&gt;
A good practice is to always specify at least the device serial number and the channel number of the channel on the Phidget that should be attached to the software channel.  Even when not strictly necessary, setting as many addressing properties as possible can ensure that code will not break in the future.&lt;br /&gt;
&lt;br /&gt;
==Addressing Properties==&lt;br /&gt;
&lt;br /&gt;
Now we will outline the available addressing properties available to you, and describe what they are. You may specify as many, or as few as is necessary for your application.&lt;br /&gt;
&lt;br /&gt;
*[[#Channel Class|Channel Class]]&lt;br /&gt;
*[[#Channel Number|Channel Number]]&lt;br /&gt;
*[[#Hub Port|Hub Port]]&lt;br /&gt;
*[[#&amp;quot;Is Hub Port Device&amp;quot;|&amp;quot;Is Hub Port Device&amp;quot;]]&lt;br /&gt;
*[[#Serial Number|Serial Number]]&lt;br /&gt;
*[[#Label|Label]]&lt;br /&gt;
&lt;br /&gt;
===Channel Class===&lt;br /&gt;
[[Image:ChannelClass.jpg|150px|right|thumb|The Phidget&#039;s channel classes highlighted in yellow.|link=]]&lt;br /&gt;
Each channel exported by a Phidget device has channel class. The channel class describes the type of Phidget being used, and must be known to start interacting with the Phidget. A Phidget can have multiple channels, and they may even have different channel classes, like the example shown in the image to the right. You can find which channel classes are used with your Phidget by finding them listed on the enclosure, or on the &#039;&#039;&#039;API&#039;&#039;&#039; tab of the product&#039;s page.&lt;br /&gt;
&lt;br /&gt;
The {{Code|channelClass}} property is implied by the handle and API you use to communicate with the Phidget. For instance a DigitalOutput channel has a channel class of DigitalOutput, and a HumiditySensor channel has a channel class of HumiditySensor. &lt;br /&gt;
&lt;br /&gt;
Get the &#039;&#039;&#039;channel class&#039;&#039;&#039; with the {{Code|ChannelClass}} property. It&#039;s often useful for [[Using Multiple Phidgets#Distinguishing Events|distinguishing which Phidget channel]] called a shared Attach, Detach, or Error Event Handler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Channel Number===&lt;br /&gt;
[[Image:ChannelID.jpg|150px|right|thumb|Channel numbers highlighted in yellow.|link=]]&lt;br /&gt;
Each channel on a Phidget device has a channel number, normally starting at 0. The channel number will allow you to distinguish between multiple channels on a single device. If the Phidget has more than one channel class, the numbering starts back at zero for each class. For example, the [{{SERVER}}/?prodid=962 Thumbstick Phidget] has two VoltageRatioInput channels (0 and 1), and a single DigitalInput channel (0).&lt;br /&gt;
&lt;br /&gt;
The {{Code|channel}} property must be set to ensure the physical channel the Phidget software library attaches to is right one.  If the {{Code|channel}} property is not specified, the library will attach to channel 0 if available, or the next available channel if not.&lt;br /&gt;
&lt;br /&gt;
Set the &#039;&#039;&#039;channel number&#039;&#039;&#039; with the {{Code|Channel}} property.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hub Port===&lt;br /&gt;
[[File:Vint_hub_port.jpg|150px|right|thumb|Numbered ports on a VINT Hub.|link=]]&lt;br /&gt;
{{CT|VINTHub|VINT hubs}} have a number of ports that VINT devices can be connected to. To ensure the correct VINT device is attached, the hub port must be specified.  If two temperature sensors are attached to the same hub, and the hub port is not specified prior to opening a {{Code|TemperatureSensor}} channel, there is no way to know which temperature sensor will be attached.&lt;br /&gt;
&lt;br /&gt;
Set the &#039;&#039;&#039;hub port&#039;&#039;&#039; with the {{Code|HubPort}} property.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
===&amp;quot;Is Hub Port Device&amp;quot;===&lt;br /&gt;
[[File:IsHubPortDevice.jpg|250px|right|thumb|Examples of devices that would require IsHubPortDevice to be true.|link={{SERVER}}/docs/images/d/d8/IsHubPortDevice.jpg]]&lt;br /&gt;
VINT ports have the ability to be used with analog sensors as well as with intelligent VINT Phidgets. If you are trying to use a simple device such as a slider, a 0-5V sensor, a switch, or an LED with the VINT port directly, you will want to set this property to {{Code|TRUE}}. Otherwise this should be left as default or set to {{Code|FALSE}}.&lt;br /&gt;
&lt;br /&gt;
Set &#039;&#039;&#039;is hub port device&#039;&#039;&#039; with the {{Code|IsHubPortDevice}} property.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
===Serial Number===&lt;br /&gt;
[[File:SerialNumber.jpg|150px|right|thumb|The serial number on the underside of a Phidget.|link=]]&lt;br /&gt;
Each Phidget has a unique serial number (VINT devices inherit the serial number of the hub they&#039;re connected to). When you use more than one device with the same channel class, the device serial number must be specified to ensure the channel on the desired device is matched.  The device serial number can be found on a label on the underside of the Phidget, or determined by reading the {{Code|DeviceSerialNumber}} property.&lt;br /&gt;
&lt;br /&gt;
Set the &#039;&#039;&#039;device serial number&#039;&#039;&#039; with the {{Code|DeviceSerialNumber}} property.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
===Label===&lt;br /&gt;
&lt;br /&gt;
If you want to have a human-readable way to reference your Phidget instead of an arbitrary serial number, you can use the Label feature of Phidgets. You can call the {{Code|WriteLabel}} method to permanently store the desired label in the Phidget&#039;s onboard flash. From then on, you can set the {{Code|DeviceLabel}} property of a channel before opening it.&lt;br /&gt;
&lt;br /&gt;
There are some limitations that will determine if you can use Labels in your project:&lt;br /&gt;
&lt;br /&gt;
* You can only write labels to Phidgets that have serial numbers.&lt;br /&gt;
* In [[OS - Windows|Windows]], any label can be read, but label can only be written for newer Phidgets that support firmware upgrading.&lt;br /&gt;
* Some programming languages do not support writing to labels. See the Phidget22 API to see if it&#039;s supported in your language.&lt;br /&gt;
&lt;br /&gt;
If you have a VINT Hub that has a label written to it, you can use the same label to address any device connected to that hub. See the [[HUB0000_User_Guide|User Guide]] for more information on using labels with the VINT Hub.&lt;br /&gt;
&lt;br /&gt;
Note: You should be careful when writing labels to your Phidgets in your code, because the label is stored in flash which can only be re-written around 10,000 times before it will no longer write. If your program is complex, be sure to test it thoroughly before using {{Code|WriteLabel}} to avoid accidentally burning out the flash.&lt;br /&gt;
&lt;br /&gt;
==Finding the Addressing Information==&lt;br /&gt;
&lt;br /&gt;
If you are ever unsure what the addressing parameters are for a given Phidget channel, the addressing parameters can be found using the &#039;&#039;&#039;Phidget Control Panel&#039;&#039;&#039; by clicking the button at the top of the Control Panel example for that Phidget.&lt;br /&gt;
[[Image:AddressingButton.png|center|link=|The locate Phidget button is found in the device information box]]&lt;br /&gt;
&lt;br /&gt;
In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the &#039;&#039;Channel Class&#039;&#039; field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.&lt;br /&gt;
[[Image:AddressInfo.png|center|link=|All the information you need to address your Phidget]]&lt;br /&gt;
&lt;br /&gt;
==Code Samples==&lt;br /&gt;
&lt;br /&gt;
Here are some examples of how to address Phidgets:&lt;br /&gt;
&lt;br /&gt;
==== Opening a Channel on a USB Phidget ====&lt;br /&gt;
&lt;br /&gt;
[[Image:channel-matching-1.jpg|link=|500px|center]]&lt;br /&gt;
&lt;br /&gt;
In this example, a [{{SERVER}}/products.php?product_id=1018 1018 PhidgetInterfaceKit 8/8/8] is connected to a computer. A [{{SERVER}}/products.php?product_id=1108 1108 Magnetic Sensor] is connected to analog port 3 on the 1018. Here&#039;s how you would open the channel for the magnetic sensor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
ch = VoltageRatioInput()&lt;br /&gt;
ch.setDeviceSerialNumber(324781)&lt;br /&gt;
ch.setChannel(3)&lt;br /&gt;
ch.openWaitForAttachment(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
VoltageRatioInput ch = new VoltageRatioInput();&lt;br /&gt;
ch.setDeviceSerialNumber(324781);&lt;br /&gt;
ch.setChannel(3);&lt;br /&gt;
ch.open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
VoltageRatioInput ch = new VoltageRatioInput();&lt;br /&gt;
ch.DeviceSerialNumber = 324781;&lt;br /&gt;
ch.Channel = 3;&lt;br /&gt;
ch.Open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetVoltageRatioInputHandle ch;&lt;br /&gt;
PhidgetVoltageRatioInput_create(&amp;amp;ch);&lt;br /&gt;
&lt;br /&gt;
Phidget_setDeviceSerialNumber((PhidgetHandle)ch, 324781);&lt;br /&gt;
Phidget_setChannel((PhidgetHandle)ch, 3);&lt;br /&gt;
Phdiget_openWaitForAttachment((PhidgetHandle)ch, 5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const ch = new phidget22.VoltageRatioInput()&lt;br /&gt;
ch.deviceSerialNumber = 324781&lt;br /&gt;
ch.channel = 3&lt;br /&gt;
await ch.open(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted to open digital input 5 in the same example, it would look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
ch = DigitalInput()&lt;br /&gt;
ch.setDeviceSerialNumber(324781)&lt;br /&gt;
ch.setChannel(5)&lt;br /&gt;
ch.openWaitForAttachment(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
DigitalInput ch = new DigitalInput();&lt;br /&gt;
ch.setDeviceSerialNumber(324781);&lt;br /&gt;
ch.setChannel(5);&lt;br /&gt;
ch.open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
DigitalInput ch = new DigitalInput();&lt;br /&gt;
ch.DeviceSerialNumber = 324781;&lt;br /&gt;
ch.Channel = 5;&lt;br /&gt;
ch.Open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetDigitalInputHandle ch;&lt;br /&gt;
PhidgetDigitalInput_create(&amp;amp;ch);&lt;br /&gt;
&lt;br /&gt;
Phidget_setDeviceSerialNumber((PhidgetHandle)ch, 324781);&lt;br /&gt;
Phidget_setChannel((PhidgetHandle)ch, 5);&lt;br /&gt;
Phdiget_openWaitForAttachment((PhidgetHandle)ch, 5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const ch = new phidget22.DigitalInput()&lt;br /&gt;
ch.deviceSerialNumber = 324781&lt;br /&gt;
ch.channel = 5&lt;br /&gt;
await ch.open(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Opening a Channel on a VINT Device ====&lt;br /&gt;
&lt;br /&gt;
In this example, we have a [{{SERVER}}/products.php?product_id=TMP1101 TMP1101 4x Thermocouple Phidget] and a [{{SERVER}}/products.php?product_id=HUB0000 HUB0000 VINT Hub].&lt;br /&gt;
&lt;br /&gt;
[[Image:channel-matching-3.jpg|link=|500px|center]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s say we want to open both the thermocouple connected to port 0 and the integrated temperature sensor on the board. We first need to figure out which channels those are. You can find this information on the [{{SERVER}}/products.php?product_id=TMP1101 product page for the TMP1101] and click on the API tab. From the table at the top of the tab, we can see that the integrated temperature sensor is TemperatureSensor channel 4. Opening these channels would look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
tc = TemperatureSensor() # Handle for the thermocouple&lt;br /&gt;
ic = TemperatureSensor() # Handle for the integrated temperature chip&lt;br /&gt;
&lt;br /&gt;
tc.setDeviceSerialNumber(370181)&lt;br /&gt;
ic.setDeviceSerialNumber(370181)&lt;br /&gt;
tc.setHubPort(2)&lt;br /&gt;
ic.setHubPort(2)&lt;br /&gt;
tc.setChannel(0)&lt;br /&gt;
ic.setChannel(4)&lt;br /&gt;
&lt;br /&gt;
tc.openWaitForAttachment(5000)&lt;br /&gt;
ic.openWaitForAttachment(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
TemperatureSensor tc = new TemperatureSensor(); // Handle for the thermocouple&lt;br /&gt;
TemperatureSensor ic = new TemperatureSensor(); // Handle for the integrated temperature chip&lt;br /&gt;
&lt;br /&gt;
tc.setDeviceSerialNumber(370181);&lt;br /&gt;
ic.setDeviceSerialNumber(370181);&lt;br /&gt;
tc.setHubPort(2);&lt;br /&gt;
ic.setHubPort(2);&lt;br /&gt;
tc.setChannel(0);&lt;br /&gt;
ic.setChannel(4);&lt;br /&gt;
&lt;br /&gt;
tc.open(5000);&lt;br /&gt;
ic.open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
TemperatureSensor tc = new TemperatureSensor(); // Handle for the thermocouple&lt;br /&gt;
TemperatureSensor ic = new TemperatureSensor(); // Handle for the integrated temperature chip&lt;br /&gt;
&lt;br /&gt;
tc.DeviceSerialNumber = 370181;&lt;br /&gt;
ic.DeviceSerialNumber = 370181;&lt;br /&gt;
tc.HubPort = 2;&lt;br /&gt;
ic.HubPort = 2;&lt;br /&gt;
tc.Channel = 0;&lt;br /&gt;
ic.Channel = 4;&lt;br /&gt;
&lt;br /&gt;
tc.Open(5000);&lt;br /&gt;
ic.Open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetTemperatureSensorHandle tc; // Handle for the thermocouple&lt;br /&gt;
PhidgetTemperatureSensorHandle ic; // Handle for the integrated temperature chip&lt;br /&gt;
PhidgetTemperatureSensor_create(&amp;amp;tc);&lt;br /&gt;
PhidgetTemperatureSensor_create(&amp;amp;ic);&lt;br /&gt;
&lt;br /&gt;
Phidget_setDeviceSerialNumber((PhidgetHandle)tc, 370181);&lt;br /&gt;
Phidget_setDeviceSerialNumber((PhidgetHandle)ic, 370181);&lt;br /&gt;
Phidget_setHubPort((PhidgetHandle)tc, 2);&lt;br /&gt;
Phidget_setHubPort((PhidgetHandle)ic, 2);&lt;br /&gt;
Phidget_setChannel((PhidgetHandle)tc, 0);&lt;br /&gt;
Phidget_setChannel((PhidgetHandle)ic, 4);&lt;br /&gt;
&lt;br /&gt;
Phidget_openWaitForAttachment((PhidgetHandle)tc, 5000);&lt;br /&gt;
Phidget_openWaitForAttachment((PhidgetHandle)ic, 5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const tc = new phidget22.TemperatureSensor() // Handle for the thermocouple&lt;br /&gt;
const ic = new phidget22.TemperatureSensor() // Handle for the integrated temperature chip&lt;br /&gt;
&lt;br /&gt;
tc.deviceSerialNumber = 370181&lt;br /&gt;
ic.deviceSerialNumber = 370181&lt;br /&gt;
tc.hubPort = 2&lt;br /&gt;
ic.hubPort = 2&lt;br /&gt;
tc.channel = 0&lt;br /&gt;
ic.channel = 4&lt;br /&gt;
&lt;br /&gt;
await tc.open(5000)&lt;br /&gt;
await ic.open(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Opening a VINT Hub Port as a Channel ====&lt;br /&gt;
&lt;br /&gt;
The ports on a [[What is VINT?|VINT]] Hub can be opened as Digital Inputs, Digital Outputs, Voltage Inputs, or Voltage Ratio Inputs. Suppose you had a [{{SERVER}}/products.php?product_id=HUB0000 HUB0000 VINT Hub] with a &#039;&#039;Ratiometric&#039;&#039; sensor connected to its fourth port. &lt;br /&gt;
&lt;br /&gt;
[[Image:channel-matching-2.jpg|link=|500px|center]]&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how you would open it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
ch = VoltageRatioInput()&lt;br /&gt;
ch.setDeviceSerialNumber(370181)&lt;br /&gt;
ch.setIsHubPortDevice(True)&lt;br /&gt;
ch.setHubPort(4)&lt;br /&gt;
ch.openWaitForAttachment(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
VoltageRatioInput ch = new VoltageRatioInput();&lt;br /&gt;
ch.setDeviceSerialNumber(370181);&lt;br /&gt;
ch.setIsHubPortDevice(true);&lt;br /&gt;
ch.setHubPort(4);&lt;br /&gt;
ch.open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
VoltageRatioInput ch = new VoltageRatioInput();&lt;br /&gt;
ch.DeviceSerialNumber = 370181;&lt;br /&gt;
ch.IsHubPortDevice = true;&lt;br /&gt;
ch.HubPort = 4;&lt;br /&gt;
ch.Open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetVoltageRatioInputHandle ch;&lt;br /&gt;
PhidgetVoltageRatioInput_create(&amp;amp;ch);&lt;br /&gt;
&lt;br /&gt;
Phidget_setDeviceSerialNumber((PhidgetHandle)ch, 370181);&lt;br /&gt;
Phidget_setIsHubPortDevice((PhidgetHandle)ch, 1);&lt;br /&gt;
Phidget_setHubPort((PhidgetHandle)ch, 4);&lt;br /&gt;
Phdiget_openWaitForAttachment((PhidgetHandle)ch, 5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
JavaScript=&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const ch = new phidget22.VoltageRatioInput()&lt;br /&gt;
ch.deviceSerialNumber = 370181&lt;br /&gt;
ch.isHubPortDevice = true&lt;br /&gt;
ch.hubPort = 4&lt;br /&gt;
await ch.open(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Opening a Channel on a Remote Phidget ====&lt;br /&gt;
&lt;br /&gt;
Suppose you wanted to open a locally connected Phidget remotely over the Network Service, so that you could have multiple programs connecting to it at the same time. In this example, we have a [{{SERVER}}/products.php?product_id=1024 1024 PhidgetRFID] connected to a computer that has the Phidget Network Server enabled.&lt;br /&gt;
&lt;br /&gt;
[[Image:channel-matching-4.jpg|link=|600px|center]]&lt;br /&gt;
&lt;br /&gt;
You could open the RFID reader channel remotely with the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Python=&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
ch = new RFID();&lt;br /&gt;
&lt;br /&gt;
#Enable connecting to the Phidget Network Server&lt;br /&gt;
Net.enableServerDiscovery(PhidgetServerType.PHIDGETSERVER_DEVICEREMOTE)&lt;br /&gt;
&lt;br /&gt;
ch.setDeviceSerialNumber(388624);&lt;br /&gt;
ch.setIsRemote(True);&lt;br /&gt;
ch.openWaitForAttachment(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Java=&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
RFID ch = new RFID();&lt;br /&gt;
&lt;br /&gt;
//Enable connecting to the Phidget Network Server&lt;br /&gt;
Net.enableServerDiscovery(ServerType.DEVICE_REMOTE);&lt;br /&gt;
&lt;br /&gt;
ch.setDeviceSerialNumber(388624);&lt;br /&gt;
ch.setIsRemote(true);&lt;br /&gt;
ch.open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C#=&amp;lt;syntaxhighlight lang=cSharp&amp;gt;&lt;br /&gt;
RFID ch = new RFID();&lt;br /&gt;
&lt;br /&gt;
//Enable connecting to the Phidget Network Server&lt;br /&gt;
Net.EnableServerDiscovery(ServerType.DeviceRemote);&lt;br /&gt;
&lt;br /&gt;
ch.DeviceSerialNumber = 388624;&lt;br /&gt;
ch.IsRemote = true;&lt;br /&gt;
ch.Open(5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
C=&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
PhidgetRFIDHandle ch;&lt;br /&gt;
PhidgetRFID_create(&amp;amp;ch)&lt;br /&gt;
&lt;br /&gt;
//Enable connecting to the Phidget Network Server&lt;br /&gt;
PhidgetNet_enableServerDiscovery(PHIDGETSERVER_DEVICEREMOTE);&lt;br /&gt;
&lt;br /&gt;
Phidget_setDeviceSerialNumber((PhidgetHandle)ch, 388624);&lt;br /&gt;
Phidget_setIsRemote((PhidgetHandle)ch, 1);&lt;br /&gt;
Phidget_open((PhidgetHandle)ch, 5000);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
JavaScript=&lt;br /&gt;
In Javascript, all Phidgets are opened remotely if the &#039;&#039;&#039;NetworkConnection&#039;&#039;&#039; object is used. Once you&#039;ve connected in this way, all channels are opened over the network. If you want to open locally via USB, you need to use the &#039;&#039;&#039;USBConnection&#039;&#039;&#039; object instead (this is only supported for VINT devices).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
const conn = new phidget22.NetworkConnection(5661, &#039;localhost&#039;)&lt;br /&gt;
await conn.connect()&lt;br /&gt;
&lt;br /&gt;
const ch = new phidget22.RFID()&lt;br /&gt;
ch.deviceSerialNumber = 388624&lt;br /&gt;
await ch.open(5000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Flow Navigation Buttons|{{Flow Page Number|{{PAGENAME}} }} }}&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34367</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34367"/>
		<updated>2024-05-14T17:12:15Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
{{NoticeBox|Note to macOS 11+ Users:|If you&#039;re having issues with the regular installer, try installing and running the [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone Control Panel], which uses a driver extension instead of a kernel extension.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:middle; width: 60%;&amp;quot;|&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
If you are ready to go, the first step in creating macOS applications with Phidgets is installing our libraries.&lt;br /&gt;
|{{TOC limit|3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To install our libraries, download the installer for your system:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
&lt;br /&gt;
Before installing our libraries, be sure to read our [[Software License]]. If you need to access older versions of the drivers, [https://www.phidgets.com/downloads/phidget22/libraries/macos/ click here].&lt;br /&gt;
&lt;br /&gt;
Next, open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|900px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced Information==&lt;br /&gt;
&lt;br /&gt;
===Installed Files===&lt;br /&gt;
These files were placed onto your system as part of the installation process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Phidget22.framework||contains our library, which is used at run-time.||/Library/Frameworks&lt;br /&gt;
|-&lt;br /&gt;
|Phidget.kext||kernel extension.||/Library/Extensions&lt;br /&gt;
|-&lt;br /&gt;
|phidgetnetworkserver22||Phidget Network Server||/usr/local/bin&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Developer Tools===&lt;br /&gt;
If you&#039;re a software developer and want to be able to bundle Phidgets with your application, you&#039;ll need our developer tools:&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip Phidgets macOS Developer Tools]&lt;br /&gt;
&lt;br /&gt;
You can also use the tools in this package to do a custom minimal install. &lt;br /&gt;
&lt;br /&gt;
Please see the included README file for details on how to use these tools.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Standalone Control Panel===&lt;br /&gt;
If you just want to install the [[Phidget_Control_Panel#macOS|Phidget Control Panel]] without the rest of our libraries (requires macOS 10.15 and newer):&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg macOS Standalone Control Panel]&lt;br /&gt;
&lt;br /&gt;
If you intend to write code that uses Phidgets, you should use the main installer mentioned at the beginning of this guide.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34366</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34366"/>
		<updated>2024-05-14T17:11:33Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
{{NoticeBox|Note to macOS 11+ Users:|If you&#039;re having issues with the regular installer, try installing and running the [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone Control Panel], which uses a driver extension instead of a kernel extension.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:middle; width: 60%;&amp;quot;|&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
If you are ready to go, the first step in creating macOS applications with Phidgets is installing our libraries.&lt;br /&gt;
|{{TOC limit|3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To install our libraries, download the installer for your system:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
&lt;br /&gt;
Before installing our libraries, be sure to read our [[Software License]]. If you need to access older versions of the drivers, [https://www.phidgets.com/downloads/phidget22/libraries/macos/ click here].&lt;br /&gt;
&lt;br /&gt;
Next, open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|900px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced Information==&lt;br /&gt;
&lt;br /&gt;
===Installed Files===&lt;br /&gt;
These files were placed onto your system as part of the installation process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Phidget22.framework||contains our library, which is used at run-time.||/Library/Frameworks&lt;br /&gt;
|-&lt;br /&gt;
|Phidget.kext||kernel extension.||/Library/Extensions&lt;br /&gt;
|-&lt;br /&gt;
|phidgetnetworkserver22||Phidget Network Server||/usr/local/bin&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Developer Tools===&lt;br /&gt;
If you&#039;re a software developer and want to be able to bundle Phidgets with your application, you&#039;ll need our developer tools:&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip Phidgets MacOS Developer Tools]&lt;br /&gt;
&lt;br /&gt;
You can also use the tools in this package to do a custom minimal install. &lt;br /&gt;
&lt;br /&gt;
Please see the included README file for details on how to use these tools.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Standalone Control Panel===&lt;br /&gt;
If you just want to install the [[Phidget_Control_Panel#macOS|Phidget Control Panel]] without the rest of our libraries (requires macOS 10.15 and newer):&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg MacOS Standalone Control Panel]&lt;br /&gt;
&lt;br /&gt;
If you intend to write code that uses Phidgets, you should use the main installer mentioned at the beginning of this guide.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34365</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34365"/>
		<updated>2024-05-14T17:08:17Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
{{NoticeBox|Note to macOS 11 Users:|If you&#039;re having issues with the regular installer, try installing and running the [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone Control Panel], which uses a driver extension instead of a kernel extension.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:middle; width: 60%;&amp;quot;|&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
If you are ready to go, the first step in creating macOS applications with Phidgets is installing our libraries.&lt;br /&gt;
|{{TOC limit|3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To install our libraries, download the installer for your system:&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]&lt;br /&gt;
&lt;br /&gt;
Before installing our libraries, be sure to read our [[Software License]]. If you need to access older versions of the drivers, [https://www.phidgets.com/downloads/phidget22/libraries/macos/ click here].&lt;br /&gt;
&lt;br /&gt;
Next, open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|900px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced Information==&lt;br /&gt;
&lt;br /&gt;
===Installed Files===&lt;br /&gt;
These files were placed onto your system as part of the installation process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Phidget22.framework||contains our library, which is used at run-time.||/Library/Frameworks&lt;br /&gt;
|-&lt;br /&gt;
|Phidget.kext||kernel extension.||/Library/Extensions&lt;br /&gt;
|-&lt;br /&gt;
|phidgetnetworkserver22||Phidget Network Server||/usr/local/bin&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Developer Tools===&lt;br /&gt;
If you&#039;re a software developer and want to be able to bundle Phidgets with your application, you&#039;ll need our developer tools:&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip Phidgets MacOS Developer Tools]&lt;br /&gt;
&lt;br /&gt;
You can also use the tools in this package to do a custom minimal install. &lt;br /&gt;
&lt;br /&gt;
Please see the included README file for details on how to use these tools.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Standalone Control Panel===&lt;br /&gt;
If you just want to install the [[Phidget_Control_Panel#macOS|Phidget Control Panel]] without the rest of our libraries, you can get this driver extension (requires macOS 10.15 and newer):&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg MacOS Standalone Control Panel]&lt;br /&gt;
&lt;br /&gt;
If you intend to write code that uses Phidgets, you should use the main installer mentioned at the beginning of this guide.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Operating_System_Support&amp;diff=34364</id>
		<title>Operating System Support</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Operating_System_Support&amp;diff=34364"/>
		<updated>2024-05-14T17:06:57Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Overview]]&lt;br /&gt;
We provide support for all major operating systems. Select your operating system from the table below and follow the &#039;&#039;Getting Started&#039;&#039; guide in order to set up your machine. If you need to access non-current versions of our drivers you can find them [{{SERVER}}/downloads/phidget22/libraries/ here]. You can find the driver changelog [{{SERVER}}/?view=changelog here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;OSTableFull&amp;quot;&amp;gt;&lt;br /&gt;
== Desktop OS ==&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Windows.png|alt=OS - Windows|link=OS - Windows|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Mac-OS.png|alt=OS - macOS|link=OS - macOS|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Linux.png|alt=OS - Linux|link=OS - Linux|150px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Windows|Windows]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - macOS|macOS]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Linux|Linux]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (Windows 8 or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (OS X 10.11 or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (Kernel 2.6 or Newer)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mobile/Wireless OS ==&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Android.png|alt=OS - Android|link=OS_-_Android|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-iOS.png|alt=OS - iOS|link=OS - iOS|150px]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Phidgets.png|alt=OS - Phidget SBC|link=OS - Phidget SBC|150px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Android|Android]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - iOS|iOS]]&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| [[OS - Phidget SBC|Phidget SBC]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (4.1 Jellybean or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (8.0 or Newer)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;| (All versions supported)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;OSTableSmall&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop OSes&#039;&#039;&#039;&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Windows.png|alt=OS - Windows|link=OS - Windows|30px]]||[[OS - Windows|Windows]]||(Windows 8 or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Mac-OS.png|alt=OS - macOS|link=OS - macOS|30px]]||[[OS - macOS|MacOS]]||(OS X 10.5 or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Linux.png|alt=OS - Linux|link=OS - Linux|30px]]||[[OS - Linux|Linux]]||(Kernel 2.6 or Newer)&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Mobile/Wireless OSes&#039;&#039;&#039;&lt;br /&gt;
{|class=&amp;quot;table-no-border&amp;quot;&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Android.png|alt=OS - Android|link=OS_-_Android|30px]]||[[OS - Android|Android]]||(4.1 Jellybean or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-iOS.png|alt=OS - iOS|link=OS - iOS|30px]]||[[OS - iOS|iOS]]||(8.0 or Newer)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot;|[[Image:Logo-Phidgets.png|alt=OS - Phidget SBC|link=OS - Phidget SBC|30px]]||[[OS - Phidget SBC|Phidget SBC]]||(All versions supported)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34363</id>
		<title>OS - macOS</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_macOS&amp;diff=34363"/>
		<updated>2024-05-14T17:05:50Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OS]]&lt;br /&gt;
&lt;br /&gt;
{{NoticeBox|Note to macOS 11 Users:|If you&#039;re having issues with the regular installer, try installing and running the [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg Standalone Control Panel], which uses a driver extension instead of a kernel extension.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:middle; width: 60%;&amp;quot;|&lt;br /&gt;
==Getting Started with macOS==&lt;br /&gt;
Welcome to using Phidgets with macOS! &lt;br /&gt;
&lt;br /&gt;
If you are ready to go, the first step in creating macOS applications with Phidgets is installing our libraries.&lt;br /&gt;
|{{TOC limit|3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Install===&lt;br /&gt;
To install our libraries, download the installer for your system:&lt;br /&gt;
*OS X 10.11+: [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22.dmg Installer Download]&lt;br /&gt;
&lt;br /&gt;
Before installing our libraries, be sure to read our [[Software License]]. If you need to access older versions of the drivers, [https://www.phidgets.com/downloads/phidget22/libraries/macos/ click here].&lt;br /&gt;
&lt;br /&gt;
Next, open up the installer, and double click on &#039;&#039;Phidgets.pkg&#039;&#039; to install the libraries:&lt;br /&gt;
[[File:OSX Install 1.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
When prompted, continue with the installation:&lt;br /&gt;
[[File:OSX Install 2.png|link=|alt=macOS Install|center]]&lt;br /&gt;
&lt;br /&gt;
If you are using OS X 10.13 or newer you will also need to give explicit permission for the driver to function.  You can read about this here[https://developer.apple.com/library/content/technotes/tn2459/_index.html].&lt;br /&gt;
&lt;br /&gt;
The Phidgets libraries are now installed on your machine. Next, let&#039;s verify that the Phidget libraries are working properly.&lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Finder and navigate to the Phidget Control Panel in the Applications list:&lt;br /&gt;
[[File:OSX Finder Apps.png|link=|900px|alt=macOS Finder Apps|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:OSX ControlPanel General.png|600px|link=|alt=macOS Control Panel General|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the arrow 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.&lt;br /&gt;
[[File:OSX Control Panel Channel.png ‎|link=|alt=macOS Control Panel Channel|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Phidget Control Panel can be used for testing devices, updating firmware, enabling a network server, and more! Visit the [[Phidget Control Panel#macOS|Phidget Control Panel]] page if you want to delve a little deeper.&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced Information==&lt;br /&gt;
&lt;br /&gt;
===Installed Files===&lt;br /&gt;
These files were placed onto your system as part of the installation process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Phidget22.framework||contains our library, which is used at run-time.||/Library/Frameworks&lt;br /&gt;
|-&lt;br /&gt;
|Phidget.kext||kernel extension.||/Library/Extensions&lt;br /&gt;
|-&lt;br /&gt;
|phidgetnetworkserver22||Phidget Network Server||/usr/local/bin&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Developer Tools===&lt;br /&gt;
If you&#039;re a software developer and want to be able to bundle Phidgets with your application, you&#039;ll need our developer tools:&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/libraries/macos/Phidget22_macosdevel.zip Phidgets MacOS Developer Tools]&lt;br /&gt;
&lt;br /&gt;
You can also use the tools in this package to do a custom minimal install. &lt;br /&gt;
&lt;br /&gt;
Please see the included README file for details on how to use these tools.&lt;br /&gt;
&lt;br /&gt;
===Older Versions===&lt;br /&gt;
If you need older versions of the macOS libraries, [{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
===Standalone Control Panel===&lt;br /&gt;
If you just want to install the [[Phidget_Control_Panel#macOS|Phidget Control Panel]] without the rest of our libraries, you can get this driver extension (requires macOS 10.15 and newer):&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.phidgets.com/downloads/phidget22/tools/macos/Phidget22ControlPanel.dmg MacOS Standalone Control Panel]&lt;br /&gt;
&lt;br /&gt;
If you intend to write code that uses Phidgets, you should use the main installer mentioned at the beginning of this guide.&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxSupport&amp;diff=34361</id>
		<title>Template:LinuxSupport</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxSupport&amp;diff=34361"/>
		<updated>2024-04-23T20:05:58Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;ugcHeader&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;ugcHeaderIcon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;ugcHeaderName&amp;quot;&amp;gt;Supported Distros / Archs&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;ugcContent&amp;quot;&amp;gt; &lt;br /&gt;
{| style=&amp;quot;border:1px solid darkgray;&amp;quot; cellpadding=&amp;quot;7px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Debian 6 (Squeeze)&lt;br /&gt;
|style=&amp;quot;background: #ade6ab&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;7&amp;quot;|&#039;&#039;&#039;i386&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;border-top: none;&amp;quot; rowspan=&amp;quot;4&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #adabe6&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;armel&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Debian 7 (Wheezy)&lt;br /&gt;
|-&lt;br /&gt;
|Debian 8 (Jessie)&lt;br /&gt;
|style=&amp;quot;background: #e6abab&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;5&amp;quot;|&#039;&#039;&#039;armhf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Debian 9 (Stretch)&lt;br /&gt;
|-&lt;br /&gt;
|Debian 10 (Buster)&lt;br /&gt;
|style=&amp;quot;background: #ade6e6&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;3&amp;quot;|&#039;&#039;&#039;amd64&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;border-top: none;&amp;quot; rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #e6e6ab&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;3&amp;quot;|&#039;&#039;&#039;arm64&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Debian 11 (Bullseye)&lt;br /&gt;
|-&lt;br /&gt;
|Debian 12 (Bookworm)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #e6e6e6&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;6&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu Xenial 16.04 LTS&lt;br /&gt;
|style=&amp;quot;background: #ade6ab&amp;quot; align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;i386&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;border-top: none;&amp;quot;|&lt;br /&gt;
|style=&amp;quot;border-top: none;&amp;quot; rowspan=&amp;quot;4&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #e6abab&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;5&amp;quot;|&#039;&#039;&#039;armhf&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu Bionic 18.04 LTS&lt;br /&gt;
|style=&amp;quot;border-top: none;&amp;quot; rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
|style=&amp;quot;background: #ade6e6&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;amd64&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;background: #e6e6ab&amp;quot; align=&amp;quot;center&amp;quot; rowspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;arm64&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu Focal 20.04 LTS&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu Jammy 22.04 LTS&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu Noble 24.04 LTS&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxInstallScript&amp;diff=34351</id>
		<title>Template:LinuxInstallScript</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxInstallScript&amp;diff=34351"/>
		<updated>2024-03-21T17:37:09Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
curl -fsSL https://www.phidgets.com/downloads/setup_linux | bash -&lt;br /&gt;
apt-get install -y libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
curl -fsSL https://www.phidgets.com/downloads/setup_linux | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y libphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxGetKey&amp;diff=34350</id>
		<title>Template:LinuxGetKey</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxGetKey&amp;diff=34350"/>
		<updated>2024-03-21T16:41:36Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
wget -qO /usr/share/keyrings/phidgets.gpg \&lt;br /&gt;
  https://www.phidgets.com/gpgkey/pubring.gpg&lt;br /&gt;
echo deb [signed-by=/usr/share/keyrings/phidgets.gpg] \&lt;br /&gt;
  http://www.phidgets.com/debian distro main \&lt;br /&gt;
  &amp;gt; /etc/apt/sources.list.d/phidgets.list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
sudo wget -qO /usr/share/keyrings/phidgets.gpg \&lt;br /&gt;
  https://www.phidgets.com/gpgkey/pubring.gpg&lt;br /&gt;
echo deb [signed-by=/usr/share/keyrings/phidgets.gpg] \&lt;br /&gt;
  http://www.phidgets.com/debian distro main | sudo tee \&lt;br /&gt;
  /etc/apt/sources.list.d/phidgets.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=34349</id>
		<title>OS - Linux</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=OS_-_Linux&amp;diff=34349"/>
		<updated>2024-03-21T16:40:39Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;metadesc&amp;gt;Communicate over USB with sensors, controllers and relays with Phidgets! Program in Linux using a wide variety of programming languages.&amp;lt;/metadesc&amp;gt;&lt;br /&gt;
[[Category:OS]]&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;vertical-align:middle; width: 60%;&amp;quot;|&lt;br /&gt;
==Getting Started with Linux==&lt;br /&gt;
Welcome to using Phidgets with Linux! &lt;br /&gt;
&lt;br /&gt;
If you are ready to go, the first step in creating Linux applications with Phidgets is installing our libraries.&lt;br /&gt;
|{{TOC limit|3}}&lt;br /&gt;
|}&lt;br /&gt;
===Install===&lt;br /&gt;
The first step to using Phidgets with Linux is installing the Phidget22 libraries.&lt;br /&gt;
{{LinuxSupport}}&lt;br /&gt;
If you&#039;re running one of the supported distros, we recommend using the &#039;&#039;&#039;Package Install&#039;&#039;&#039;. For other systems, you can use the &#039;&#039;&#039;Source Install&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;bigTabs&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
Package Install=&lt;br /&gt;
====Install Script====&lt;br /&gt;
To run the install script and install phidget22, enter the following command in the terminal:&lt;br /&gt;
&lt;br /&gt;
{{LinuxInstallScript}}&lt;br /&gt;
&lt;br /&gt;
====Manual Install====&lt;br /&gt;
To install our package repository manually, enter the following command in the terminal, replacing &#039;&#039;distro&#039;&#039; with your distro codename:&lt;br /&gt;
&lt;br /&gt;
{{LinuxGetKey}}&lt;br /&gt;
&lt;br /&gt;
We support Debian releases from 6 to current, and Ubuntu LTS releases from 14.04 to current. If you are using another flavour of Linux (such as Mint), which is based on Ubuntu or Debian, use the corresponding Ubuntu or Debian codename.&lt;br /&gt;
&lt;br /&gt;
Update your package lists:&lt;br /&gt;
{{LinuxAptUpdate}}&lt;br /&gt;
&lt;br /&gt;
Finally, install the Phidget package by entering the command below:&lt;br /&gt;
{{LinuxAptInstall}}&lt;br /&gt;
&lt;br /&gt;
====Additional Packages====&lt;br /&gt;
You may also want to apt-get install the following optional packages:&lt;br /&gt;
* &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039;: The C development libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;libphidget22extra&#039;&#039;&#039;: Extra runtime library required for the Network Server and Admin tools&lt;br /&gt;
* &#039;&#039;&#039;phidget22networkserver&#039;&#039;&#039;: The [[Phidget Network Server]], which enables use of Phidgets over your network&lt;br /&gt;
* &#039;&#039;&#039;libphidget22java&#039;&#039;&#039;: The Java libraries for Phidget22&lt;br /&gt;
* &#039;&#039;&#039;phidget22admin&#039;&#039;&#039;: An administrator utility for listing Phidgets and upgrading firmware&lt;br /&gt;
* &#039;&#039;&#039;phidget22wwwjs&#039;&#039;&#039;: The JavaScript libraries for Phidget22. This package also installs the HTML examples which can be accessed through the web interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, set up the UDev rules below.&lt;br /&gt;
&lt;br /&gt;
|-|&lt;br /&gt;
Source Install=&lt;br /&gt;
====Source Install====&lt;br /&gt;
To install our libraries, first install libusb-1.0 development libraries. The exact command and package name will vary depending on distribution. For Debian based distributions, including Ubuntu and Mint, the command would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get install libusb-1.0-0-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, download and unpack the following files:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz libphidget22] (Mandatory)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz libphidget22extra] (Optional - needed by NetworkServer and Admin)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22java.tar.gz libphidget22java] (Optional - Java Libraries)&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/servers/linux/phidget22networkserver.tar.gz phidget22networkserver] (Optional - [[Phidget Network Server]])&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/tools/linux/phidget22admin.tar.gz phidget22admin] (Optional - Phidget Admin Tool)&lt;br /&gt;
Open the README file that is included at the top of each directory. This file will give you important information about how to properly install the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries are installed in /usr/local/lib by default. If you run into trouble finding the libraries during linking or at runtime, this probably means that /usr/local/lib is not on the library path for your distribution.&lt;br /&gt;
&lt;br /&gt;
You can handle this in a number of ways:&lt;br /&gt;
&lt;br /&gt;
Specify a different install folder during compile&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;./configure --prefix=/usr &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib to the system-wide library path&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;echo /usr/local/lib &amp;gt;&amp;gt; /etc/ld.so.conf &amp;amp;&amp;amp; sudo ldconfig&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
OR Add /usr/local/lib in your local shell every time&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The libraries are now installed on your machine. Next, you should set the UDev Rules.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting UDev Rules ===&lt;br /&gt;
By default, Linux will not grant permission to regular users to access physical hardware as a security feature.  This means that in order to run Phidgets code from user space you must grant yourself root privileges via sudo.  For example:&lt;br /&gt;
&lt;br /&gt;
sudo ./HelloWorld&lt;br /&gt;
&lt;br /&gt;
You can grant access manually or, more commonly, set up a rules file to do it automatically keying off of the vendor code for Phidget USB devices.  To do this, create a text file called &amp;quot;99-libphidget22.rules&amp;quot; with the following contents:&lt;br /&gt;
&lt;br /&gt;
# All current and future Phidgets - Vendor = 0x06c2, Product = 0x0030 - 0x00af&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;06c2&amp;quot;, ATTRS{idProduct}==&amp;quot;00[3-a][0-f]&amp;quot;, MODE=&amp;quot;666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Where mode 666 means every user has permission to read and write to the specified file/device.  You need to then move this file to &amp;quot;/etc/udev/rules.d&amp;quot;.  Now you can run Phidget related code as a regular user without the OS denying permission.  &lt;br /&gt;
&lt;br /&gt;
===Verify===&lt;br /&gt;
The best way to verify that your libraries are working properly is to compile and run an example program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download and unpack this C example:&lt;br /&gt;
*[https://cdn.phidgets.com/downloads/phidget22/examples/c/Manager/Phidget22_HelloWorld_C_Ex.zip HelloWorld C example]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If using the Debian intallation methods, you will need to install the &#039;&#039;&#039;libphidget22-dev&#039;&#039;&#039; package to use the C libraries for Phidget22&lt;br /&gt;
&lt;br /&gt;
Next, open the terminal at the example location. Compile the example by entering the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
 gcc HelloWorld.c -o HelloWorld -lphidget22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the HelloWorld example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
./HelloWorld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your terminal should look something like this:&lt;br /&gt;
[[File:linux_helloworld.PNG|link=|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HelloWorld program will simply communicate when a Phidget has been attached or detached, as can be seen in the image above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
Ready to write some code? Select one of the programming languages below:&lt;br /&gt;
&lt;br /&gt;
{{Programming_Languages_Table}}&lt;br /&gt;
&lt;br /&gt;
==Older Versions==&lt;br /&gt;
If you need older versions of the Phidget22 Linux libraries, [{{SERVER}}/downloads/phidget22/libraries/linux/libphidget22/ click here].&lt;br /&gt;
&lt;br /&gt;
If you need Phidget21 Linux Libraries, [{{SERVER}}/downloads/phidget21/libraries/linux/libphidget/ click here].&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs/index.php?title=Template:LinuxGetKey&amp;diff=34346</id>
		<title>Template:LinuxGetKey</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs/index.php?title=Template:LinuxGetKey&amp;diff=34346"/>
		<updated>2024-02-15T22:16:41Z</updated>

		<summary type="html">&lt;p&gt;Patrick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
wget -qO /usr/share/keyrings/phidgets.gpg \&lt;br /&gt;
  https://www.phidgets.com/gpgkey/pubring.gpg&lt;br /&gt;
echo deb [signed-by=/usr/share/keyrings/phidgets.gpg] \&lt;br /&gt;
  http://www.phidgets.com/debian bullseye main \&lt;br /&gt;
  &amp;gt; /etc/apt/sources.list.d/phidgets.list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
Non-Root=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
sudo wget -qO /usr/share/keyrings/phidgets.gpg \&lt;br /&gt;
  https://www.phidgets.com/gpgkey/pubring.gpg&lt;br /&gt;
echo deb [signed-by=/usr/share/keyrings/phidgets.gpg] \&lt;br /&gt;
  http://www.phidgets.com/debian bullseye main | sudo tee \&lt;br /&gt;
  /etc/apt/sources.list.d/phidgets.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrick</name></author>
	</entry>
</feed>