Kazalo:

Pametna lekcija: 6 korakov
Pametna lekcija: 6 korakov

Video: Pametna lekcija: 6 korakov

Video: Pametna lekcija: 6 korakov
Video: ФИЛЬМ#6. РИМСКИЙ-КОРСАКОВ. Из цикла "Послушаем вместе". 2024, November
Anonim
Pametna lekcija
Pametna lekcija

O projeto Smart Lesson visa criar um produto no qual os professores possam utilizar como um conteúdo a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdos de forma dinâmica e interativa, proporcionando experiencias não uma presenciad de aula konvencional.

1. korak: Materiali

Materiali
Materiali

Za program Dragonboard 410c:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado preko USB -miške preko USB -monitorja;

- vmesne plošče 96;

Za izvedbo ali projekcijo:

- Dragonboard 410c;

- vmesne plošče 96;

- Senzor Grove IMU 10DOF MPU - 9250 (ni omejitve glede uporabe senzorja za zvok);

- Fonte de alimentação externa 11,1V;

- skakalec fêmea-fêmea;

2. korak: Dragonboard 410c Com Mezzanine 96 Plošče: Konfiguracija E Pinagem

Dragonboard 410c Com Mezzanine 96Tabli: Konfiguracija E Pinagem
Dragonboard 410c Com Mezzanine 96Tabli: Konfiguracija E Pinagem
Dragonboard 410c Com Mezzanine 96Tabli: Konfiguracija E Pinagem
Dragonboard 410c Com Mezzanine 96Tabli: Konfiguracija E Pinagem
Dragonboard 410c Com Mezzanine 96Tabli: Konfiguracija E Pinagem
Dragonboard 410c Com Mezzanine 96Tabli: Konfiguracija E Pinagem

O Shield Mezzanine je opremljen z Dragonboard 410c, ki je opremljen s 3,3V / 5V (nivojski menjalnik) in je nameščen na 1,8V napajalniku. O senzor, uporabljen za magnetni senzor MPU -9250 Grove -IMU 10DOF, posebne značilnosti:

Tensão de Entrada: 5V / 3.3V;

Funkcionalnost: 6mA;

Comunicação Serial;

Igre: VCC, GND, SDA in SCL;

Vmesnik I2C;

Za primer, da uporabite ali uporabite conectores Grove I2C0 (5V), ki je proporcionalen in serijsko povezan in je potreben za delovanje senzorja. (ver imagem)

3. korak: Integração: Unity + Vuforia

Integracija: Unity + Vuforia
Integracija: Unity + Vuforia

1- Vá ao site da vuforia na área de desenvolvedor e crie uma chave.

2- V zavihku Target Manager e adicione uma textura para fazer o Tracking (quanto mais complexa melhor).

3- Poiščite bazo podatkov o sistemu Unity e import.

4- No Unity configure um image target com a textura escolhida e dentro dele adicione os modelos 3D que deseja uselizar, os mesmos estarão ativos quando a imagem for localizada pelo app.

5- Dodatna licenca za konfiguracijo nas konfiguracij za Unity.

6- Após isso modele os componentsn da aula em algum programa 3D e pripravi kot aulas em cima do image image (pode ser uma aula de Biologia ou Física…).

4. korak: Unity: Konfigurirajte O Android SDK

Unity: Konfigurirajte O Android SDK
Unity: Konfigurirajte O Android SDK

1- Baixe ali SDK za Android, v nastavitvah Unity in izbranih ali usmerjenih.

2- Namestite gradbeno ploščo v sistemu Unity za android, izberite želeno datoteko ali APK.

3- Namestite apk em um dispositivo (não esqueça de allowir fontes desconhecidas nas configurações).

5. korak: Criando Servidor Local E Recebendo Informações Em Python

Criando Servidor Local E Recebendo Informações Em Python
Criando Servidor Local E Recebendo Informações Em Python

