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 time, 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
|
|