SBC3003 User Guide: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
 
(53 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOINDEX__
<metadesc>Single Board Computer running Debian with 3 high-speed USB ports, 6 VINT ports, ethernet and HDMI, with 512 MiB Memory and a 8 GB SD Card. </metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]


==Welcome==
==Welcome==
Welcome to the user guide for the SBC3003. In this guide we will introduce you to your new Phidget and show you what it is capable of. To get started, make sure you have the following things available:
Welcome to the user guide for the SBC3003. In this guide we will introduce you to your new Phidget and show you what it is capable of. To get started, make sure you have the following things available:
*Your new SBC3003
*Your new [{{SERVER}}/products.php?product_id=SBC3003 SBC3003].
*An Ethernet cable and a 6-15VDC power supply (both included with SBC3003)
*An Ethernet cable.
*A Phidget or Phidget sensor
*An 8-30VDC power supply.
*A computer
*A computer.
*Optional: A USB Phidget, {{CT|VINTDevice|VINT Phidget}}, or {{CT|AnalogSensor|analog sensor}}.
 


Ready? Then let's get started!
Ready? Then let's get started!
==Testing Using Windows==
{{UGcontrolpanelSBC|1073}}


{{UGotherosSBC}}
==Getting Started==


==SBC Web Interface==
You can get set up using this video or by following the steps below:


