Demo and Tutorial

Step 1: Things You Need

  • 1 X Servo Motor
  • 1 X Raspberry Pi 3 (any Raspberry Pi with internet would work)
  • 1 X Raspberry Pi Adapter
  • 1 X MicroSD Card with Rasbian OS
  • 3 X Jumper Wires Male to Female
  • 1 X Cardboard
  • 1 X Scissors
  • 1 X Marker/Pen
  • 1 X Scale/Ruler
  • 1 X Tape Role
  • 1 X Echo Dot (optional)

Step 2: Make the Container

  • Mark these dimensions on cardboard (you can make it as big/small as you want)

Use a marker/pen along with a ruler and make exact three shapes like these.

  • Now cut these pieces using a scissor

Please note that A (the inner line) depends upon the amount food you feed to fish.

  • Now fold along the inner lines

Fold each piece along the inner lines facing upwards as shown in the picture.

  • Now Tape them together like a pyramid

Tape them together such that they form a pyramid-like structure, as shown in the picture.

  • Now make a cap

Now make the cap for the smaller mouth of the pyramid, this needs to a little bit big so that it does not leak.

  • Stick the cap on the servo motor dial

Paste the cap on the servo motor dial using some tape/glue

  • Tape the servo motor on the container

Finally, tape the servo motor on the container, make sure it closes the mouth properly.

Step 3: Create Firebase Database

  • Click on Go to Console.

  • Click on Add Project.

  • Name your Project.

  • Click on Create Project.
  • Click on Database.

  • Select Start in Test Mode.

  • Note down your firebase id.

Step 4: Create Alexa Skill

  • Log in with your amazon credentials.
  • Click on Developer Console.

  • Click on Create Skill.

  • Name the Skill.

  • Click on Select (Custom Skill) and then Create Skill.

  • Click on Invocation Tab and fill invocation name as fish feeder.

  • Click on JSON Editor Tab and Paste the code below.

{"interactionModel": {"languageModel": {"invocationName": "fish feeder","intents": [{"name": "AMAZON.FallbackIntent","samples": []},{"name": "AMAZON.CancelIntent","samples": []},{"name": "AMAZON.HelpIntent","samples": []},{"name": "AMAZON.StopIntent","samples": []},{"name": "FeedNow","slots": [],"samples": ["feed the fish","feed fish","feed my fish right now","feed my fish please","please feed the fish","fish my feed now"]}],"types": []}}}
  • Click on Build Model.

  • Click on Endpoint Tab.

  • Copy your Skill Id.
  • Click on Sign in to console.

  • Click on Lambda (search, if not on front page).

  • Click on Create Function.

  • Fill the details (check out the pic).

  • Click on Create Function.
  • Click on Alexa Skill Kit.

  • Click on Enable and paste your skill id.

  • Click on Add.

  • Click Save.

  • Now Click on your skill name (check out the pic).

  • Scroll Down and Select Upload a.Zip file.

  • Download the Github repo from here.
  • Unzip the repo.
  • Navigate into the folder called Alexa/Lambda.
  • Open the file named as lambda_function.py in any text editor.
  • Now paste the firebase id into the line 3 (replace {your firebase url} with your firebase id)
  • Now move this file to the lambda-zipped.zip archive. (if using WinRAR just drag and drop it to the archive)

  • Copy your ARN (see the pic)

  • Paste the ARN and click on ...
Read more »