{"action":"created","issue":{"url":"https://api.github.com/repos/open-eio/Open-Pipe-Kit-Project/issues/27","labels_url":"https://api.github.com/repos/open-eio/Open-Pipe-Kit-Project/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/open-eio/Open-Pipe-Kit-Project/issues/27/comments","events_url":"https://api.github.com/repos/open-eio/Open-Pipe-Kit-Project/issues/27/events","html_url":"https://github.com/open-eio/Open-Pipe-Kit-Project/issues/27","id":70419051,"number":27,"title":"Open Pipe Kit as a USB Drive and autorun.sh","user":{"login":"rjsteinert","id":156575,"avatar_url":"https://avatars.githubusercontent.com/u/156575?v=3","gravatar_id":"","url":"https://api.github.com/users/rjsteinert","html_url":"https://github.com/rjsteinert","followers_url":"https://api.github.com/users/rjsteinert/followers","following_url":"https://api.github.com/users/rjsteinert/following{/other_user}","gists_url":"https://api.github.com/users/rjsteinert/gists{/gist_id}","starred_url":"https://api.github.com/users/rjsteinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjsteinert/subscriptions","organizations_url":"https://api.github.com/users/rjsteinert/orgs","repos_url":"https://api.github.com/users/rjsteinert/repos","events_url":"https://api.github.com/users/rjsteinert/events{/privacy}","received_events_url":"https://api.github.com/users/rjsteinert/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-23T13:59:28Z","updated_at":"2015-04-23T14:37:31Z","closed_at":null,"body":"We've talked a bit about what a standard directory structure might look like. We've also talked about how we need a way to start pipe commands automatically. \r\n\r\n\r\nHow about something like...\r\n```\r\n├── autorun.sh\r\n├── drivers\r\n│   ├── phant\r\n│   │   ├── install\r\n│   │   └── push\r\n│   └── temper1\r\n│       ├── install\r\n│       └── pull\r\n├── logs\r\n│   ├── autorun.log\r\n│   ├── pipe1.log\r\n│   ├── pipe2.log\r\n│   └── pipe3.log\r\n└── run\r\n    ├── pipe1.sh\r\n    ├── pipe2.sh\r\n    └── pipe3.sh\r\n```\r\n\r\nautorun.sh in the example above would, on execute, start every script in the `run` folder and pipe all output to a corresponding log file. This seems pretty neat and tidy to me. \r\n\r\nBut what if Debian treated autorun.sh like Windows treats autorun.inf? If we did, then we could put the above directory structure on a USB drive and as soon as you plugged it into a Debian system (R-Pi, BBB, etc.) the pipes would just start running! \r\n\r\nWhat if we had a \"Pipe Builder\" app online that allowed people to graphically create the above structure and download it as a Zip file? Setting up a pipe might look something like...\r\n\r\n1. Go to http://build.openpipekit.org to configure and download your pipes\r\n2. Unzip download and place on a USB drive\r\n3. Plug USB drive and sensors into a Beagle Bone Black (has Debian on it already and looking for drives that have autorun.sh on them)\r\n4. Place your BBB somewhere because it's now collecting data!\r\n\r\nWith R-Pi it would be an extra step of having to download and burn Raspbian to an SD Card.\r\n\r\n... In reality we're going to have to roll our own Debian distro with autorun.sh capability enabled by default so that folks can burn that to an SD Card to have an autorun capable distro running.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/open-eio/Open-Pipe-Kit-Project/issues/comments/95607988","html_url":"https://github.com/open-eio/Open-Pipe-Kit-Project/issues/27#issuecomment-95607988","issue_url":"https://api.github.com/repos/open-eio/Open-Pipe-Kit-Project/issues/27","id":95607988,"user":{"login":"rjsteinert","id":156575,"avatar_url":"https://avatars.githubusercontent.com/u/156575?v=3","gravatar_id":"","url":"https://api.github.com/users/rjsteinert","html_url":"https://github.com/rjsteinert","followers_url":"https://api.github.com/users/rjsteinert/followers","following_url":"https://api.github.com/users/rjsteinert/following{/other_user}","gists_url":"https://api.github.com/users/rjsteinert/gists{/gist_id}","starred_url":"https://api.github.com/users/rjsteinert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjsteinert/subscriptions","organizations_url":"https://api.github.com/users/rjsteinert/orgs","repos_url":"https://api.github.com/users/rjsteinert/repos","events_url":"https://api.github.com/users/rjsteinert/events{/privacy}","received_events_url":"https://api.github.com/users/rjsteinert/received_events","type":"User","site_admin":false},"created_at":"2015-04-23T14:37:31Z","updated_at":"2015-04-23T14:37:31Z","body":"* [ ] Create the autorun daemon that checks for connected media and if they have an autorun.sh script, executes them if they do.\r\n* [ ] Create `autorun.sh` that starts everything in the `run` folder and pipes to corresponding log files.\r\n* [ ] Create an example pipe script like `pipe1.sh` that runs install on all dependent drivers and then sets up the pipe to run at an interval.\r\n* [ ] Create http://builder.openpipekit.org UI.\r\n* [ ] Create the backend builder that generates the build according to a given configuration.\r\n* [ ] Polish http://hub.openpipekit.org so that it can aid the builder UI and build machine.\r\n\r\nOther thoughts...\r\n- `install` for drivers should be self aware if they have been installed on a system to save on that load time\r\n\r\nLastly, this is a lot to do. We all need to be thinking MVP here. "}}