Using the operating system sections of this guide, you should have been able to open a web browser with a connection to the SBC using either:
<center>{{#ev:youtube|DTHnd2xPxag|||||rel=0}}</center>
* The Phidget Control Panel (Windows), or
* The Phidget Preference Pane (Mac OS), or
* An mDNS connection (Linux).
Here we cover the basics on the tool that has been opened in the browser, known as the SBC Web Interface.


===Set the Password===
1. If you have any USB Phidgets, VINT Phidgets, or analog sensors, plug them into the SBC now.


If this is your first time connecting to the SBC (or after a complete factory reset), you will see a screen asking you to set a password:
2. Connect your SBC to your network using the Ethernet cable.


[[File:sbc_gs_set_passwd.png|link=|alt=]]
3. Connect your SBC to power. A red LED will immediately light up underneath the power barrel, indicating your SBC is receiving power. There is also a green LED that will briefly turn on when power is supplied, and then remain on after the SBC has fully booted.


This password will be linked to the user {{Code|admin}} if you use the web interface in the future, and to the user {{Code|root}} if you choose to use SSH.  These are actually the same user, and the SSH connection is covered in-depth on the [[OS - Phidget SBC|SBC operating system page]].


Remember this password, as you will need it to connect to the SBC in the future, and the only way to log in if you lose it is to perform a [[OS - Phidget SBC#Factory Reset|full factory reset]] on the SBC.
The next step will be to access the SBC Web Interface. This process will vary slightly depending on what type of computer you use:
*[[#macOS|Jump to getting started with macOS]]
*[[#Linux |Jump to getting started with Linux]]
*Using a Windows machine? Keep reading.


The next time you connect to the SBC after you log out or reboot the SBC, you will be asked to log in with a user name and password:
===Windows===
First things first: make sure you have the latest Phidget drivers installed on your machine. Download and run the installer:
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x86.exe 32 Bit Installer Download]
*[{{SERVER}}/downloads/phidget22/libraries/windows/Phidget22-x64.exe 64 Bit Installer Download]


[[File:sbc_gs_login.png|link=|alt=]]


===Navigating===
You also need to download [https://support.apple.com/kb/DL999?locale=en_US Bonjour] on your Windows computer so that you can access your SBC over the network.


The SBC Web Interface has a series of tabs and sub-tabs at the top, and by using these you can access the entire web interface.  Note that the web interface only allows you to configure a very small portion of the SBC, please refer to the full [[OS - Phidget SBC]] page for an in-depth introduction on the SBC Linux operating system.


The header also has information about how long the SBC had been powered on without a reboot, what the link local address of the SBC is (here it is {{Code|phidgetsbc}}, so the full link local address is {{Code|phidgetsbc.local}}) and more:
Now that you have the drivers installed, find the [[File:Ph.jpg]]  icon in the taskbar. If it is not there, open up the start menu and search for ''Phidget Control Panel''


[[File:sbc_gs_web_header.png|link=|alt=]]


The starting page of the web interface will also give you information about:
[[File:Windows PhidgetTaskbar.PNG|link=|center]]
* The name of the SBC (you can rename it under {{Code|System &rarr; General}}, although note that this will '''also change the link local address of the SBC  to that name''')
* The build, kernel, and board revision
* The MAC address (of the Ethernet connection...the wireless MAC address can be found on {{Code|Network &rarr; Status}} when the adapter is plugged in)
* The space left in your / filesystem (the amount of space you have for programs, and files not written to an external USB key)
* Any additionally mounted filesystems (such as a USB data key)
* The amount of memory your SBC is currently using.  This can be a bit misleading however.  To get a better idea of the total memory usage go to the "Processes" subtab and look at memory usage on a per-process basis.


This can also be accessed later from {{Code|Status &rarr; System}}:


[[File:sbc_gs_web_interface.png|link=|alt=]]
Double click on the icon to open the Phidget Control Panel and navigate to the Network Phidgets tab:


===Set up Networking===


After using the initial wired Ethernet connection (as described in detail in the [[#Connecting_the_Pieces|hardware section]]) to access the web interface for the first time, you can use the {{Code|Network}} tab in the web interface to configure other network settings for use.
[[File:phidgetsbc_windowscontrolpanel.PNG|link=|center]]


The SBC can switch dynamically between Ethernet (what it tries first) and wireless via the [{{SERVER}}/products.php?product_id=3702 Wi-Fi USB Adapter w/SMA Antenna].  It is also able to dynamically handle both Ethernet and wireless being unplugged and then plugged back in.  This is especially useful if you are designing a project where the SBC will operate without a network - when testing you can plug in and remove the network adapters to check on how the SBC is doing.


====Wireless====
As shown in the image above, the Phidget Control Panel will relay the following information to you:
*The default link local address (mDNS address) which is phidgetsbc.local
*The IP address. There is no default IP address, it must be assigned to the SBC.
*The MAC address. This is useful for distinguishing between multiple SBCs.


The SBC can only access wireless networks using the [{{SERVER}}/products.php?product_id=3072 Wi-Fi USB Adapter w/SMA Antenna].  If this WiFi adapter is plugged in to a USB port on the SBC, you will see something like this under {{Code|Network &rarr; Wireless}} in the web interface:


[[File:sbc_gs_wireless.png|link=|alt=]]
Next, double-click on your SBC in the Phidget Control Panel. This will automatically open the SBC Web Interface, which, conveniently enough, is our next topic! [[#SBC Web Interface|Jump ahead to the SBC Web Interface.]]


Here you can add and remember networks with passwords.  These do not necessarily have to be networks that are currently seen - you can add the SSID and password of your home network, for example, and the next time the SBC boots at home with wireless only it will connect to your home wireless network.  These SSID settings are only for DHCP networks.
===macOS===
First things first: make sure you have the latest Phidget drivers installed on your machine. Download and run the installer:
*[{{SERVER}}/downloads/phidget22/libraries/macos/Phidget22.dmg macOS Installer Download]


====Static IP====


If you do not have DHCP on your main network, and do not want to use link local addressing, you can set the network connection to be staticThese settings can be found in the web interface under {{Code|Network &rarr; Settings}} for the Ethernet interface, and at the bottom of {{Code|Network &rarr; Wireless}} for wireless networking. In the Ethernet settings, for example, you can specify network elements manually in the same way you would for a desktop computer:
Now that you have the drivers installed, open the Phidget Control Panel by finding the [[File:Ph.jpg]] icon in your applications folder.


[[File:sbc_gs_static_ip.png|link=|alt=]]
Open the Phidget Control Panel application and navigate to the PhidgetSBCs tab:
[[File:Phidgetsbc_maccontrolpanel.png|600px|link=|center]]


This setting is also useful to work entirely without mDNS and link local addressing. After setting it, the SBC will start using that static IP immediately, so if this is done improperly this can make the SBC very hard to re-connect to depending on the routing within the rest of your network.  If you are not sure whether this will be a problem, it may help to read the in-depth [[OS - Phidget SBC#Initial Internet Setup|network troubleshooting section]] for the SBC.
As shown in the image above, the Phidget Control Panel will relay the following information to you:
*The default link local address (mDNS hostname) which is phidgetsbc.local
*The IP address. There is no default IP address, it must be assigned to the SBC.
*The MAC address. This is useful for distinguishing between multiple SBCs.


===View Attached Phidgets===


You can view Phidgets that are directly attached to the SBC by going to {{Code|Phidgets &rarr; Status}} in the web interface:
Next, double-click on your SBC in the Phidget Control Panel. This will automatically open the SBC Web Interface, which, conveniently enough, is our next topic! [[#SBC Web Interface|Jump ahead to the SBC Web Interface.]]


[[File:sbc_attached_phidgets.png|link=|alt=]]
===Linux===
First things first: make sure you have the latest Phidget drivers installed on your machine. Head over to the [[OS - Linux#Getting Started with Linux| getting started with Linux]] section on the Linux page in order to get everything installed.


This will always show the attached Interface Kit that is part of the SBC board.  It will also show any Phidgets plugged into the SBC's USB ports.


On the right hand side of this screen (not shown in the screenshot) you will see the serial numbers of the attached Phidgets.  If you want to use these Phidgets within your code over a network using the network server, you can use these serial numbers in your programming project.
Now that your machine is ready to go, type the following command into the terminal:
<syntaxhighlight lang=bash>
phidget22admin -s
</syntaxhighlight>


Note that any analog or digital sensors will not show up here, as they are a 'part' of the Interface Kit and can be accessed through the ports in the Interface Kit API.  Taking a look at the [[1018 User Guide|User Guide]] for the [{{SERVER}}/products.php?product_id=1018 PhidgetInterfaceKit 8/8/8] will show you a good example of how this works.
Your terminal will look something like this:


===Use the Webcam===
[[File:phidgetsbc_linuxphidgetadmin.PNG|link=|center]]


Using the webcam (either the [{{SERVER}}/products.php?product_id=3402 Phidget USB Webcam] or another UVC-compatible webcam) should be fairly straightforward. Plug it in, then head to the web interface under {{Code|Webcam &rarr; Webcam}}:
As shown in the image above, the phidget22admin call will relay the following information to you:
*The default link local address (mDNS hostname) which is phidgetsbc.local
*The IP address. There is no default IP address, it must be assigned to the SBC.
*The MAC address. This is useful for distinguishing between multiple SBCs.


[[File:sbc_gs_webcam.png|link=|alt=]]


This will allow you to stream video into the web interface. This stream can also be viewed with any compatible M-JPG viewer, such as VLC.  To take pictures with the webcam within your code, see the [[OS - Phidget SBC#Taking Pictures with the Webcam|how-to]] on the main SBC operating system page.
Now that you know the IP address that has been assigned to the SBC, type it into a web browser and hit enter. This will open the SBC Web Interface, which, conveniently enough, is our next topic!


Webcams that support pan/tilt can be controlled via the web interface. Multiple frame rates and resolutions are supported.  
==SBC Web Interface==
The SBC Web Interface is a powerful tool that will prove invaluable when you begin development. You opened the SBC Web Interface in the previous step, so let`s jump right in and set a password!
===Setting a password===
The first time you open the SBC Web Interface, you will be greeted with this screen:
[[File:phidgetsbc_websetpassword.PNG|link=|alt=|center]]


If the video stream is to be exported over the internet, it is recommended that the password be enabled. However, it must be noted that this is a simple HTTP authentication, which is sent unencrypted, and is thus not highly secure.


If prompted for the webcam password, the username is ‘webcam’.
You will use this password in the following situations:
*Future SBC Web Interface access (linked to user ''admin'')
*SBC terminal access (linked to user ''root'')


If multiple webcams are attached, they will all start up using the same settings, except that each additional webcam will run on the next higher port number. Multiple webcams will generally only work when the resolution and framerate are set to low levels.
===Take a look around===


At this point, we have covered most of the common uses of the web interface.  But the web interface offers many more configuration options.  This reference section covers all of the available options.  If you want to continue on to tasks such as writing and running code on the SBC, visit the [[OS - Phidget SBC]] page.


====Can I use multiple webcams?====
[[File:phidgetsbc_webinterface.PNG|link=|alt=|center]]
Probably...  In theory you can connect multiple webcams to the SBC, however, the bandwidth of a USB1.1 hub will limit the amount of data you can stream meaning you might have to use reduces resolution/framerate to do it successfully.


===Web Interface Reference===


This section provides a complete reference to all tabs and sub-tabs within the SBC web interface.  Note that the web interface itself also includes help as text on the right side of most tab screens.
Welcome to the SBC homepage! Here you can view system information such as the firmware version, the amount of storage you have left, and more. Take a minute to look around, and, when you're ready, we will give an overview of the SBC Web Interface, starting with networking.


====Top Bar====
===Update Packages===


On loading the interface, you will see a tool bar along the top of the page. It holds some information across all the configuration pages. The information is as follows:
We strongly recommend you update your packages before you start using your SBC. This will make sure that all of the software is up to date and will fix many potential issues with compiling code and using the Phidget Control Panel. To update your packages, go to System -> Packages.


;Host Name
[[File:phidgetsbc_packages.jpg|link=|alt=|center]]
:The host name given to the PhidgetSBC on the network.
;Uptime
:Total time elapsed since the last reboot.
;Load
:The average CPU utilization in the last minute, 5 minute, and 10 minute durations.
;Version
:The current board and web interface version.


Then, scroll to the bottom of the list and click on "Refresh Available Packages". It will take a few minutes to refresh the packages. Then, click on "Upgrade All Packages".


====Tab: Status====
===Set up Networking===
You can connect to your network in two ways with the SBC:
*via an Ethernet cable
*via a Wi-Fi USB adapter (we recommend [{{SERVER}}/products.php?product_id=3703 this one])


The main tab ''Status'' has options for ''System'', ''Network'', ''Processes'', ''USB'', and ''Phidgets''.
The SBC will try to connect to Ethernet first. It can also switch between Wi-Fi and Ethernet on the fly. If you're following this guide, you've already set up your network using an Ethernet cable by simply plugging it in. Next, we will take a look at setting up Wi-Fi.


{{SBCWebifTab|System}}
====Wireless====
To set up Wi-Fi on the SBC, first plug in your Wi-Fi USB adapter. Next, navigate to Network->Wireless and your screen will look something like this:


This is the first page you should see after loading the configuration Interface. It contains general information about the SBC.
[[File:phidgetsbc_wifi.PNG|link=|alt=|center]]


{{SBCWebifHeader|System Information}}


;Board Name
Add your Wi-Fi network by selecting it from the list, providing any necessary credentials, and clicking the ''Add This Network'' button.
:Name of the device. It should always read “PhidgetSBC2”.
;Board Revision
:Board revision number. This tracks the hardware design.
;Webif Version
:The version of the web interface currently being used. This will change with updates to the web interface/configuration system.
;Kernel Version
:The type and version of the loaded Linux kernel.
;Distribution
:The running Linux distribution name/version. This should read "Debian GNU/Linux 6.0"
;Phidget Library
:The version of the installed Phidget21 library.
:These libraries are included with the firmware, and may need to be updated to use newly released Phidgets.
;Current Date/Time
:Current date and time, within the SBC
;MAC Address
:The Ethernet MAC address.
:A PhidgetSBC is uniquely identified by its MAC address shown here.
:This address is also printed on the label of the underside of the PhidgetSBC.
:Other Phidgets, including the integrated InterfaceKit, use a serial number to identify themselves.


{{SBCWebifHeader|Filesystem}}
Here are some useful Wi-Fi tips:
*You don't have to see a network in order to connect to it. You can add the SSID and password of a network, and the next time the SBC boots it will connect to that network if it is available.
*The SSID settings are only for DHCP networks.


:All mounted filesystems are listed, along with their size and usage.


{{SBCWebifHeader|Memory}}
Next, we will cover setting a static IP with the SBC Web Interface.


:Memory usage is shown. Wired/active memory is shown in red and cached/inactive memory is shown in blue.
====Static IP====
Don't have DHCP on your main network? Not to worry, you can easily set up a static IP with the SBC:
*Ethernet: Navigate to Network->Settings to set up a static IP.
*Wi-Fi: Navigate to Network->Wireless to set up a static IP.


{{SBCWebifTab|Network}}
Now simply enter your network configuration and save the changes. The SBC will immediately start to use the static IP.


See: [[#Tab: Network|Tab: Network]]
'''Warning:''' setting a static IP improperly can make the SBC very hard to re-connect to depending on the routing within the rest of your network.


{{SBCWebifTab|Processes}}
===View Attached Phidgets===
 
====Phidgets Status====
This lists all running processes, along with their Process ID (PID), User, State, CPU usage and memory usage. Advanced users can use this to tell if any application is using too much memory, or has crashed.
Now that your networking is set up, let's take a look at which Phidgets are attached to the SBC. Do this by navigating to Phidgets->Status. Your screen should look something like this:
 
{{SBCWebifTab|USB}}
 
This lists all USB devices. The “S3C24XX OHCI” Host Controller, the “General Purpose USB Hub” and the built in Interface Kit 8/8/8 should always be listed, along with any connected devices. Also listed are any mounted USB drives.
 
{{SBCWebifHeader|All connected devices}}
:A list of all the USB devices present in the system. This includes the main USB, the built in 6 port hub, and all Phidget and non-Phidget devices.
{{SBCWebifHeader|Mounted USB devices}}
:This area lists of all the USB based drives connected to the PhidgetSBC, and their mount points.
:USB drives are automatically mounted at /media/usb(0-9) when attached.
 
;Unmount (Button)
:Use this button before removing the device to safely disconnect it.
 
{{SBCWebifTab|Phidgets}}
 
See: [[#Tab: Phidgets|Tab: Phidgets]]
 
====Tab: Network====
 
The main tab ''Network'' has the sub-tabs ''Status'', ''Settings'', and ''Wireless''.
 
{{SBCWebifTab|Status}}
 
General network status can be viewed on this page. Modifying these values are done on other pages.
 
{{SBCWebifHeader|Network}}
;Adapter
:Abbreviated name and number of the network interface.
;Type
:Wired or wireless connection.
;Mode
:Network protocol used.
;IP Address
:The IP address of the network interface.
;Subnet Mask
:The subnet mask of the network interface.
;Gateway
:The IP address of your gateway.
;MAC Address
:The MAC address of the interface.
;Wireless State
:Connection status information for the Wireless link.
:This could be 'CONNECTED', 'INACTIVE', 'FAILED', etc.
;Wireless SSID
:The plaintext name of the wireless connection access point.
;Wireless Security
:Security protocol used for a wireless link.
;DNS Server(s)
:List of nameservers being used.
 
{{SBCWebifTab|Settings}}
 
This is where TCP/IP settings for the wired ethernet and configured. This is also where SSH is enabled.
 
;TCP/IP settings
:DHCP will set the system IP Address, Subnet Mask, and Gateway automatically.
:In the absence of a DHCP server, Static should be used and filled in manually.
:Note that the same TCP/IP settings will be used at all access points.
;DNS settings
:DNS can be set up automatically if DHCP is enabled.
:Under manual settings, up to two DNS servers can be specified.
:Note that DNS settings are system-wide and will apply to all interfaces.
;SSH Server
:This is where the SSH server can be enabled or disabled.
:Enabling SSH for the first time can take several minutes as the keys are generated.
 
{{SBCWebifTab|Wireless}}
 
Wireless networking is supported via a [{{SERVER}}/products.php?product_id=3703 USB wifi adapter].  When an adapter is plugged in, this wireless configuration page will be available.
 
Wireless networks are joined based on a list of saved networks. You can join, manually enable and disable, as well as delete these saved networks. To add a wireless network to this list, either choose from the list of detected networks, or enter the details manually. Supported security includes WEP, WPA(2) Personal and WPA(2) Enterprise.
 
Saved networks will be joined first based on security and secondly based on best signal strength.
 
{{SBCWebifHeader|Add a Wireless Network}}
;SSID
:The SSID of the access point that you wish to add. This is the plaintext name of the access point.
;Security
:The security system used by this access point.
;Remember this network 
:If enabled, this network will be added to the list of saved networks permanently, and will be available to be automatically joined in the future.
:Otherwise, this network will remain in the list of saved networks until the board is reset, or another network is added.
 
{{SBCWebifHeader|Manage saved networks}}
;Join This Network 
:Joining a specific network will temporarily disable all other saved networks, so that the specific network will be joined, if available.
:The other networks will remain disabled until the board is reset, or another network is added.
;Delete This Network
:Delete a saved network. There is no confirmation and this cannot be undone.
;Enable / Disable
:Selected networks that are enabled will be joined automatically.
:Disabled networks will never be joined.
 
{{SBCWebifHeader|Wireless Network Settings}}
;TCP/IP settings
:DHCP will set the system IP Address, Subnet Mask, and Gateway automatically.
:In the absence of a DHCP server, Static should be used and filled in manually.
:Note that the same TCP/IP settings will be used at all access points.
;DNS settings
:Switch the DNS settings between Automatic and Manual.
:DNS can be set up automatically if DHCP is enabled. Otherwise, up to two DNS servers can be specified.
:Note that DNS settings are system-wide and will apply to all interfaces.
 
====Tab: Phidgets====
 
{{SBCWebifTab|Status}}
 
;Library Version
:The version of the installed Phidget21 library. These libraries are included and are updated along with the firmware.
 
{{SBCWebifHeader|List of attached Phidgets}}
:A list of all detected Phidgets connected to the PhidgetSBC.
:This includes the integrated PhidgetInterfaceKit and displays both the serial number and version.


{{SBCWebifTab|Network Server}}
[[File:Phidgetsbc_attachedphidgets.PNG|link=|alt=|center]]


The Phidget network server is a simple server that allows Phidgets connected to the PhidgetSBC board to be opened over the network. This is enabled by default and starts with the SBC.


This page lets you view and modify the Phidget network server settings, as well as stop and start the server. Please see the Advanced User’s Guide for more information on programming with the dictionary.
Notes about attached Phidgets:
*The SBC has a built in VINT Hub Phidget, so you will always see it on your list of attached Phidgets.


;Enabled/Disabled
====Control Panel====
:Enables or disables the Phidget Network Server.
After you confirm which Phidgets are attached to your SBC, navigate to Phidgets->Control Panel. Here, you can test your Phidgets and learn more about their functionality.
;Server ID
:Server ID is used when opening a connection to the PhidgetSBC using the mDNS based openRemote calls.
:This is by default the same as the PhidgetSBC hostname (phidgetsbc), but can be set to anything (up to 63 characters).
;Port
:Port is the port that the Network server runs on - default is 5001.
;Password
:The password is used for securing the network server.  
:By default, this option is disabled with a blank password.
:Note that while the authentication protocol and password is encrypted during authentication, all following data is sent in the clear.
;Start/Stop (Button)
:Use this button to start/stop the network server.


====Tab: Projects====
[[File:Phidgetsbc_controlpanel.PNG|link=|alt=|center]]


This is where user projects are set up. Custom applications can be written in either C (compiled to an ARM architecture) or Java, and then set up to run on the PhidgetSBC at system startup.  We offer an [[OS - Phidget SBC#Program in Java with the Web Interface|in-depth tutorial]] on creating applications in this manner using Java.
===Using a Webcam===
If you would like to use a webcam with the SBC, ensure it is a UVC (USB Video Class) compatible webcam that supports MJPEG. Next, simply plug it into the SBC and navigate to the Webcam tab.


{{SBCWebifTab|Projects}}


This sub-tab lists installed applications as well as the controls for creating a new application space.  
[[File:phidgetsbc_webcam.PNG|link=|alt=|center]]


This is also where you can download the SBC-specific version of the Phidget Java libraries: phidget21.jar


{{SBCWebifHeader|List of Projects}}
Take a minute to play around with the different resolutions and frame rates available. Also, be sure to check out the webcam control dialog shown below:
This is a list of all created applications and their current status. Enabled applications will try to run on system boot, and the stopped/running status indicates if the program is currently executing.


Delete applications using the red ‘X’ near their name. You can click on the application name to launch the Specific Project page.
[[File:phidgetsbc_webcamcontrol.PNG|link=|alt=|center]]


;Create new app (Button)
:This button creates a new application space using the input field for its name. Application names should not contain spaces.
;Free space remaining on userspace partition
:The amount of free space remaining on the user partition in bytes.


{{SBCWebifTab|Specific Project}}
Notes about using a webcam:
*When using a password, the username is ''webcam''. It is recommended to add a password if you are planning to share the stream. Note: the HTTP authentication is sent unencrypted.
*If multiple webcams are attached, they will start up with the same settings (port number will be incremented for each one). When using multiple webcams, resolution and frame rates will have to be reduced.


On a specific application space page, there are controls to start and stop the program, as well as view the stdout and stderr from the most recent (or current) run.
==Advanced Topics and Troubleshooting==
{{UGC-Start}}
{{UGC-Firmware}}
{{UGC-Entry|Armbian Packages||
You can find a directory of Armbian packages [{{SERVER}}/downloads/phidgetsbc/SBC3003/armbian/images/ here].


;Start/Stop (Button)
We have both desktop and server versions available. The Armbian release is more like a general Linux release with the Phidget libraries bundled in, whereas the default OS on the PhidgetSBC is kept very minimal to improve boot time and performance for Phidget-focused tasks.
:This button is for starting or stopping the execution of the program specified under application settings.
}}
:Starting a program will generate stdout and stderr logs.
;View stdout
:You can view the standard console output of your program through this link.
;View stderr
:In the event of an error that halts program execution, its corresponding error message is printed here.


{{SBCWebifHeader|Filesystem Browser}}
{{UGC-Entry|Connecting a USB Hub||
This allows viewing, editing and removal of application files, as well as the ability to upload new files. File upload size is limited to 5MiB per file.
If you plan on connecting more than 3 USB devices to the SBC4, you'll need to use a [{{SERVER}}/?view{{=}}comparetable&rel{{=}}USBHub USB Hub]. If you do, make sure you plug it into one of the ports highlighted in green below:


{{SBCWebifHeader|Startup Settings}}
[[Image:SBC3003_USB.jpg|600px|link=]]
This section configures the application to start at boot. When this enabled, it will start at the end of the system boot process (after things like bringing up the network, starting the Phidget Network Server, etc.). The startup order field specifies a start order among the custom applications, with lower numbers being started first. 


Executable name is the name of the file to execute. If this filename ends in ‘.class’ or ‘.jar’, the program will be run as a Java program, otherwise it is run as an ARM Binary.  We have an [[OS - Phidget SBC#Program in Java with the Web Interface|detailed walkthrough of this section]].


The port highlighted in red is a USB On-the-go port, which functions as a normal USB port except that connecting multiple devices to it using a USB hub will cause those devices to be unstable and to disconnect unexpectedly.


====Tab: Webcam====
If the devices you're plugging into your hub are rated for a total of 500mA or more, you should use an externally powered USB hub.
}}


{{SBCWebifHeader|Webcam Settings}}
{{UGC-Entry|Ports and Connectors||
[[File:SBC3003_Ports.JPG|800px|link=]]


;Enabled/Disabled
:1. The Ethernet port is used for network connectivity to the SBC. This enables network access to the SBC as well as any connected Phidgets through the Phidget Network Server. Alternatively, a Wi-Fi USB adapter can be used for wireless network connectivity.
:Enable or disable the webcam streaming video.  
:2. The USB ports can be used for connecting Phidgets, Wi-Fi adapters, flash drives, webcams, USB hubs, and other devices.
:Video streaming can consume a lot of bandwidth depending on the settings used.
:3. The HDMI connector can be used for connecting a monitor the the SBC. In this situation, the SBC will function like any other Linux computer. (Note: you must plug the monitor in before powering up the SBC in order for it to be recognized).  
;Resolution
:4. Six [[What_is_VINT?|VINT]] ports, essentially an integrated [{{SERVER}}/products.php?product_id{{=}}HUB0000_0 VINT Hub Phidget].
:The resolution of the capture in pixels.  
:5. The SBC is powered from the barrel jack connector.
:Only resolutions supported by the webcam are listed.
:6 These LEDs indicate the status of the SBC. The red LED indicates that the SBC is receiving power. The green LED indicates boot status. The green LED will turn on and off once during boot and then remain on while the SBC is running.
;Framerate
:7 The micro SD card slot.
:The transmission frame rate of the capture.  
}}
:Available frame rates will depend on the selected resolution.
;Port
:The port that the video stream is sent to.
;Password
:Protect the webcam stream with a password.  
:This will add a simple username and password prompt whenever you view the webcam stream - including on this page.  
:The username is 'webcam'.  
:Set to nothing to disable passwords.


{{UGC-Entry|Hardware Details||
The SBC4 is built around the A20 processor. This is an ARM Cortex-A7 based microprocessor from Allwinner Technology, which runs at 1 GHz. Connected to this is 512 MB of DDR3 SDRAM, and a 10/100baseT Ethernet controller. The microprocessors USB Host port is connected to 3 USB 2.0 High Speed ports.
}}


====Tab: System====
{{UGC-Entry|Software Details||
The PhidgetSBC runs Debian/GNU Linux 9.0 as its operating system and gets booted with U-Boot.
}}


{{SBCWebifTab|General}}
{{UGC-Entry|Date and Time||
The date and time are set using NTP (Network Time Protocol) at boot. A NTP daemon continues to run in the background and will periodically update the clock, ensuring the time is always accurate.


This is where general system setting are set up.
There is a real-time clock with battery backup which will preserve date/time across reboots and power removal. If power is suddenly lost, the real-time clock may not have the correct time.
}}


{{SBCWebifHeader|System Settings}}
{{UGC-Entry|Factory Reset||
;Host name
The SBC3003 does not natively support factory reset functionality. However, if your SBC3003 becomes corrupt and needs to be reset to factory firmware, you can [[OS_-_Phidget_SBC#Writing_Image_to_SD_Card|write a new image to the micro SD card]] (or a new card) to similar effect.
:The system hostname.
}}
:This is used for the system’s mDNS (i.e. local link address) hostname, as well as the Phidget Network Server default Server ID.
:All PhidgetSBCs have a default hostname of {{Code|phidgetsbc}}.  When used as a link local address, the extension {{Code|.local}} is added
 
{{SBCWebifHeader|Time Settings}}
;Timezone
:Set up your time zone according to the nearest city of your region from the predefined list.
;Zoneinfo String
:Standard zoneinfo names are defined for different areas of the world. You can supply any zone from the official list as an alternative to selecting a predefined zone from the list.
 
{{SBCWebifTab|Logs}}
This is where the kernel and system logs can be viewed. This also includes the ability to filter the text.  We also have a special section on [[OS - Phidget SBC#Checking System Logs|checking the system logs]].
 
{{SBCWebifHeader|Text Filter}}
;Text to Filter
:Insert a string that covers what you would like to see or exclude.
:You can use the regular expression constants like: <nowiki>00:[[:digit:]]{2}:[[:digit:]]{2}</nowiki> or .debug|.err
;Filter Mode
:You will see only messages containing the text in the Include mode while you will not see them in the Exclude mode.
;Remove Filter
:Clears the filter being used
;Filter Messages
:Change the filter being used. Including a blank Text to Filter effectively removes the filter.
 
{{SBCWebifTab|Password Change}}
This is where the system password can be changed. The system password is the (which is the {{Code|admin}} password for the web interface) is also the {{Code|root}} user password on the SBC when using [[OS - Phidget SBC#SSH|SSH]].
 
Changes here made will take effect immediately after being saved, without asking for confirmation. The new password must consist of alphanumeric characters and be at least 1 character long.
 
{{SBCWebifHeader|Password Change}}
;New Password
:The first field for a new password.
;Confirm Password
:The second field for a new password. This must match the first field.
;Set Password
:This button will commit the changes to your password.
 
{{SBCWebifTab|File Editor}}
This grants access to the full filesystem. Files can be uploaded, edited and deleted, and directories can be created. Some important system directories and files are protected from deletion, but it is still easy to break the system by editing/deleting files.
 
File upload is limited to a filesize of 5MiB.
 
File/Directory permission, owner/group and creation time information is available by hovering over the file/directory icon.
 
{{SBCWebifTab|Backup & Restore}}
This is where the system can be backed up to disk and restored. This also allows access to the recovery/upgrade system.
 
Note that this '''only''' backs up configuration files directly related to the web interface - such as network configuration, hostname, time settings, and user project setting (but not including project files).  For other methods of backup, including installed software, we have a [[OS - Phidget SBC#Backing Up Your Data|detailed walkthrough]].
 
When restoring from a backup file, the system will check that it is a valid backup before asking the user to continue.
 
{{SBCWebifHeader|Backup Configuration}}
;Name this configuration
:You can give the backup file an arbitrary name. The name is only shown during restore.
;Backup
:This button creates the backup.
:A download link to the backup will be provided and you will be prompted to save the file to an off-SBC location. The download link is '''not''' valid indefinitely, use it then.
 
{{SBCWebifHeader|Restore Configuration}}
;Saved backup file
:Choose a backup file for this machine type.
:The restore system will check the file and ask for confirmation before running the restore.
;Restore
:This button applies the backup.
:The backup file will then be verified.
:Clicking restore again will commit the changes and take effect immediately.
 
{{SBCWebifHeader|Reset Configuration}}
;Reset
:This will reset all of the web interface configuration files to their default states. This will '''not''' reset the system as a whole.
 
{{SBCWebifHeader|Upgrade / Factory Reset}}
;Go (Button)
:This will boot the SBC into the Recovery/Upgrade system.
:Refer to our section on the [[OS - Phidget SBC#Recovery System|recovery system]] for more information.
 
{{SBCWebifTab|Packages}}
 
This is where package updates are performed. From time to time, updates will be made available. These will address any bugs and security issues, add new features, and update the phidget21 library and network server. There are also some other package management options available.
 
Note that this page can take quite a long time to load when 'Include full Debian Package Repository' is enabled.
 
{{SBCWebifHeader|Upgradable Packages}}
This lists all available package updates, if any.
 
;Upgrade All Packages
:This installs all available package updates.
:Selective updating can only be done via [[OS - Phidget SBC#SSH|SSH]].
;Refresh Available Packages
:This runs [[OS - Phidget SBC#apt|apt-get update]] to refresh the package list and check for new updates.
;Installable Packages
:This lists some package sets that be installed to add common features to the SBC.
:'''Before''' trying to install these package sets, enable "Include full Debian Package Repository", and "Refresh available packages" - otherwise the needed packages won’t be available and the install will fail.
;Java Support (Button)
:This installs 'libphidget21-java' and 'default-jre-headless' to support Java based projects.
;C/C++ Development Tools/Headers 
:This installs 'build-essential' which allows for on-board development in C/C++.
 
We also have a detailed walkthrough of installing and using C, Java, and Python [[OS - Phidget SBC#Getting Started - The SBC (Debian Linux)|on the SBC]].
 
{{SBCWebifHeader|Settings}}
;Include full Debian Package Repository
:This enables the full Debian repository in the apt sources list.
:By default, only the Phidgets repository is included.
:When enabled, all system packages will show up in the updates list, rather then just Phidgets packages, allowing for full system updates.
:This also allows the user to install any packages they like, from the SSH interface.
 
{{SBCWebifTab|Reboot}}
The board can be rebooted remotely from this page. The reboot should take 45-60 seconds depending on network conditions. It tries to shut down all running programs before restarting as opposed to the reset button.
 
{{SBCWebifTab|About}}
The license information and credits for the configuration interface is displayed here. A link is provided to the original sources and the Phidgets web site.
 
==Technical Details==
 
===Rebooting/Resetting the PhidgetSBC===
To reboot the device, quickly press the black reset button found between the USB connectors and the power terminals.  Both Ethernet Port LEDs (yellow-connectivity, green-activity), and the green status LED will turn off.  The reboot is done when all LEDs come back on in about 25 seconds.
 
To reset the firmware, press and hold the button for 10 seconds until the green status LED begins to blink, then release. Both Ethernet Port LEDs will turn off (yellow-connectivity, green-activity) for 80 seconds; the green status LED will then turn off; then all LEDs will come back on in 20 seconds. All data will be lost and the operating system will be reset to a factory state.
 
To boot into the Recovery / Upgrade system, hold the button for 20 seconds until the green status LED switches from blinking slowly to blinking quickly, then release. The recovery system allows for factory reset, full system upgrades and recovery of the main system.
 
===Recovery / Upgrade System===
The recovery / upgrade system is a small system from which the main system can be reset/upgraded, or recovered.
 
====Entering the Recovery System====
The recovery system can be entered in two ways.
# From the ‘System: Backup & Restore’ web interface page.
# By holding down the reset button for 20+ seconds - until the green light has switched from flashing slowly to flashing quickly.
 
====Upgrades====
Generally, you should not need to do a full system upgrade. Upgrades are meant to be performed via the package system, and Phidgets maintains it’s own package repository from which to push out updates.
 
Occasionally, you may wish to go back to a clean install and upgrade to the latest rootfs/kernel from Phidgets. Phidgets will not be creating these images with every release of phidget21 as we did with PhidgetSBC1, rather they will be released several times a year, as needed for major changes not easy to push out via packages.
 
You can also flash your own custom kernel or root filesystem image.
 
====Factory Reset====
This restores the kernel and root filesystem from backup, overwriting any changes that may have been made. This is equivalent to holding down the reset button for 10 seconds.
 
====Recovery====
If the main filesystem has been damaged/misconfigured in such a way that it won’t boot, you may be able to fix the issue / recovery important files before running a reset. The recovery system runs an SSH server that you can loginto for console access. Username/password is: root/root.
 
You can mount the main root filesystem with the following commands (assuming it’s not damaged):
# ubiattach /dev/ubi_ctrl -m 6
# mount -t ubifs /dev/ubi0_0 /mnt
 
===Ports and Connectors===
 
{{UGbox|
Numbered in the circles on the diagram:
# 10/100baseT Ethernet
# Six USB High-Speed Ports
# Indicator LEDs
# Reboot / Reset Button
# Power input terminal
# Power input jack
# Eight Interface Kit Digital Inputs  (Indexed 0 to 7)
# Eight Interface Kit Digital Outputs (Indexed 0 to 7)
# Eight Interface Kit Analog Inputs (Indexed 0 to 7)
:A. JTAG connector, for internal testing purposes only
|[[File:1073_0_Layout_Top.jpg|400px|link=]]
||}}
 
[[File:1072_0_Layout_Front.jpg|500px|link=]]
 
:1. This Ethernet port is used for network connectivity to the PhidgetSBC. This enables access to the PhidgetSBC as well as any connected Phidgets through the network server. Alternatively, the USB Wireless adapter can be used for network connectivity.
:2. These USB ports can be used for connecting Phidgets, Wi-Fi adapters, flash drives, webcams, USB hubs, etc.
:3. These LEDs indicate the status of the PhidgetSBC. The Red LED indicates that the power supply is on and running properly. The green LED indicates boot status. The green LED will turn on and off once during boot and then turn back on when everything is running.
:4. This will reboot the board if pressed once. Note that this is a forced reboot. Any user programs that were running may leave their data in a inconsistent state, but this is safe for the base system. A soft reboot can be performed remotely from the configuration interface.If held for more then 10 seconds, the red LED will start to blink and enter emergency Reset mode. Once the button is released, the onboard memory will revert to a factory-fresh state. This includes overwriting the kernel and root file system, and erasing all configuration, user data, and applications. If held for more then 20 seconds, the Recovery/Upgrade system will be booted, from which a Factory Reset/Full filesystem upgrade can be performed.
:5,6. The PhidgetSBC can be powered from either the terminals or the barrel connector.
:7,8,9. The Interface Kit I/O is explained in the Interface Kit section of the manual.
 
===Power Distribution===


{{UGC-Entry|Power Distribution||
The 12V power supply is stepped down to 5V and distributed in the following way:
The 12V power supply is stepped down to 5V and distributed in the following way:
* Each USB port has 500 mA available.
* The bulit-in VINT Hub Phidget has 500mA available.
}}


* Each USB port has 500 mA available
{{UGC-Entry|Configuration System||
* All analog inputs share a total of 500 mA
The configuration system used by the SBC Web Interface is stored in ''/etc/webif''. It is not recommended to modify these files.
* The digital outputs, +5V terminals, USB controller, and pull-ups all share a total of 500 mA
}}
 
===Power Over Ethernet===
Power over Ethernet can be used to provide both a network connection and power to a device when a power outlet is not available. This means that with the proper adapters, you can run the PhidgetSBC entirely off an Ethernet source. The PhidgetSBC does not draw power directly from a powered Ethernet line, but instead can use a setup where the power is split to a separate line again near the PhidgetSBC. The board has been tested and will work with Power Sourcing Equipment that can output 6-12VDC.
 
===Hardware Layout===
The PhidgetSBC is based around the i.MX28 processor. This is an ARM926EJ-S based microprocessor from Freescale, which runs at 454MHz. Connected to this is 128 MiB of DDR2 SDRAM, 1 GiB of very large page NAND and a 10/100baseT Ethernet controller. The microprocessors USB Host port is connected to a 7-port USB 2.0 High Speed Hub chip. The integrated PhidgetInterfaceKit 8/8/8 is connected to one of the hub ports, with the other 6 ports being brought out to the user.
 
===Software Layout===
The PhidgetSBC runs Debian/GNU Linux 7.0 as its operating system and gets booted with U-Boot. The kernel is 3.6.3 and generally kept up to date with the latest releases. The root filesystem is created using debootstrap and is mounted in a ~924MiB nand partition using the UBIFS filesystem, in Read-Write mode.
 
Configuration data is located at ‘/etc/webif’. This is where all configuration that can be set through the website is located.
 
User applications are stored in ‘/usr/userapps’, each is their own directory.
 
The kernel is stored on bare Nand in it own 4MiB partition, in the uImage format.
 
===Date and Time===
The date and time are set using ntp (network time protocol) at boot. The ntp daemon continues to run in the background and will periodically update the clock, keeping it very close to real time.
 
There is a real-time clock with battery backup which will preserve date/time across reboots, power removal. The real-time clock is synced to system time during reboot/shutdown. If power is unplugged suddenly, the real-time clock may not have the correct time.
 
===Wireless Networking System===
Wireless networking is supported using the available adapter and is configured through the configuration interface.
 
===Configuration System===
The configuration system used by the website is stored in /etc/webif’. These files should generally not be changed manually, but there is no reason why they could not be. It’s very easy to enter invalid data that could cause the system to behave unexpectedly or not boot.
 
===Nand Layout===
The board contains 1GiB of Nand. This nand is split into 8 partitions as follows:
{|
|-
|0: bootloader      || size: 4MiB    || Read Only
|-
|1: environment      || size: 512KiB  || Read Only
|-
|2: device_tree      || size: 512KiB  || Read Only
|-
|3: recovery_system  || size: 4MiB    || Read Only
|-
|4: recovery_kernel  || size: 4MiB    || Read Only
|-
|5: recovery_fs      || size: 83MiB  || Read Only
|-
|6: kernel            || size: 4MiB    || Writable
|-
|7: rootfs            || size: 924MiB  || Writable
|}
 
U-Boot and recovery kernel and filesystem cannot be written from Linux - this is a safety measure.
 
===Boot Process===
This describes the boot process from power on.
# CPU loads the bootstream from Nand
# Bootstream initializes memory, power and GPIO, then runs u-boot from Nand
# u-boot turns the green LED on and then checks to see if the reset button is being held down
# if the reset button is held, u-boot either restores the kernel/filesystem, or boot into the recovery system, depending on the hold time
# u-boot then loads the device tree and Linux kernel into Ram and then runs the kernel
# Linux reads in the device tree from ram, and turns off the green LED
# Linux then boots, bringing up usb, ethernet, etc.
# init gets run as the parents of all processes, and uses the /etc/inittab script to bring up the system. This includes mounting other filesystems, settings the hostname, running the scripts in /etc/init.d, and running user applications
# inittab then turns the green LED on. The system has finished booting
 
===Drivers for USB to Serial adapters===
The SBC kernel contains driver support for the following USB to Serial Adapters. Please consult the kernel documentation for details into the driver support for the USB to Serial adapters.
 
 
{| style="border:1px solid darkgray;" cellpadding="7px;" width="40%"
|-style="background: #e9e9e9" align=center
! Company || Product
|-
|style="width: 10%; background: #f0f0f0" align=left| ConnectTech
|style="width: 10%; background: #f0f0f0" align=left| WhiteHEAT
|-
|style="width: 10%; background: #f0f0f0" align=left| Keyspan
|style="width: 10%; background: #f0f0f0" align=left| USA-18X, USA-28, USA-28X, USA-28XA, USA-28XB, USA-19, USA-19W, USA-19QW, USA-19QI, USA-49W, USA-49WLC
|-
|style="width: 10%; background: #f0f0f0" align=left| FTDI
|style="width: 10%; background: #f0f0f0" align=left| Single Port Serial Adapter
|-
|style="width: 10%; background: #f0f0f0" align=left| Cypress
|style="width: 10%; background: #f0f0f0" align=left| M8 CY4601 Family
|-
|style="width: 10%; background: #f0f0f0" align=left| Digi International
|style="width: 10%; background: #f0f0f0" align=left| AccelePort USB Serial
|-
|style="width: 10%; background: #f0f0f0" align=left| Belkin
|style="width: 10%; background: #f0f0f0" align=left| USB Serial Adapter F5U103
|-
|style="width: 10%; background: #f0f0f0" align=left| MCT
|style="width: 10%; background: #f0f0f0" align=left| USB Single Port Serial Adapter U232
|-
|style="width: 10%; background: #f0f0f0" align=left| Inside Out Networks
|style="width: 10%; background: #f0f0f0" align=left| Edgeport Serial Adapter
|-
|style="width: 10%; background: #f0f0f0" align=left| Prolific
|style="width: 10%; background: #f0f0f0" align=left| PL2303
|-
|}
 
 
===Drivers for USB Wifi Adapters===
The SBC kernel contains driver support for the following USB Wireless Adapters. Please consult the kernel documentation for more details.
 
 
{| style="border:1px solid darkgray;" cellpadding="7px;" width="60%"
|-style="background: #e9e9e9" align=center
! Company || Module || Chipsets
|-
|style="width: 10%; background: #f0f0f0" align=left| Atheros
|style="width: 10%; background: #f0f0f0" align=left| ath9k_htc
|style="width: 10%; background: #f0f0f0" align=left| AR9271, AR7010
|-
|style="width: 10%; background: #f0f0f0" align=left| Atheros
|style="width: 10%; background: #f0f0f0" align=left| carl9170
|style="width: 10%; background: #f0f0f0" align=left| AR9170
|-
|style="width: 10%; background: #f0f0f0" align=left| Intersil
|style="width: 10%; background: #f0f0f0" align=left| r8712u
|style="width: 10%; background: #f0f0f0" align=left| ISL3877, ISL3880, ISL3886, ISL3887, ISL3890
|-
|style="width: 10%; background: #f0f0f0" align=left| Realtek
|style="width: 10%; background: #f0f0f0" align=left| r8712u
|style="width: 10%; background: #f0f0f0" align=left| RTL8188SU, RTL8191SU, RTL8192SU
|-
|style="width: 10%; background: #f0f0f0" align=left| Ralink
|style="width: 10%; background: #f0f0f0" align=left| rt2500usb
|style="width: 10%; background: #f0f0f0" align=left| RT2500USB/RT2571
|-
|style="width: 10%; background: #f0f0f0" align=left| Ralink
|style="width: 10%; background: #f0f0f0" align=left| rt2800usb
|style="width: 10%; background: #f0f0f0" align=left| RT2070, RT2770, RT2870, RT3070, RT3071, RT3072, RT3370, RT3572, RT5370, RT5372
|-
|style="width: 10%; background: #f0f0f0" align=left| Ralink
|style="width: 10%; background: #f0f0f0" align=left| rt73usb
|style="width: 10%; background: #f0f0f0" align=left| RT2501USB/RT2571W
|-
|style="width: 10%; background: #f0f0f0" align=left| Realtek
|style="width: 10%; background: #f0f0f0" align=left| rtl8187
|style="width: 10%; background: #f0f0f0" align=left| RTL8187L, RTL8187B
|-
|style="width: 10%; background: #f0f0f0" align=left| Realtek
|style="width: 10%; background: #f0f0f0" align=left| rtl8192cu
|style="width: 10%; background: #f0f0f0" align=left| RTL8188CUS, RTL8192CU
|-
|style="width: 10%; background: #f0f0f0" align=left| ZyDAS / Atheros
|style="width: 10%; background: #f0f0f0" align=left| zd1211rw
|style="width: 10%; background: #f0f0f0" align=left| ZD1211/ZD1211B, AR5007UG
|-
|}
 
===U-Boot===
U-Boot is used for setting up the processor and booting Linux, and is only accessible by the serial port. Normal users will not need to use it. If you are connected to the serial port, you will see the U-Boot prompt shortly after power up. You can view the environment variables for information on how to properly boot Linux on the PhidgetSBC.
 
Be very careful when modifying the u-boot partition. If it is damaged or overwritten, it is difficult to fix.
 
Refer to U-Boot documentation here: [http://www.denx.de/wiki/DULG/Manual www.denix.de/wiki/DULG/Manual] for more information on using U-Boot.
 
===Ad-hoc Networks===
 
The SBC can be configured as a device in an ad-hoc network.
 
For more information, visit the {{ARTICLE|AdhocNetworksOnSBC|Ad-Hoc Networks}} page.
 
===Further Reading===
 
Check the [[OS - Phidget SBC|Phidget SBC]] page for more details about using the Phidget SBC.


Check the [[1018 User Guide]] for more information about the InterfaceKit on this board.
{{UGC-End}}


{{UGnext|}}
==What's Next?==
Check the [[OS - Phidget SBC|Phidget SBC page]] next for a guide on how to start writing your own programs, and more!

Latest revision as of 18:47, 6 May 2024


Welcome

Welcome to the user guide for the SBC3003. In this guide we will introduce you to your new Phidget and show you what it is capable of. To get started, make sure you have the following things available:


Ready? Then let's get started!

Getting Started

You can get set up using this video or by following the steps below:

1. If you have any USB Phidgets, VINT Phidgets, or analog sensors, plug them into the SBC now.

2. Connect your SBC to your network using the Ethernet cable.

3. Connect your SBC to power. A red LED will immediately light up underneath the power barrel, indicating your SBC is receiving power. There is also a green LED that will briefly turn on when power is supplied, and then remain on after the SBC has fully booted.


The next step will be to access the SBC Web Interface. This process will vary slightly depending on what type of computer you use:

Windows

First things first: make sure you have the latest Phidget drivers installed on your machine. Download and run the installer:


You also need to download Bonjour on your Windows computer so that you can access your SBC over the network.


Now that you have the drivers installed, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel


Windows PhidgetTaskbar.PNG


Double click on the icon to open the Phidget Control Panel and navigate to the Network Phidgets tab:


Phidgetsbc windowscontrolpanel.PNG


As shown in the image above, the Phidget Control Panel will relay the following information to you:

  • The default link local address (mDNS address) which is phidgetsbc.local
  • The IP address. There is no default IP address, it must be assigned to the SBC.
  • The MAC address. This is useful for distinguishing between multiple SBCs.


Next, double-click on your SBC in the Phidget Control Panel. This will automatically open the SBC Web Interface, which, conveniently enough, is our next topic! Jump ahead to the SBC Web Interface.

macOS

First things first: make sure you have the latest Phidget drivers installed on your machine. Download and run the installer:


Now that you have the drivers installed, open the Phidget Control Panel by finding the Ph.jpg icon in your applications folder.

Open the Phidget Control Panel application and navigate to the PhidgetSBCs tab:

Phidgetsbc maccontrolpanel.png

As shown in the image above, the Phidget Control Panel will relay the following information to you:

  • The default link local address (mDNS hostname) which is phidgetsbc.local
  • The IP address. There is no default IP address, it must be assigned to the SBC.
  • The MAC address. This is useful for distinguishing between multiple SBCs.


Next, double-click on your SBC in the Phidget Control Panel. This will automatically open the SBC Web Interface, which, conveniently enough, is our next topic! Jump ahead to the SBC Web Interface.

Linux

First things first: make sure you have the latest Phidget drivers installed on your machine. Head over to the getting started with Linux section on the Linux page in order to get everything installed.


Now that your machine is ready to go, type the following command into the terminal:

phidget22admin -s

Your terminal will look something like this:

Phidgetsbc linuxphidgetadmin.PNG

As shown in the image above, the phidget22admin call will relay the following information to you:

  • The default link local address (mDNS hostname) which is phidgetsbc.local
  • The IP address. There is no default IP address, it must be assigned to the SBC.
  • The MAC address. This is useful for distinguishing between multiple SBCs.


Now that you know the IP address that has been assigned to the SBC, type it into a web browser and hit enter. This will open the SBC Web Interface, which, conveniently enough, is our next topic!

SBC Web Interface

The SBC Web Interface is a powerful tool that will prove invaluable when you begin development. You opened the SBC Web Interface in the previous step, so let`s jump right in and set a password!

Setting a password

The first time you open the SBC Web Interface, you will be greeted with this screen:


You will use this password in the following situations:

  • Future SBC Web Interface access (linked to user admin)
  • SBC terminal access (linked to user root)

Take a look around


Welcome to the SBC homepage! Here you can view system information such as the firmware version, the amount of storage you have left, and more. Take a minute to look around, and, when you're ready, we will give an overview of the SBC Web Interface, starting with networking.

Update Packages

We strongly recommend you update your packages before you start using your SBC. This will make sure that all of the software is up to date and will fix many potential issues with compiling code and using the Phidget Control Panel. To update your packages, go to System -> Packages.

Then, scroll to the bottom of the list and click on "Refresh Available Packages". It will take a few minutes to refresh the packages. Then, click on "Upgrade All Packages".

Set up Networking

You can connect to your network in two ways with the SBC:

  • via an Ethernet cable
  • via a Wi-Fi USB adapter (we recommend this one)

The SBC will try to connect to Ethernet first. It can also switch between Wi-Fi and Ethernet on the fly. If you're following this guide, you've already set up your network using an Ethernet cable by simply plugging it in. Next, we will take a look at setting up Wi-Fi.

Wireless

To set up Wi-Fi on the SBC, first plug in your Wi-Fi USB adapter. Next, navigate to Network->Wireless and your screen will look something like this:


Add your Wi-Fi network by selecting it from the list, providing any necessary credentials, and clicking the Add This Network button.

Here are some useful Wi-Fi tips:

  • You don't have to see a network in order to connect to it. You can add the SSID and password of a network, and the next time the SBC boots it will connect to that network if it is available.
  • The SSID settings are only for DHCP networks.


Next, we will cover setting a static IP with the SBC Web Interface.

Static IP

Don't have DHCP on your main network? Not to worry, you can easily set up a static IP with the SBC:

  • Ethernet: Navigate to Network->Settings to set up a static IP.
  • Wi-Fi: Navigate to Network->Wireless to set up a static IP.

Now simply enter your network configuration and save the changes. The SBC will immediately start to use the static IP.

Warning: setting a static IP improperly can make the SBC very hard to re-connect to depending on the routing within the rest of your network.

View Attached Phidgets

Phidgets Status

Now that your networking is set up, let's take a look at which Phidgets are attached to the SBC. Do this by navigating to Phidgets->Status. Your screen should look something like this:


Notes about attached Phidgets:

  • The SBC has a built in VINT Hub Phidget, so you will always see it on your list of attached Phidgets.

Control Panel

After you confirm which Phidgets are attached to your SBC, navigate to Phidgets->Control Panel. Here, you can test your Phidgets and learn more about their functionality.

Using a Webcam

If you would like to use a webcam with the SBC, ensure it is a UVC (USB Video Class) compatible webcam that supports MJPEG. Next, simply plug it into the SBC and navigate to the Webcam tab.



Take a minute to play around with the different resolutions and frame rates available. Also, be sure to check out the webcam control dialog shown below:


Notes about using a webcam:

  • When using a password, the username is webcam. It is recommended to add a password if you are planning to share the stream. Note: the HTTP authentication is sent unencrypted.
  • If multiple webcams are attached, they will start up with the same settings (port number will be incremented for each one). When using multiple webcams, resolution and frame rates will have to be reduced.

Advanced Topics and Troubleshooting

Expand All
Upgrading or Downgrading Device Firmware

Firmware Upgrade

MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.

Linux users can upgrade via the phidget22admin tool (see included readme for instructions).

Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.

ControlpanelFWup.jpg

Firmware Downgrade

Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).

MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).

Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:

ControlpanelFWdown.jpg

Firmware Version Numbering Schema

Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.

FWversion.jpg

  • If the digit in the 'ones' spot changes, it means there have been bug fixes or optimizations. Sometimes these changes can drastically improve the performance of the device, so you should still upgrade whenever possible. These upgrades are backwards compatible, meaning you can still use this Phidget on a computer that has Phidget22 drivers from before this firmware upgrade was released.
  • If the digit in the 'tens' spot changes, it means some features were added (e.g. new API commands or events). These upgrades are also backwards compatible, in the sense that computers running old Phidget22 drivers will still be able to use the device, but they will not be able to use any of the new features this version added.
  • If the digit in the 'hundreds' spot changes, it means a major change has occurred (e.g. a complete rewrite of the firmware or moving to a new architecture). These changes are not backwards compatible, so if you try to use the upgraded board on a computer with old Phidget22 drivers, it will show up as unsupported in the Control Panel and any applications build using the old libraries won't recognize it either. Sometimes, when a Phidget has a new hardware revision (e.g. 1018_2 -> 1018_3), the firmware version's hundreds digit will change because entirely new firmware was needed (usually because a change in the processor). In this case, older hardware revisions won't be able to be upgraded to the higher version number and instead continue to get bug fixes within the same major revision.
Armbian Packages

You can find a directory of Armbian packages here.

We have both desktop and server versions available. The Armbian release is more like a general Linux release with the Phidget libraries bundled in, whereas the default OS on the PhidgetSBC is kept very minimal to improve boot time and performance for Phidget-focused tasks.

Connecting a USB Hub

If you plan on connecting more than 3 USB devices to the SBC4, you'll need to use a USB Hub. If you do, make sure you plug it into one of the ports highlighted in green below:

SBC3003 USB.jpg


The port highlighted in red is a USB On-the-go port, which functions as a normal USB port except that connecting multiple devices to it using a USB hub will cause those devices to be unstable and to disconnect unexpectedly.

If the devices you're plugging into your hub are rated for a total of 500mA or more, you should use an externally powered USB hub.

Ports and Connectors

SBC3003 Ports.JPG

1. The Ethernet port is used for network connectivity to the SBC. This enables network access to the SBC as well as any connected Phidgets through the Phidget Network Server. Alternatively, a Wi-Fi USB adapter can be used for wireless network connectivity.
2. The USB ports can be used for connecting Phidgets, Wi-Fi adapters, flash drives, webcams, USB hubs, and other devices.
3. The HDMI connector can be used for connecting a monitor the the SBC. In this situation, the SBC will function like any other Linux computer. (Note: you must plug the monitor in before powering up the SBC in order for it to be recognized).
4. Six VINT ports, essentially an integrated VINT Hub Phidget.
5. The SBC is powered from the barrel jack connector.
6 These LEDs indicate the status of the SBC. The red LED indicates that the SBC is receiving power. The green LED indicates boot status. The green LED will turn on and off once during boot and then remain on while the SBC is running.
7 The micro SD card slot.
Hardware Details

The SBC4 is built around the A20 processor. This is an ARM Cortex-A7 based microprocessor from Allwinner Technology, which runs at 1 GHz. Connected to this is 512 MB of DDR3 SDRAM, and a 10/100baseT Ethernet controller. The microprocessors USB Host port is connected to 3 USB 2.0 High Speed ports.

Software Details

The PhidgetSBC runs Debian/GNU Linux 9.0 as its operating system and gets booted with U-Boot.

Date and Time

The date and time are set using NTP (Network Time Protocol) at boot. A NTP daemon continues to run in the background and will periodically update the clock, ensuring the time is always accurate.

There is a real-time clock with battery backup which will preserve date/time across reboots and power removal. If power is suddenly lost, the real-time clock may not have the correct time.

Factory Reset

The SBC3003 does not natively support factory reset functionality. However, if your SBC3003 becomes corrupt and needs to be reset to factory firmware, you can write a new image to the micro SD card (or a new card) to similar effect.

Power Distribution

The 12V power supply is stepped down to 5V and distributed in the following way:

  • Each USB port has 500 mA available.
  • The bulit-in VINT Hub Phidget has 500mA available.
Configuration System

The configuration system used by the SBC Web Interface is stored in /etc/webif. It is not recommended to modify these files.

What's Next?

Check the Phidget SBC page next for a guide on how to start writing your own programs, and more!