added README for ubuntu wrapper
Change-Id: Iba21ac84d7e60c5a64b5da8fba853de45393ddab
Reviewed-on: https://weave-review.googlesource.com/1159
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/examples/ubuntu/README b/libweave/examples/ubuntu/README
new file mode 100644
index 0000000..10daced
--- /dev/null
+++ b/libweave/examples/ubuntu/README
@@ -0,0 +1,98 @@
+Overview
+--------
+The wrapper implements OS dependent services for libweave
+
+Building
+--------
+ - prepare environment
+ examples/ubuntu/prerequisites.sh
+ - build daemon
+ examples/ubuntu/build.sh
+ - binaries for daemon is at
+ out/Debug/weave
+
+Prepare Host OS
+---------------
+enable user-service-publishing in avahi daemon
+ file: /etc/avahi/avahi-daemon.conf
+ check: disable-user-service-publishing=no
+ restart: sudo service avahi-daemon restart
+
+Acquire Registration Ticket
+---------------------------
+Goto https://developers.google.com/oauthplayground/
+ - "Step 1", paste to "Authorize APIs" with
+ https://www.googleapis.com/auth/clouddevices
+ click "Authorize APIs", then "Allow" to get an
+ "authorization code"
+ - "Step 2", "Exchange authorization code for tokens"
+ - "Step 3", obtain a registration ticket for your new weave device
+ HTTP Method: POST
+ Request URI: https://www.googleapis.com/clouddevices/v1/registrationTickets
+ Enter request body:
+ {
+ "userEmail": "me"
+ }
+ then "Send the request", a ticket id will be returned in
+ {
+ "userEmail": "user@google.com",
+ "kind": "clouddevices#registrationTicket",
+ "expirationTimeMs": "1443204934855",
+ "deviceId": "0f8a5ff5-1ef0-ec39-f9d8-66d1caeb9e3d",
+ "creationTimeMs": "1443204694855",
+ "id": "93019287-6b26-04a0-22ee-d55ad23a4226"
+ }
+ Note: the ticket "id" is not used within 240 sec, it will be expired.
+
+Register device to cloud
+------------------------
+ - copy the ticket "id" generated above
+ 93019287-6b26-04a0-22ee-d55ad23a4226
+ - go to ubuntu terminal, register ubuntu and start daemon with
+
+ sudo out/Debug/weave --registration_ticket=93019287-6b26-04a0-22ee-d55ad23a4226
+
+ you should see something like:
+ Publishing service
+ Saving settings to /var/lib/weave/weave_settings.json
+
+ note: in second and future runs, --registration_ticket
+ options is not necessary anymore
+
+ - get your device id with
+ sudo cat /var/lib/weave/weave_settings.json
+ you should see
+ ...
+ "device_id": 0f8a5ff5-1ef0-ec39-f9d8-66d1caeb9e3d
+ ...
+
+ this device_id shall be used for future communication
+ with your device. it does not expire and no need to
+ register.
+
+ - verify device is up at
+ https://gcd.sandbox.google.com/clouddevices#
+
+Send Command to Ubuntu Device
+-----------------------------
+ - go to the oauthplayground used for registration ticket command
+ in "Step 3", send base.identify with
+ HTTP Method: POST
+ Request URI: https://www.googleapis.com/clouddevices/v1/commands
+ Enter request body:
+ {
+ "deviceId": "0f8a5ff5-1ef0-ec39-f9d8-66d1caeb9e3d",
+ "name": "base.identify"
+ }
+ "Send the request", you command will be "queued" as its "state"
+
+ - verify command received in cloud with
+ https://gcd.sandbox.google.com/clouddevices#
+
+ click on "events" next to your device, command history should show
+ queued --> inProgress --> done
+ - verify the command execution with weave daemon
+ in terminal running the daemon, observe something similar to
+ New command 'base.identify' arrived, ...
+ received command: base.identify
+ base.identify command: completed