Difference between revisions of "Thing Dispenser"

From MC Chem Wiki
Jump to navigation Jump to search
Line 36: Line 36:
 
::c) visit Rich Nelson's [https://github.com/rmn388 GitHub page] and select the [https://github.com/rmn388/dog-treat-dispenser dog-treat-dispenser]
 
::c) visit Rich Nelson's [https://github.com/rmn388 GitHub page] and select the [https://github.com/rmn388/dog-treat-dispenser dog-treat-dispenser]
 
::d) follow the directions shown in the [https://github.com/rmn388/dog-treat-dispenser/blob/master/README.md Readme] '''WARNING: this tutorial is not yet complete*:)'''
 
::d) follow the directions shown in the [https://github.com/rmn388/dog-treat-dispenser/blob/master/README.md Readme] '''WARNING: this tutorial is not yet complete*:)'''
 +
***Make to activate the virtual ??? by typing...''source env/bin/activate''
 
:::i) during the editing of the ''config.py'' configuration file,  you will be asked for:
 
:::i) during the editing of the ''config.py'' configuration file,  you will be asked for:
 
:::::''twilio_phone_number = "+###########" #Your unique Twilio phone number''
 
:::::''twilio_phone_number = "+###########" #Your unique Twilio phone number''

Revision as of 21:04, 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):

IMG 0320.JPG

IMG 0321.JPG

IMG 0322.JPG

IMG 0323.JPG

IMG 0324.JPG

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*:)
      • Make to activate the virtual ??? by typing...source env/bin/activate
i) 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

How to get Twilio Phone Number

YouTube Video: Getting Started with Twilio

1) Go to 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...


File:Screen Shot 2018-06-19 at 1.26.24 PM.png

setting up the phone number to respond to a txt message
setting up ngrok in order to setup a "tunnel" to a local computer

1) First off, you need to have a phone number which can receive a txt message which is ultimately connected to the device. This is done by setting up an account with a online company called Twilio. Getting a phone number is relatively easy...a trail Twilio account give you a credit of $15 to spend before you need to connect a credit card to the account.

Web Resources