NAG-IoE

Z MediaWiki SPŠ a VOŠ Písek
Skočit na navigaci Skočit na vyhledávání
Raspberry Pi

Pomůcky:

Raspberry Pi 2

  • paměť 8GB
  • napájecí adaptér 5V, 2A
  • nepájivé pole
  • stabilizovaný zdroj pro nepájivé pole
  • napájecí adaptér pro nepájivé pole
  • propojovací kabely
  • WiFi modul ESP8266

WiFi modul ESP8266

  • pouzdro pro dvě AA baterie
  • barevné a RGB LED
  • teplotní čidlo DS18B20

DS18B20

  • teplotní čidlo s vlhkoměrem DHT11

DHT11

  • světelné čidlo
  • pohybové čidlo HC-SR501

HC-SR501

  • krokový motor

krokový motor

  • LCD display
  • mikrospínače
  • potenciometr
  • odpory 330 a 4k7 ohmů

Základní informace

Jedná se o novou kategorii s možností hlavní výhry 20.000,- Kč. Název této nové kategorie je NAG-IoE (Networking Academy Games - Internet of Everything) v již 11. ročníku soutěže NAG. Tato nová kategorie je zaměřena na nejnovější trend v počítačovém světě a to Internet všech věcí. Jedná se o podporu a zatraktivnění výuky pro studenty zaměřené nejen na počítačové sítě ale i obecněji na základy elektroniky a operační systém Linux.

Více: http://www.netacad-games.cz/ioe


  • 6 kol, start 1.11.2015
  • každý tým vytvoří video představující tým, dále pak videa a PDF v každém kole soutěže
  • nejlepší tým v daném kole může získat další zajímavý rozšiřující HW
  • bonusové body za celoroční projekt (bez zadání, téma i obsah dle uvážení týmu)
  • 19.3.2016 Cisco Praha

1. tým

  1. Linhart Tomáš B2
  2. Hanušová Monika B2
  3. Frček Pavel B2

Mapa aktivních týmů


Úlohy

vše školním disku

Introduction

Raspberry gPIo

Download and Install Geany

Wiring Pi

Blink

#include <wiringPi.h>
int main (void)
{
  wiringPiSetup () ;
  pinMode (0, OUTPUT) ;
  for (;;)
  {
    digitalWrite (0, HIGH) ; delay (500) ;
    digitalWrite (0,  LOW) ; delay (500) ;
  }
  return 0 ;
}

To compile and run:

gcc -Wall -o blink blink.c -lwiringPi
sudo ./blink

Set up the ports

How to use WiringPi2 for Python on the Raspberry Pi in Raspbian part 1

# GPIO port numbers  
import wiringpi2 as wiringpi  
wiringpi.wiringPiSetupGpio()  
wiringpi.pinMode(25, 0) # sets GPIO 25 to input  
wiringpi.pinMode(24, 1) # sets GPIO 24 to output  
wiringpi.pinMode(18, 2) # sets GPIO 18 to PWM mode  
  
# wiringpi numbers  
import wiringpi2 as wiringpi  
wiringpi.wiringPiSetup()  
wiringpi.pinMode(6, 0) # sets WP pin 6 to input  
wiringpi.pinMode(5, 1) # sets WP pin 5 to output  
wiringpi.pinMode(1, 2) # sets WP pin 1 to PWM mode  
  
# Physical P1 header pin numbers  
import wiringpi2 as wiringpi  
wiringPiSetupPhys()  
wiringpi.pinMode(22, 0) # sets P1 pin 22 to input  
wiringpi.pinMode(18, 1) # sets P1 pin 18 to output  
wiringpi.pinMode(12, 2) # sets P1 pin 12 to PWM mode

Raspberry Pi with 7-segment display

Python

https://pypi.python.org/pypi/RPi.GPIO

/opt/nagioe/python_demo/blink.py
/opt/nagioe/python_demo/push.py

blink.py

import RPi.GPIO as GPIO  
import time  
# blinking function  
def blink(pin):  
        GPIO.output(pin,GPIO.HIGH)  
        time.sleep(1)  
        GPIO.output(pin,GPIO.LOW)  
        time.sleep(1)  
        return  
# to use Raspberry Pi board pin numbers  
GPIO.setmode(GPIO.BOARD)  
GPIO.setwarnings(False)
# set up GPIO output channel  
GPIO.setup(11, GPIO.OUT)  
# blink GPIO17 50 times  
for i in range(0,50):  
	blink(11)
