michaelslab

The intention of this project was to verify the possibility of applying of google apps script platform to my experimental projects.

When my Muon detector is running the measured data is stored automatically  in a data base at google. This allows with the help of a small google script to display the data for a given day.

 

To access the GUI please click here

 

 

 

Uploading Experiment Data

The experiment controller creates every 15 minutes files with the measured detector and correlation counts. This file is send via an http POST request to a google script app  which picks up the post request and stores the payload data in a data base.

The sending of the data file is done by a small shell script on the beaglebone which looks some what like this:

url=https://script.google.com/macros/......./exec
curl --insecure -X POST -d @$1  "${url}?filename=$1"

The variable url is the url which provided by google scripts upon registering the app script below:

function doGet() {
  return HtmlService.createHtmlOutputFromFile('myPage');
}

function doPost(req) {
  var rsp = HtmlService.createHtmlOutput();
  var filename = req.parameter.filename;   // This is the file name
  var data = req.postData.getDataAsString();

  .... store data in object database

  rsp.append("done");
  return rsp;
}

Upon receving the rest request, the doPost is called and parses the received data set and stores it in the google object database,

Displaying Experimental data

The experimental raw data is stored in the script db. Displaying the data is done by displaying the results of queries on this data base. The application shows per default all data and allows to select a day for detailed viewing.

Conclusion

Using app scripts has it's pitfalls: I stopped storing my result files on Google drive since there are quotas on how many files you can create per day. The same applies to the Google script object db. All in all getting better service condition you need to spend money on this issue. 

Implementing the script it not difficult since the API description at google are rather good and there are already plenty of examples avaiable.

Project Artefacts