O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

ThinkerersA01

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Raspberry pi
Raspberry pi
Carregando em…3
×

Confira estes a seguir

1 de 79 Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a ThinkerersA01 (20)

Anúncio

Mais recentes (20)

ThinkerersA01

  1. 1. WWW.THINKERERS.ORG PRESENTS RASPBERRY PI
  2. 2. HI THERE I'm Adrian Social entrepreneur and maker enthusiast Based in KL Previously enterprise software specialist
  3. 3. INTRODUCTION Raspberry Pi Model B+  by Lucasbosch / Image CC BY­SA
  4. 4. PI? RASPBERRY? low­cost single­board computer developed by the Raspberry Pi Foundation, UK mainly runs Linux operating systems Pi => Python
  5. 5. WHY RASPBERRY PI? originally for teaching computer science in schools functions just like a regular PC: browse internet, plays videos and games, word processing allows easy and painless way to control electrical components/sensors using software affordably priced at USD35 (≈ RM125)
  6. 6. WHAT'S IN THE B+? 700MHz ARM11 processor VideoCore IV GPU 512MB RAM HDMI output (up to 1920x1200) Built­in Ethernet port 4 USB 2.0 ports
  7. 7. OTHER MODELS Model A (April 2012) Model B (Oct 2012) Compute Model (April 2014) Model B+ (July 2014) Model A+ (Nov 2014) Version 2 Model B (Feb 2015)
  8. 8. WHAT'S NOT IN THE BOX? Display monitor (duh!) Keyboard & mouse (obviously...) Power supply (via Micro USB port) Storage (microSD card)
  9. 9. CONNECTING TO THE PI
  10. 10. STANDALONE Raspberry Pi + Monitor + Keyboard + Mouse
  11. 11. HEADLESS Raspberry Pi + Network + Your Laptop
  12. 12. NETWORKING WITH THE PI Built­in Ethernet for wired connections Wireless also supported when attached to a compatible WiFi dongle We will connect to the Pi through a network using SSH
  13. 13. SSH also called Secure Shell allows remote login to a networked computer uses encryption to secure data communications involves an SSH server (the Raspberry Pi) and an SSH client (your laptop)
  14. 14. SSH CLIENTS Linux and Mac OS X have a built­in command: ssh Windows users can install PuTTY    tip: PuTTY GUI client is also available for Linux
  15. 15. CONNECTING VIA SSH Each Pi has been assigned a fixed IP address For Linux and Mac OS X, type: ssh pi@10.1.1.10 For Windows, run PuTTY Hostname = 10.1.1.10, Port = 22 Click 'Open'
  16. 16. BASIC CLI & PYTHON
  17. 17. CLI COMMANDS ls ­ list directory contents pwd ­ show current directory cd ­ change directory mkdir ­ make directory mv ­ move/rename files rm ­ remove files/directories mv ­ move/rename files sudo ­ super user privileges
  18. 18. PYTHON is a programming language you create a file (called a Python script) that contains a set of instructions these instructions tell the computer what to do, like read input from the keyboard or print some text to the screen you then pass the script to the Python interpreter which will execute those instructions
  19. 19. HELLO PYTHON Lets write a simple Python script to read input from the keyboard and then print it to the screen
  20. 20. HELLO PYTHON 1. Create a new directory 2. Change to that new directory 3. Create a Python script mkdir ~/python‐intro cd ~/python‐intro nano hello.py
  21. 21. SIMPLE PYTHON PROGRAM 4. Type in the following name = raw_input("Hi, what is your name? ") print("Hello %s, have fun hacking today!" % name)           
  22. 22. SIMPLE PYTHON PROGRAM 5. Save the file by pressing Ctrl+X 6. When asked to confirm, press Y, then hit ENTER 7. Run the Python script by typing: python hello.py
  23. 23. MODIFYING A PYTHON PROGRAM To edit your Python script, run the following again Try adding another question and response nano hello.py
  24. 24. GPIO AND CIRCUITS
  25. 25. WHAT IS GPIO General­purpose input/output generic pins on an integrated circuit each pin can be configured as input or output input/output values can be high (1) or low (0) exposed as a 20x2 row of pins on the Model B+
  26. 26. GPIO ON THE PI The GPIO pins are exposed on the 20x2 pin header of the Model B+  by Lucasbosch /   / cropped from originalImage CC BY­SA
  27. 27. GPIO PINOUT Pinout on the Model B+ Note how some of the pins have a specific function  by Image www.raspberrypi­spy.co.uk
  28. 28. VOLTAGE SUPPLY RAILS The Pi supplies 2 voltage levels: 5V and 3.3V What voltage level to use depends on the component
  29. 29. VOLTAGE SUPPLY RAILS 2 x 5­volt pins (red) 2 x 3.3­volt pins (orange) 8 x ground pins (grey)  by Image www.raspberrypi­spy.co.uk
  30. 30. WARNING The GPIO pins on the Pi are NOT 5V tolerant Never connect a 5V pin directly to any other pin as this can permanently damage the Pi
  31. 31. REMEMBER Always ensure the Pi is turned off before making any changes to your circuit
  32. 32. TURNING THE PI OFF 1. Run this command 2. Wait for the lights to stop flashing 3. Disconnect the USB power cable from the Pi or     switch off the power socket sudo halt
  33. 33. GPIO PIN BREAKOUT  by Lucasbosch /   / modified from originalImage CC BY­SA
  34. 34. DOWNLOAD all the code we will be using from We will transfer the code to the Pi using a network share http://bit.ly/1A3lWd4
  35. 35. NETWORK SHARE log on to your Pi from your laptop, open: copy all the files across move the files to thinkerers directory: //10.1.1.10/pishare mv ~/share/* ~/thinkerers
  36. 36. CONTROLLING AN LED WITH GPIO
  37. 37. Image created with Fritzing
  38. 38. CONTROLLING AN LED WITH GPIO Get the script And run it sudo is required when using GPIO ~/thinkerers/05‐led‐gpio.py sudo python 05‐led‐gpio.py
  39. 39. LED PATTERNS
  40. 40. Image created with Fritzing
  41. 41. LED PATTERNS Get the script And run it ~/thinkerers/05‐led‐patterns.py sudo python 05‐led‐patterns.py
  42. 42. READING INPUT
  43. 43. Image created with Fritzing
  44. 44. READING A SWITCH Get the script And run it Press the switch and watch the output on the screen To quit the program, press Ctrl+X ~/thinkerers/06‐switch‐input.py sudo python 06‐switch‐input.py
  45. 45. READING A SWITCH TO CONTROL LED PATTERN Get the script And run it Press the switch and watch the LED patterns change ~/thinkerers/06‐switch‐led.py sudo python 06‐switch‐led.py
  46. 46. SENSORY MADNESS (INPUTS)
  47. 47. READING LIGHT
  48. 48. Image created with Fritzing
  49. 49. READING LIGHT Get the script And run it Move your hand over the LDR and watch the reading change To quit the program, press Ctrl+X ~/thinkerers/07‐reading‐light.py sudo python 07‐reading‐light.py
  50. 50. READING TEMPERATURE
  51. 51. Image created with Fritzing
  52. 52. SOME MODULES NEED TO BE ENABLED Run this Note: this isn't permanent sudo modprobe w1‐gpio sudo modprobe w1‐therm           
  53. 53. READING TEMPERATURE Get the script And run it Touch the temperature sensor and watch the reading change To quit the program, press Ctrl+X ~/thinkerers/08‐reading‐temp.py sudo python 08‐reading‐temp.py
  54. 54. ? MAGIC RULER ?
  55. 55. SONAR SENSOR Get the script Hold the sensor steady and point it at a nearby flat surface Then execute the script ~/thinkerers/08‐sonar‐sensor.py sudo python 08‐sonar‐sensor.py
  56. 56. MOTOR-ING (OUTPUTS)
  57. 57. Image created with Fritzing
  58. 58. CONTROLLING A DC MOTOR Script to use: And run it ~/thinkerers/09‐dc‐motor.py sudo python 09‐dc‐motor.py
  59. 59. CAUTION Take care removing the L293D Slowly wedge it out by gripping the sides Try not to bend the sharp pins
  60. 60. CONTROLLING A SERVO MOTOR The Pi isn't actually good for servo control Only one PWM pin ­ GPIO18 Linux OS interrupts the pulse generated Both software and hardware solutions available
  61. 61. Image created with Fritzing
  62. 62. CONTROLLING A SERVO MOTOR Script to use: Execute the script Enter angle between 0 and 180 degrees ~/thinkerers/09‐servo‐motor.py sudo python 09‐servo‐motor.py
  63. 63. AUTOMATION
  64. 64. Input + Output = AUTOMATION Try to combine what you just learnt Can you control the DC motor based on light? Example: bright = move forwards     dim = move backwards
  65. 65. CONTROLLING A MOTOR BASED ON LIGHT Get the script And run it Enter a light level around 7 Slowly cover / uncover the LDR and watch the motor move ~/thinkerers/10‐light‐dc‐motor.py sudo python 10‐light‐dc‐motor.py
  66. 66. REMOTE MONITORING AND CONTROL
  67. 67. RUN A SIMPLE FILE SERVER Create a directory Change to that directory Create a test file, enter some text, and save it Run this mkdir ~/website cd ~/website nano test.txt sudo python ‐m SimpleHTTPServer 80
  68. 68. RUN A SIMPLE FILE SERVER Enter your Pi's IP address into your browser's address bar: Can you see the test file you created? http://10.1.1.XXX/
  69. 69. BASIC WEB SERVER Get the script And run it In your browser, go to ~/thinkerers/11‐basic‐server.py sudo python 11‐basic‐server.py http://10.1.1.XXX/any‐text‐you‐like
  70. 70. WEB SERVER + SENSOR Load temperature sensor modules Check if module detected the sensor A file with the name "28xxxxxxxx" should exist sudo modprobe w1‐gpio sudo modprobe w1‐therm            cd /sys/bus/w1/devices
  71. 71. Image created with Fritzing
  72. 72. Get the script And run it Access your Pi's IP address in your browser ~/thinkerers/11‐sensor‐server.py sudo python 11‐sensor‐server.py
  73. 73. AFTER THE WORKSHOP
  74. 74. CHANGING THE PI'S IP ADDRESS Edit the configuration file Modify these lines to match your local network For example: sudo nano /etc/network/interfaces address 10.1.1.XXX gateway 10.1.1.1            address 192.168.0.XXX gateway 192.168.0.1           
  75. 75. CHANGING THE WIRELESS NETWORK Edit the configuration file Modify the ssid and psk values to match your local network For example: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ssid="MyWirelessSSID" psk="MySecretPassword"           
  76. 76. RECOMMENDED RESOURCES TOO MANY TO CHOOSE!
  77. 77. THE END THANKS FOR COMING! MIND DOING A SHORT SURVEY?
  78. 78. This work by Adrian Lai is licensed under a Python code samples provided are free of known copyright restrictions The Raspberry Pi and the Raspberry Pi Logo are trademarks of the Raspberry Pi Foundation All other registered trademarks are property of their respective owners Creative Commons Attribution­ShareAlike 4.0 International License

×