NanoGW
This is a cloud plugin package of PicoGW, developed by Sony CSL.
The license is original:EULA for NanoGW plugin. Note that you need also to agree online Terms of Service when you try to connect our cloud service using this plugin.
Currently, this functionality is in experimental stage. Therefore, you need the cloud configuration file which is disclosed to only limited test users. If you do not have it, please wait until our early development stage will be over.
Installation
npm i -g picogw # Install Picogw npm i -g picogw-plugin-nanogw #Install NanoGW plugin
Running
picogw
Uninstallation
npm un -g picogw-plugin-nanogwnpm un -g picogw
Log file (Google Spreadsheet) format
- timestamp: timestamp in unixtime (milliseconds)
- source: 'source' value in arguments (if present)
- path: path name without '/v1/nanogw'
- method: get|post|put|delete|... (currently only 'post' and 'delete' are recorded)
- transport: http|websocket
- arguments
- response
Special funcs
- GET /v1/nanogw/mac
Get stored mac that uniquery identify this gateway.
Google Drive file download trunk
/trunk/google-drive-download
Available parameters:
- fileId: File ID in Google Drive.
- path: File path in Google Drive. this path is concatenated after /NanoGW/[MAC address].
- ext: Specifies the type of file (extension, such as csv or txt). Available if the selected file is Google spreadsheet, document, or presentation.
Either fileId or path must be specified. When both are specified, fileId is prioritized.
Tips
-
File upload example (multiple files can be uploaded once as a multipart message):
curl -X POST -F file=@./img.png http://localhost:8080/v1/nanogw/[Folder]/[Name]
The uploaded filename is taken from the posted filename. if 'parentId' argument is specified, folder path info is ignored.
-
Folder creation example curl -X POST -F folderName='NewFolderName' http://localhost:8080/v1/nanogw/[Folder]/[Name]
if 'parentId' argument is specified, folder path info is ignored. If no file object is posted, a folder is created under the specified path. In this case, an argument named 'folderName' defines the created folder name (if the name conflicts the existing one, error is returned).
curl -X POST http://localhost:8080/v1/nanogw/[Folder]/[Name]
If 'folderName' argument is omitted, the created folder name is identical to the ID.
-
GET with 'folderId' argument returns files in folderId. folderId works as a path to folder. In this case, the specified path is ignored.
-
Spreadsheet file update example:
curl -X PUT -d 'values=[["","val1",12345,"12/3"]]' http://localhost:8080/v1/nanogw/[path]/[to]/[spreadsheet] curl -X PUT -F values='[["a","b"]]' -F filename='profile' http://localhost:8080/v1/nanogw/test/people
- If the path is null (only possible with inside-picogw call), the log file (located at /NanoGW/[mac]/log, if not moved) is updated.
-
Google docs file in public folder can be opened by its hash id after
-
ffmpeg format conversion
ffmpeg -i ~/sample.mp3 -f s16le -acodec pcm_s16le -ar 16000 ~/sample.raw