The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Configuring the Phidget Network Server
There are two different ways to configure the Phidget Network Server:
- via the Phidget Control Panel (for Windows and macOS users). This provides a simple way for you to make changes to the Phidget Network Server, however, not all settings are available.
- modifying the Phidget Network Server configuration file directly.
Find the configuration file on your machine by referencing the following table:
Operating System
|
Location
|
File
|
Linux |
/etc/phidgets/ |
phidget22networkserver.pc
|
Windows |
C:/ProgramData/Phidgets |
phidget22networkserver.pc
|
macOS |
/Library/Preferences/Phidget22NetworkServer/ |
phidget22networkserver.pc
|
Now that you have the configuration file on hand, we will go through each setting and describe it.
Settings
|
phidget {
|
enabled |
enable the Phidget Server and provide access to Phidget channels over the network.
|
|
phidget{
auth {
password: 'temp123'
}
}
|
auth {
|
password |
set a password for your Phidget Server.
|
|
phidget{
pidfile: '/var/run/phidget22networkserver.pid'
}
|
phidget {
|
pidfile |
where the UNIX pid file is written
|
|
phidget{
logging {
level: info
file: 'c:/tmp/networkserver.log'
maxfiles: 4
maxsize: 1048576
network {
enabled: true
port: 5771
}
source {
phidget22net {
level: info
}
_phidget22usb {
level: info
}
_phidget22match {
level: error
}
_phidget22channel {
level: error
}
_phidget22bridge {
level: error
}
_phidget22disp {
level: error
}
}
}
}
|
The use of level throughout this section refers to log level. See the Phidget Control Panel logging section for more information.
logging {
|
file |
choose the log file location and name
|
maxfiles |
the maximum number of log files to keep before rotation deletes them.
|
maxsize |
the maximum file size of a log file before rotation.
|
network {
|
enabled |
enable network logging.
|
port |
tcp port that the server listens on
|
|
phidget{
network {
keepalive: 30000
ipv4 {
address: localhost
port: 5661
}
datagram {
enabled: true
}
publish {
enabled: true
name: 'Phidget22 Server'
}
resolveaddrs: false
}
}
|
network {
|
keepalive |
the server is constantly sending keepalive packets to the client, if it doesn't get a response in the keepalive milliseconds, it will close the connection (0 turns off, so server won't send keep alive)
|
resolveaddrs |
if addresses should be resolved to names (affects performance)
|
ipv4 {
|
address |
the address to bind
|
port |
server port
|
datagram {
|
enabled |
if UDP for events is allowed
|
publish {
|
enabled |
publish your Phidget Network Server to mDNS
|
name |
the name that will be published (defaults to computer name).
|
|
phidget{
feature {
control {
enabled: true
}
stats {
enabled: true
}
dictionary {
enabled: true
directory: '/etc/phidgets/dictionary.d'
}
}
}
|
control {
|
enabled |
enables controls dictionary, which is the network one
|
stats {
|
enabled |
enables the stats dictionary
|
dictionary{
|
enabled |
this enables the use of dictionaries on your server
|
directory |
points to the dictionary.d file
|
|
phidget{
filter {
enabled: true
clients {
default: allow
allow {
enabled: false
verbose: false
list: ['192.168.2.159', '192.168.3.120' ]
}
deny {
enabled: false
verbose: false
list: ['192.168.2.158', '192.168.3.119' ]
}
}
}
}
|
filter {
|
enabled |
enable filter to limit what clients are allowed to connect
|
clients {
|
defaults |
choose between allow or deny. Controls if the default is to allow or deny connections.
|
allow {
|
enabled |
if allow rules should be processed
|
verbose |
if clients that are allowed to cause a log message
|
list |
list of addresses to allow
|
deny {
|
enabled |
if deny rules should be processed
|
verbose |
if clients that are denied cause a log message
|
list |
list of addresses to deny
|
|
phidget{
www {
enabled: true
serverhost: 'my-pc'
docroot: '/var/phidgets/www'
mimetypes: '/etc/phidgets/mimetypes.kv'
logging {
level: debug
accesslog: '/var/log/phidget22access.log'
}
network {
cachectrl: nocache
ipv4 {
address: 192.168.1.1
port: 8080
}
publish {
enabled: true
name: 'Phidget22 Server'
}
}
phidgets {
enabled: true
passwd: 'temp123'
}
}
}
|
www {
|
enabled |
enables the Phidget Webserver
|
serverhost |
the host name to use for redirects etc. This should not be specified unless there is a reason to override the host name (e.g. server being accessed through a firewall)
|
docroot |
where your webpage/files exist.
|
mimetypes |
location of mimetypes file
|
logging {
|
level |
See the Phidget Control Panel logging section for more information about different log levels.
|
accesslog |
specify the access log location. This file lets you know who has accessed your webserver.
|
network {
|
cachectrl |
prevents clients from caching results (for testing)
|
ipv4 {
|
address |
address to bind
|
port |
specify your port
|
publish {
|
enabled |
if the WWW server should be published to mDNS
|
name |
the name to publish (defaults to computer name)
|
phidgets {
|
enabled |
contorls if we allow websocket upgrades for Phidgets
|
passwd |
the server password
|
|