phyweb
is a Node.js advertiser for Physical-Web. It supports currently advertising URLs over SSDP protocol.
- Requires Node.js >= 0.10.x (tested with v0.10.25)
- No Platform requirements: Win, Linux and Mac are supported
-
clone module and install dependencies
git clone <URL to this repository> cd phyweb npm install
-
run following command in
phyweb
foldernode phyweb URL [URL2] [URL2] ...
-
Example: advertise the two URLs
http://www.fokus.fraunhofer.de/fame
andhttp://physical-web.org
node phyweb URL http://www.fokus.fraunhofer.de/fame http://physical-web.org
phyweb waits for SSDP M-SEARCH
requests with type urn:physical-web-org:device:Basic:1
from Physical-Web clients and replies with a SSDP packet for each URL. Below are the SSDP search and response packets for the example above:
-
Physical-Web Client e.g. Android or iOS client sends the following SSDP
M-SEARCH
Packet:M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 2 ST: urn:physical-web-org:device:Basic:1
-
phyweb receives the
M-SEARCH
request and responds with the following SSDP packets (one packet for each URL):HTTP/1.1 200 OK NT: urn:physical-web-org:device:Basic:1 USN: uuid:6bd5eabd-b7c8-4f7b-ae6c-a30ccdeb5988::urn:physical-web-org:device:Basic:1 LOCATION: http://www.fokus.fraunhofer.de/fame SERVER: Windows_NT/6.1.7601 UPnP/1.1 phyweb/0.0.1
HTTP/1.1 200 OK NT: urn:physical-web-org:device:Basic:1 USN: uuid:6bd5eabd-b7c8-4f7b-ae6c-a30ccdeb5988::urn:physical-web-org:device:Basic:1 LOCATION: http://physical-web.org SERVER: Windows_NT/6.1.7601 UPnP/1.1 phyweb/0.0.1
-
Physical-Web client needs to read the
LOCATION
header and pass the URL (value ofLOCATION
header) to the corresponding component in the Physical-Web client for further processing and then to display the result to the user.
Copyright 2014 Fraunhofer FOKUS
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Fraunhofer FOKUS - Competence Center FAME // Future Applications and Media