=====datacomm Keyword 2===== Identification of chosen keyword. ====Raspberry Pi GPIO Programming==== The Raspberry Pi hosts a General Purpose Input Output board for interfacing with low level peripherals. Dragon.net was nice enough to write a detailed C library for the GPIO to make electronics programming super easy! Here's an example of a program that turns on and off an LED: /* * blink.c: * Simple test program to blink an LED on pin 7 */ #include #include int main (void) { int pin = 7; printf("Raspberry Pi wiringPi blink test\n"); if (wiringPiSetup() == -1) exit (1); pinMode(pin, OUTPUT); for (;;){ printf("LED On\n"); digitalWrite(pin, 1); delay(250); printf("LED Off\n"); digitalWrite(pin, 0); delay(250); } return 0; } by way of this reference I hope to setup a simple c application using a solid state relay for my future automated "Dial a Coffee" via Asterisk and Pi ingenuity:[[http://elinux.org/RPi_Low-level_peripherals#GPIO_Driving_Example_.28C.29]] ====References==== List any sites, books, or sources utilized when researching information on this topic. (Remove any filler text). * [[http://elinux.org/RPi_Low-level_peripherals#GPIO_Driving_Example_.28C.29]] * [[http://log.liminastudio.com/writing/tutorials/tutorial-how-to-use-your-raspberry-pi-like-an-arduino]] * Reference 3 =====datacomm Keyword 2 Phase 2===== Identification of chosen keyword. ====Lair Brew==== A simple program that operates a relay switch that supplies electricity for delicious caffeinated beverages. ====References==== List any sites, books, or sources utilized when researching information on this topic. (Remove any filler text). * Tom's mom ====Demonstration==== /* Lair_Brew ~ Caffeine ~ Version 0.2 */ #include #include void loopback(void) { char ch; ch = getchar(); while( ch != '\n' ) ch = getchar(); } int main (void) { int pin = 7; char ch; int exit_flag = 0; printf("welcome to Lair Brew\n"); if (wiringPiSetup() == -1) return(1); pinMode(pin, OUTPUT); printf("Brew on\n"); digitalWrite(pin, 1); while( exit_flag == 0 ) { printf("Wish to exit? (Y)\n"); scanf(" %c", &ch ); ch = toupper( ch ); if((ch == 'Y')){ printf("\nBrew Off\n"); digitalWrite(pin, 0); delay(250); printf("\nEnjoy Your Coffee, Sir!\n"); } else { printf("\nType (y) to exit.\n"); loopback(); } if( ch == 'Y' ) exit_flag = 1; } return 0; } The program is loaded into /etc/asterisk/extensions.conf like so: exten => 607,1,Answer exten => 607,2,Wait(1) exten => 607,3,System(/tmp/Lair_brew_auto) exten => 607,4,Hangup()