Difference between revisions of "Thing Dispenser"
Line 57: | Line 57: | ||
[https://youtu.be/rrx4ux-hChw YouTube Video: Getting Started with Twilio] | [https://youtu.be/rrx4ux-hChw YouTube Video: Getting Started with Twilio] | ||
− | :1) Go to Twilio.com | + | :1) Go to [www.Twilio.com Twilio.com] |
:2) Select "Sign up"...and then "Get Started" | :2) Select "Sign up"...and then "Get Started" | ||
::- when asked, "which product do you plan to use first?" choose ''I'm just exploring'' | ::- when asked, "which product do you plan to use first?" choose ''I'm just exploring'' |
Revision as of 22:42, 19 June 2018
This is not an easy project, but i believe it is doable (?). This project will create a physical device that will dispense a "thing" (dog treat or dry erase marker) when a txt message is sent to a phone number. The physical device contains a Raspberry Pi micro-computer.
This project was described in the March 2018 MAKE magazine (MAKEzine), here
To get started, I found the following video to be useful; if this physical device is going to respond to a txt message, then there must be some link between the act of sending the txt and the dispensing of the thing. In the following video, a basic description of something called an API (Application Programming Interface) is presented here
In this above video, the analogy of a restaurant is presented. As you sit at a table, you need to send information (your order) to the kitchen to get food. The "API" is the waitperson.
- STEP 1...you tell the waitperson what you want to order,
- STEP 2...the waitperson goes to the kitchen and tells to cook what to prepare, then
- STEP 3...the waitperson then brings you your food.
Similarly, as i sit at my work desk, and i want a device to do something (like dispense a treat to my dog) the API controls the communications between me and the device...
- STEP 1...I send a txt to the device,
- STEP 2...the device executes the command, and then
- STEP 3...the device sends a txt back to me indicating the commend has bee executed.
On to the actual setup...
Hardware configuration (the easy part)
You will need to build a device. In the original article a Raspberry Pi is connected to an Arduino board, which is in turn connected to a servo motor to actuate the dispensing. This is actually the easiest part of the project. Here are a few pictures (Note: the RP is not connected to mouse, keyboard, or monitor):
Software configuration (the hard part)
- a) setup a raspberry pi (see this page).
- b) install Ardruino software (this is also described at the end of this page).
- c) visit Rich Nelson's GitHub page and select the dog-treat-dispenser
- d) follow the directions shown in the Readme (WARNING: this tutorial is not yet complete)
Software Install, Part 1 of 4
- Here is a summary of a few "Terminal" inputs:
- $ git clone https://github.com/rmn388/dog-treat-dispenser (this copies files needed from the developers website)
- $ cd dog-treat-dispenser (to move into the project directory)
- $ python3 -m pip install --user virtualenv (1st step to install a virtual environment for convenience)
- $ python3 -m virtualenv env (2nd step to install a virtual environment for convenience)
- $ source env/bin/activate (THIS NEEDS TO BE DONE EACH TIME YOU WANT TO WORK IN THIS ENVIRONMENT...you will see a (env) in front of the prompt.)
- $ pip install -r requirements.txt (needs to only be done once)
- Now you will need to make a file called config.py
- During the editing of the config.py configuration file, you will be asked for:
- twilio_phone_number = "+###########" #Your unique Twilio phone number
- twilio_account_sid = "#################################" #Your Twilio Account SID
- twilio_auth_token = "################################" #Your Twilio Auth Token
- All of the items above can be found from your Twilio Account (see below, Part X) You do not need all the API Credentials in order to continue...
- $ python app.py (this starts the server running; the server is then shut down by typing CTRL+C)
Software Install, Part 2 of 4
How to get Twilio Account/Phone Number
YouTube Video: Getting Started with Twilio
- 1) Go to [www.Twilio.com Twilio.com]
- 2) Select "Sign up"...and then "Get Started"
- - when asked, "which product do you plan to use first?" choose I'm just exploring
- - when asked "what are you building?" choose I don't have a project in mind
- - you will need to give Twilio an existing phone number, like your personal cell number.
- - After the intro, you will want to select Programmable SMS in the left tool bar while in the Console...then choose get started...by the way SMS means simple message system.
- - then follow the directions in order to get a new phone number...
The following video is interesting (but not basic)...it discusses Twilio and then towards the end NGROK...which will be discussed below.