Sklepi kot konfiguracije, ki so predstavljene, nameščene na strani Sistema Linaro, so namenjene uporabi in uporabi jezikov v jeziku C ++, Java, Python itd. Este programska oprema je odzivna ali sprejeta z dodatnega senzorja senzorja, procesorja in tratarjev, ki ustrezajo zahtevam programa pelo. Depois carrega esses dados para o servidor alocado na própria placa para enviar os dados já tratados para a plataforma Unity. Os exemplos de código deste projeto estão em linguagem Phyton. Če želite prenesti Dragonboard 410c za Unity in predstaviti svojo aplikacijo.

Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (lokalni strežnik), Executável no Shell:

Código mag_python.py

#!/usr/bin/python

# Avtor: Jon Trulson

# Avtorske pravice (c) 2015 Intel Corporation.

#

# Dovoljenje se brezplačno podeli vsaki osebi, ki jo pridobi

# kopija te programske opreme in pripadajočih datotek dokumentacije (# "Programska oprema"), da se s programsko opremo ukvarjajo brez omejitev, vključno

# brez omejitev pravice do uporabe, kopiranja, spreminjanja, združevanja, objave, # distribuirati, podlicencirati in/ali prodati kopije programske opreme in

# dovoljujejo osebam, ki jim je programska oprema namenjena, v skladu z

# naslednji pogoji:

#

# Zgornje obvestilo o avtorskih pravicah in to obvestilo o dovoljenju bo

# vključeno v vse kopije ali znatne dele programske opreme.

#

# PROGRAMSKA OPREMA JE NAMENJENA "KAKŠNA", BREZ GARANCIJE, # IZRESNO ALI PODROČJE, VKLJUČNO, NE VSEBUJO GARANCIJ

# TRGOVINSKA ZDRAVLJIVOST, PRIMERNOST ZA POSEBEN NAMEN IN

# NENOVRŠITEV. V nobenem primeru ne smejo biti avtorji ali imetniki avtorskih pravic

# ODGOVORNOST ZA KAKŠNE TERJATVE, ŠKODO ALI DRUGO ODGOVORNOST, KATERE V DEJAVNOSTI

ŠTEVILA POGODBE, PONOSNIKA ALI DRUGEGA, KI PRIHODI IZ, IZ ALI V POVEZAVI

# S PROGRAMSKO OPREMO ALI UPORABO ALI DRUGIMI POGODBAMI V PROGRAMSKI OPREMI.

from _future_ import print_function

čas uvoza, sys, signal, atexit, urllib, urllib2, math

from upm import pyupm_mpu9150 kot sensorObj

def main ():

# podatkov = {}

# data ['magnetrometro'] = raw_input ("Informe a temperature")

# data = urlib.urlencode (podatki)

# post_request = urlib2. Request (post_url, podatki, glave)

# poskus:

# post_response = urlib2.urlopen (post_request)

# natisni post_response.read ()

# razen URLError kot e:

# print "Napaka:", e.reason

# Namestite MPU9250 na vodilo I2C 0

senzor = senzorObj. MPU9250 ()

## Zapri izvajalce ##

# Ta funkcija prepreči, da bi python natisnil sled skladov, ko pritisnete control-C

def SIGINTHandler (prijava, okvir):

dvignite SystemExit

# Ta funkcija vam omogoča izvajanje kode ob izhodu

def exitHandler ():

print ("Izhod")

sys.exit (0)

# Registrirajte upravljalce izhodov

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = senzorObj.new_floatp ()

z = senzorObj.new_floatp ()