GPIO.cleanup()

push.py

import RPi.GPIO as GPIO 
import time  
print GPIO.RPI_REVISION
print GPIO.VERSION 
GPIO.setmode(GPIO.BOARD)

pin=40

GPIO.setup(pin, GPIO.IN)
GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while (1):
  print GPIO.input(pin)
  time.sleep(0.5)
#GPIO.output(pin, False)
GPIO.cleanup()

Control LED

import RPi.GPIO as GPIO  
import time  
# blinking function  
def blink(pin, pin2):  
        GPIO.output(pin,GPIO.HIGH)  
        time.sleep(0.1)  
        GPIO.output(pin,GPIO.LOW)  
        time.sleep(0.1)  
        GPIO.output(pin2,GPIO.HIGH)  
        time.sleep(0.1)  
        GPIO.output(pin2,GPIO.LOW)  
        time.sleep(0.1)    
        return  
# to use Raspberry Pi board pin numbers  
GPIO.setmode(GPIO.BOARD)  
GPIO.setwarnings(False)
# set up GPIO output channel  
GPIO.setup(11, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)

GPIO.setup(40, GPIO.IN, pull_up_down=GPIO.PUD_UP)

blink(11, 13)

while (1):
	if GPIO.input(40) == 0: 		
		blink(11, 13) 
	time.sleep(0.1)
GPIO.cleanup()

Turn LED

source: http://engr.uconn.edu/~song/classes/nes/RPi.pdf

import RPi.GPIO as GPIO
import time
def main():
 GPIO.cleanup()
 GPIO.setmode(GPIO.BOARD) # to use Raspberry Pi board pin numbers
 GPIO.setup(11, GPIO.OUT) # set up GPIO output channel

 while True:
  GPIO.output(11, GPIO.LOW) # set RPi board pin 11 low. Turn off LED.
  time.sleep(1)
  GPIO.output(11, GPIO.HIGH) # set RPi board pin 11 high. Turn on LED.
  time.sleep(2)
main()

RaspBian

Username: pi, password: NAGIoE2015

Re-mapping Keyboard: XKBLAYOUT=”gb” Change “gb” to “us”

sudo vi /etc/default/keyboard   

Start the desktop by typing: (http://engr.uconn.edu/~song/classes/nes/RPi.pdf)

startx  

Booting your Raspberry Pi for the first time

sudo raspi-config

Update apt-get package index files:

sudo apt-get update

Install SSH:

sudo apt-get install ssh

Start SSH server:

sudo /etc/init.d/ssh start

To start the SSH server every time the Pi boots up:

sudo update-rc.d ssh defaults

How To Autostart Apps In Rasbian LXDE Desktop

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Auto-run Python Scripts

@/usr/bin/python /home/pi/example.py

www

http://www.netacad-games.cz/nag-ioe-workshop

http://www.i-com-unity.cz/ioe

http://engr.uconn.edu/~song/classes/nes/RPi.pdf

Seznam týmů

  • Střední odborná škola a Střední odborné učiliště, Hořovice
  • SPŠ a VOŠ, Písek
  • Stredni prumyslova skola elektrotechniky a informatiky, Ostrava (A)
  • Stredni prumyslova skola elektrotechniky a informatiky, Ostrava (B)
  • Střední školy informačních technologií, Frýdek - Místek
  • SPŠ a OA, Bruntál
  • Střední průmyslová škola, Přerov (A)
  • Střední průmyslová škola, Přerov (B)
  • SŠINFIS, Plzeň (A)
  • SŠINFIS, Plzeň (B)
  • VOŠ a SPŠ, Jičín
  • Střední průmyslová škola, Trutnov
  • SŠ a VOŠ aplikované kybernetiky, Hradec Králové (A)
  • SŠ a VOŠ aplikované kybernetiky ,Hradec Králové (B)
  • Střední škola informatiky, poštovnictví a finančnictví, Brno (A)
  • Střední škola informatiky, poštovnictví a finančnictví, Brno (B)
  • Obchodní akademie, Vyšší odborná škola a jazyková škola, Uherské Hradiště (A)
  • Obchodní akademie, Vyšší odborná škola a jazyková škola, Uherské Hradiště (B)
  • VOŠ a SPŠ, Šumperk
  • Střední průmyslová škola elektrotechnická, Praha 10 (A)
  • Střední průmyslová škola elektrotechnická, Praha 10 (B)
  • VOŠ a SPŠE, Plzeň
  • GaSOS, Rokycany