Skip to main content

GPIO testing



Since the environment of the client-server-target is currently quite functional in the messaging standpoint, I decided to try connecting a simple LED light to the Raspberry Pi to see if it could "open" a door when the command is received.

Installed the RPi.GPIO module (a Python module that gives the user command of the GPIO--General-Purpose Input/Output--ports in the Raspberry Pi) and connected the LED light to a GPIO pin. When the target received a request message, it would signal the GPIO pin to drive a current to the LED to light it up for 2 seconds.

in main:
if __name__ == "__main__":
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(17, GPIO.OUT)

in the on_message's request-received logic:
     GPIO.output(17, True)
     time.sleep(2)
     GPIO.output(17, False)


The video is a weak visual result. You can a click when the LED lights up; that was the sound of the key being pressed that sent the request message.

Now, time to get (think up of ) some actuators that can do what I want to do.

Comments

Popular posts from this blog

nodejs migration

Having been playing around with NodeJS recently,  I (naturally?) started re-writing some of the OpenSesame code using Node last night. I think I've only worked on it around 2 hours so far, but I've already set up a basic client interface (a socket.io chat tutorial rip) with a server that the Raspberry Pi can connect to and receive requests to open the door.  This is probably due to socket.io's socket management (socket.io is the WebSocket module for Node); for my first implementation, I had to manually write up a structure that managed sockets, but that is pretty much handled by socket.io. Also, the servo control logic is pretty much recycled (and the Raspberry Pi code is still Python), and I do remember spending some good time figuring that out.  Cool neverthelss. I'll probably keep both versions around.

quick recollection on setting things up

If I can swear that the password is correct, then it's possible that I'm getting the ID wrong. Hadn't logged into the web server in a couple of months and was unable to SSH into it. After an hour or so, I ended up deleting the instance and recreating a clean instance (read: erasing everything). I then realized I'd been putting the wrong ID.   apt-get install sudo apt-get install Anyways, some links I visited when setting things up (pretty much a dump of whatever I copy-pasted to notes) : Raspberry Pi http://www.makeuseof.com/tag/optimize-the-power-of-your-raspberry-pi-with-raspbian/ Logging http://docs.python.org/2/howto/logging-cookbook.html Tornado - Python webserver that supports Websocket http://stackoverflow.com/questions/2924991/what-popular-webservers-have-support-for-html5-websocket http://lowpowerlab.com/blog/2013/01/17/raspberrypi-websockets-with-python-tornado/ http://stackoverflow.com/questions/11695375/tornado-identify-tra...

the current equipment/resource

Raspberry Pi (Model B) - http://www.newark.com/jsp/search/productdetail.jsp?SKU=43W5302&CMP=KNC-GPLA&mckv=|pcrid|27090039261|plid| - Bought mine off of Amazon Raspberry Pi Cobbler (breakout board) - http://www.adafruit.com/products/914  - Came with the pin connectors Typical Breadboard Edimax USB Wireless Adapter - http://www.newegg.com/Product/Product.aspx?Item=N82E16833315091&nm_mc=KNC-GoogleAdwords&cm_mmc=KNC-GoogleAdwords-_-pla-_-Wireless+Adapters-_-N82E16833315091&gclid=CKncq-3ko7kCFQ6f4Aod_jEAig - Had this previously, I believe purchased out of a whim (probably some Woot sale) Logitech K400 Wireless Keyboard with Touch Pad - http://www.newegg.com/Product/Product.aspx?Item=N82E16823126264 - Bought to have a keyboard+mouse solution through one USB slot, but the Raspberry Pi is now set up for SSH, and this has now become more of a remote for the desktop. Besides, the cramped keyboard layout is not the best for coding. Anyways, had no prob...