medtem ko (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print ("Merilnik pospeška:")

# print ("AX: %.4f" % sensorObj.floatp_value (x), konec = '')

# print ("AY: %.4f" % sensorObj.floatp_value (y), konec = '')

# print ("AZ: %.4f" % sensorObj.floatp_value (z))

modulo1 = (sensorObj.floatp_value (x) -0,005) ** 2+ (sensorObj.floatp_value (y) -0,0150) ** 2+ (sensorObj.floatp_value (z) -0,0450) ** 2

# tiskanje (modulo1)

modulo1 = (" %.1f" % abs (((modulo1 ** 0,5) -1)*9,8))

# tiskanje (modulo1)

#

# sensor.getGiroskop (x, y, z)

# print ("Žiroskop: GX:", senzorObj.floatp_value (x), konec = '')

# print ("GY:", sensorObj.floatp_value (y), konec = '')

# print ("GZ:", sensorObj.floatp_value (z))

sensor.getMagnetometer (x, y, z)

# print ("Magnetometer: MX:", sensorObj.floatp_value (x), end = '')

# print ("MOJ:", sensorObj.floatp_value (y), konec = '')

# print ("MZ:", sensorObj.floatp_value (z))

modulo2 = senzorObj.floatp_value (x) ** 2+senzorObj.floatp_value (y) ** 2+senzorObj.floatp_value (z) ** 2

# tiskanje (modulo2)

modulo2 = (" %.2f" % (modulo2 ** 0,5))

# tiskanje (modulo2)

arq = odprto ('/tmp/dados.txt', 'w')

texto =

texto.append (str (modulo2)+","+str (modulo1))

arq.writelines (texto)

arq.close ()

# link = ('https://data.sparkfun.com/input/0lwWlyRED5i7K0AZx4JO?private_key=D6v76yZrg9CM2DX8x97B&mag='+str(modulo2))

# print ('enviando dados')

# send = urllib2.urlopen (povezava)

# page = send.read ()

# tiskanje (stran)

# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))

# print ('enviando dados')

# send = urllib2.urlopen (povezava)

# page = send.read ()

# tiskanje (stran)

# print ("Temperatura:", sensor.getTemperature ())

# print ()

# time.sleep (.5)

če _name_ == '_main_':

main ()

Código do Servidor Local

čas uvoza

uvozi BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! Spomnite se, da to spremenite !!!

PORT_NUMBER = 80 # Mogoče nastavite na 9000.

a = 0

razred MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Vrsta vsebine", "besedilo/html")

s.end_headers ()

def do_GET (s):

dados = le_dados ()

tiskanje (dados)

"" "Odgovorite na zahtevo GET." ""

če je s.path == "/1":

s.send_response (200)

s.send_header ("Vrsta vsebine", "besedilo/navaden")

s.end_headers ()

s.wfile.write (dados)

elif s.path == "/2":

s.send_response (200)

s.send_header ("Vrsta vsebine", "besedilo/navaden")

s.end_headers ()

s.wfile.write ("2")

drugače:

s.send_response (200)

s.send_header ("Vrsta vsebine", "besedilo/navaden")

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("ni najdeno !!")

def le_dados ():

arq = odprto ('/tmp/dados.txt', 'r')

texto = arq.readline ()

arq.close ()

vrni texto

če _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

httpd = server_class ((HOST_NAME, PORT_NUMBER), MyHandler)

print time.asctime (), "Zagon strežnika - %s: %s" %(HOST_NAME, PORT_NUMBER)

poskusi:

a = a+2

httpd.serve_forever ()

razen KeyboardInterrupt:

prehod

httpd.server_close ()

print time.asctime (), "Strežnik se ustavi - %s: %s" %(HOST_NAME, PORT_NUMBER)

Código de Execução dos Códigos anteriores no Shell

#!/bin/bash

echo "zagon mag_python"

sudo python mag_python.py &

echo "zagonski strežnik"

sudo python server2.py

Korak 6: Končni rezultat

Končni rezultat
Končni rezultat

Feito isso as aulas poderão ser auxiliadas and incrementadas pelo projeto Smart Lesson desenvolvido com a Dragonboard 410c. Servindo de facilitador e proporcionando um maior aprendizado nos sistemas de ensino tanto público quanto privado.

POVEZAVA za aplikacijo brez Googla Play:

Povezava do códigos Py:

Priporočena: