Skip to content

Code for an api for a mechanical computer (Brunsviga 13RK). Wrapper around a human or robot in the loop.

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENCE
MIT
LICENSE.bootstrap
Notifications You must be signed in to change notification settings

matthewberryman/brunsviga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

brunsviga

Code for an API for a mechanical computer (Brunsviga 13RK). Wrapper around a human (or possibly robot) in the loop.

LICENSE

Licensed under GPLv3 licence except for bootstrap and jquery components licensed under the MIT licence.

Access

To access the brunsviga as described in the Implementation section below, please check out brunsviga.computer. Note that I generally keep the Brunsviga 13RK at work, and I have a life outside of work, so don't expect a response to a web request after (Australian Central Standard/Daylight Time) work hours.

Plan

Here's the overall plan

  • Provide human-friendly web form for submitting requests.
  • Sanity check human input.
  • Use AWS API gateway service to provide a REST API.
  • Trigger an AWS lambda function that sends JSON via AWS SNS of operation to be run by a human.
  • create s3 bucket for human operator to upload videos of calculations to (using iPhone with Transmit-iOS app),
  • convert videos to mp4 and then upload, using AWS CloudFront to serve content for faster access. To do: look at AWS Elastic Transcoder for conversion (instead of Photos app on OS X).

then video link is emailed to requestor.

Deployment

  1. Define an SNS topic called brunsviga, and subscribe the human operator's email address to that email.
  2. (Optional) update the region in api/serverless.yml.
  3. Make sure you have serverless installed: npm install -g serverless and have your AWS credentials set up.
  4. Set up an s3 bucket holding index.html and css/, fonts/, images/ and js/, and I also recommend using CloudFront CDN. The s3 upload can be done by aws s3 cp web s3://mybucket/ --recursive

First calculation run

First request as received by human operator

Video:

Video of calculation

Future ideas

  • How to deal with tracking and returning requests (use DynamoDB?).
  • Could build a robot to work inputs and turn knob, plus OCR for readout.

Images

Brunsviga 13RK me operating my Brunsviga 13RK

About

Code for an api for a mechanical computer (Brunsviga 13RK). Wrapper around a human or robot in the loop.

Resources

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENCE
MIT
LICENSE.bootstrap

Stars

Watchers

Forks

Packages

No packages published