From c94e9e371178c8f8a4622abf9e2a81f3c6383946 Mon Sep 17 00:00:00 2001 From: smukoehler Date: Thu, 5 Feb 2015 16:21:04 -0800 Subject: [PATCH 1/3] Putting updated jar file --- java/JavaSmap_0.1.jar | Bin 94483 -> 93381 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 java/JavaSmap_0.1.jar diff --git a/java/JavaSmap_0.1.jar b/java/JavaSmap_0.1.jar old mode 100644 new mode 100755 index 4dba904dcd2e35918a506c6dfeb64f0df206b879..a714a5a58df077492b4d6ae2050532a371f3bcda GIT binary patch delta 2868 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 From 3db587058b14e665f57d9214fafc71637428bbf1 Mon Sep 17 00:00:00 2001 From: smukoehler Date: Thu, 5 Feb 2015 16:22:33 -0800 Subject: [PATCH 2/3] Initial commit of Matlab Smap scripts --- matlab/PSTtoUTC.m | 4 ++++ matlab/README.md | 30 +++++++++++++++++++++++ matlab/RunMatlabSmap.m | 54 ++++++++++++++++++++++++++++++++++++++++++ matlab/UTCtoPST.m | 4 ++++ 4 files changed, 92 insertions(+) create mode 100644 matlab/PSTtoUTC.m create mode 100644 matlab/README.md create mode 100644 matlab/RunMatlabSmap.m create mode 100644 matlab/UTCtoPST.m diff --git a/matlab/PSTtoUTC.m b/matlab/PSTtoUTC.m new file mode 100644 index 0000000..33def72 --- /dev/null +++ b/matlab/PSTtoUTC.m @@ -0,0 +1,4 @@ +function timearray = PSTtoUTC(timearray) +% Take PST time in Matlab to UTC time in Java. + +timearray = (timearray +1/24*8 - datenum(1970,1,1))*86400*1000; diff --git a/matlab/README.md b/matlab/README.md new file mode 100644 index 0000000..6b57bad --- /dev/null +++ b/matlab/README.md @@ -0,0 +1,30 @@ +How to set up MatlabSmap. + +(1) Unzip MatlabSmap.zip folder and extract from the java folder: +JavaSmap_0.1.jar + +and from the java/lib folder: +javax.json-1.0-b06.jar + +(2) Add jar paths to Matlab java path. + +(Option 1) Add dynamically. For example, include in your m-file the following code: +javaaddpath('/Users/skoehler/Documents/SDB_MPC/smap/Matlab/JavaSmap_0.1.jar') +javaaddpath('/Users/skoehler/Documents/SDB_MPC/smap/java/JavaSmap/lib/javax.json-1.0-b06.jar') +javaaddpath('/Users/skoehler/Documents/SDB_MPC/smap/java/JavaSmap/lib/json-simple-1.1.1.jar') + +(Option 2) To add statically, find and edit the following file to include those three jar paths. +$MATLAB\toolbox\local\classpath.txt + +For more information, see: http://www.mathworks.com/matlabcentral/answers/96993-how-can-i-use-a-java-class-from-a-jar-file-in-matlab + +Check java path by typing: +>> javaclasspath + +(3) Download JSONLab. Add to Matlab path (e.g. use Set Path button or addpath()) +http://www.mathworks.com/matlabcentral/fileexchange/33381-jsonlab--a-toolbox-to-encode-decode-json-files-in-matlab-octave + +For a good review of using JSON in Matlab, see: +http://undocumentedmatlab.com/blog/json-matlab-integration + + diff --git a/matlab/RunMatlabSmap.m b/matlab/RunMatlabSmap.m new file mode 100644 index 0000000..9c06740 --- /dev/null +++ b/matlab/RunMatlabSmap.m @@ -0,0 +1,54 @@ +%% RunMatlabSmap.m +% Use JavaSmap to collect data from sMap. + +close all +clear all +clear java + +disp('Please verify that you set the correct paths in MatlabSmap.m at line 11, 15, 16 and 17') + +% jsonlab dynamic link if not set statically: +% addpath('C:\Users\Robin\Documents\MATLAB\DownloadedFun\JsonLab\jsonlab') +% If commented, check the following paths are statically added to +% classpath.txt. Otherwise, uncomment and dynamically add jars to Java +% path. Check path with javaclasspath. +% javaaddpath('C:\Users\Robin\Desktop\java\JavaSmap_0.1.jar') +% javaaddpath('C:\Users\Robin\Desktop\java\lib\javax.json-1.0-b06.jar') +% javaaddpath('C:\Users\Robin\Desktop\java\lib\json-simple-1.1.1.jar') +%javaclasspath + +%% Query Set Up +archiverUrl = 'http://new.openbms.org/backend/api/query'; +js = JavaSmap(archiverUrl); +uuid_list = java.util.ArrayList; + +%% Query Time +% % Option 1: choose a time frame that ends at the current time +% Helpful units in Java time +one_minute = 1000*60; +one_hour = one_minute*60; +one_day = 24*one_hour; +one_week = 7*one_day; +% endtime = java.lang.System.currentTimeMillis(); +% start = endtime - one_day; + +% Option 2: Choose specific dates +start = PSTtoUTC(datenum(2014,12,3,0,0,0)); +endtime = PSTtoUTC(datenum(2014,12,4,0,0,0)); + +%% Specify your uuid here (you can find the uuid at http://new.openbms.org/plot/) +my_uuid = '395005af-a42c-587f-9c46-860f3061ef0d'; +uuid_list.add(my_uuid); +result = js.data_uuid(uuid_list, start, endtime, int64(100000), int64(size(uuid_list))); + +%% Postprocess +java.lang.System.out.println(result) +data = loadjson(char(result.toString())); +timestamp = data{1,1}.Readings(:,1); +% Convert from Java (UNIX) time to Matlab time, and from UTC to PST +timestamp = timestamp/86400/1000 + datenum(1970,1,1) - 1/24*8; +datastamp = data{1}.Readings(:,2); + +%% Plot +plot(timestamp,(datastamp-32)*5/9) +datetick('x') \ No newline at end of file diff --git a/matlab/UTCtoPST.m b/matlab/UTCtoPST.m new file mode 100644 index 0000000..79f0c07 --- /dev/null +++ b/matlab/UTCtoPST.m @@ -0,0 +1,4 @@ +function timearray = UTCtoPST(timearray) +% Take UTC time from Java and turns into PST time in Matlab. + +timearray = timearray/86400/1000 + datenum(1970,1,1) - 1/24*8; \ No newline at end of file From bf4318b36722caa390d23444eea1731ae23cfb22 Mon Sep 17 00:00:00 2001 From: smukoehler Date: Thu, 5 Feb 2015 16:26:27 -0800 Subject: [PATCH 3/3] Fixed some formatting in README.md --- matlab/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/matlab/README.md b/matlab/README.md index 6b57bad..886abb7 100644 --- a/matlab/README.md +++ b/matlab/README.md @@ -19,7 +19,8 @@ $MATLAB\toolbox\local\classpath.txt For more information, see: http://www.mathworks.com/matlabcentral/answers/96993-how-can-i-use-a-java-class-from-a-jar-file-in-matlab Check java path by typing: ->> javaclasspath + + >> javaclasspath (3) Download JSONLab. Add to Matlab path (e.g. use Set Path button or addpath()) http://www.mathworks.com/matlabcentral/fileexchange/33381-jsonlab--a-toolbox-to-encode-decode-json-files-in-matlab-octave