Changes

Jump to: navigation, search

Raspberry Pi - Week 3

1,907 bytes added, 14:18, 26 April 2013
Further Python Help
=Review=Connecting [[Raspberry_Pi#Course_of_Instruction | <<< back to the pi from a local computer with ssh.Raspberry Pi]]
==Review==Installed an OS image, created a user account with super-user permissions. Connected to the pi from a local computer via ssh. Copied files with SCP. ==Graphical Interface through the Network==
*VNC, '''Virtual Network Computing''':
<blockquote>In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network. [http://en.wikipedia.org/wiki/Virtual_Network_Computing] </blockquote>
*We can install our vncserver through the raspbian package manager, apt-get.
==using apt-get to install vncserver on the pi==
*apt-get, '''Advanced Packaging Tool''':
<blockquote>works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants. APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages, either from binary files or by compiling source code.[http://en.wikipedia.org/wiki/Advanced_Packaging_Tool]</blockquote>
==logging onto raspberry pi from vnc client==
*You need a vnc client. This will connect to the vnc server which is currently running on your raspberry pi.
*Adafruit suggests "VNCViewer", available for free for most platforms from .*Download and install VNCViewer. http://www.realvnc.com/.*Download and install VNCViewer.download/viewer/
*Run the software.
*In the "VNC Server:" field, enter the IP address for your PI and the port display number you started vncserver on. For instance <code>192.168.2.2:1</code> is IP 192.168.2.2, port display 1.
**You selected the port when you started vncserver on the pi.
*Click connect.
*Installing. follow these instructions: http://elinux.org/RPi_Text_to_Speech_(Speech_Synthesis)
==Basic Scripting with of command-line tools with python==
*IDLE - Python's Integrated DeveLopment Environment.
**an IDE.
*Raspbian comes with two python installs, Python 2.7 and Python 3. We are going to use 2.7. 3 is the future.
*Example, taking photos and sending them to the laptop. take_photos_and_send.py [[:File:photo_loop.tar]]*Uses <code>subprocess.call</code>, and <code>time.sleep</code>*python subprocess documentation - http://docs.python.org/2/library/subprocess.html*time documentation - http://docs.python.org/2/library/time.html ==Festival example==[http://wiki.roberttwomey.com/images/5/5d/Speech_loop.tar speech_loop.tar ]*For both of these examples, you will need to edit the path to the festival command. *The program was written on my Laptop, so I used the path to festival there. ''/Users/rtwomey/...''. On the raspberry pi the festival install path is ''/usr/bin/festival''.*You can find the path to a program with the <code>which</code> command. For ex:**<code>which festival</code>**gives you the current festival install directory.*'''speech_loop.py''' - counts up from 0.*'''speech_potato.py'''. try it and see ;) ==Client - Server architecture==
*My Convex Mirror project uses a client-server architecture:
[[:Filehttp://wiki.roberttwomey.com/images/3/36/Convex_mirror_client_server.tar convex_mirror_client_server.tar]]
*Server on raspberry pi. '''convex_mirror_server.py'''
**opens a socket on a certain port, and waits for requests from clients.
*If you wanted to use these examples you would need to change the IP addresses to match your own setup, and install the necessary external packages (command line tools such as potrace, opencv, gphoto2 etc.) that I am using on each of my systems.
*Use package management!
 
==Further Python Help==
*[http://learnpythonthehardway.org/book/ Learn Python the Hard Way]
*Interactive introduction, in browser - [http://www.learnpython.org/ learnpython.org].
*Code Academy's [http://www.codecademy.com/tracks/python python track]
**start with [http://www.codecademy.com/courses/introduction-to-python-6WeG3?curriculum_id=4f89dab3d788890003000096 Python Syntax] course.
*[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/index.htm A Gentle Introduction to Programming Using Python], MIT Open Course Ware (OCW).
*Python.org links for [http://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]. A lot to sort through, you pick one.

Navigation menu