Sisällysluettelo:

Älykäs oppitunti: 6 vaihetta
Älykäs oppitunti: 6 vaihetta

Video: Älykäs oppitunti: 6 vaihetta

Video: Älykäs oppitunti: 6 vaihetta
Video: 6 vaihetta pysyvään muutokseen – PrioMed®-elintapavalmennus 2024, Heinäkuu
Anonim
Älykäs oppitunti
Älykäs oppitunti

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 Experience nias ão presencia de aula konvencional.

Vaihe 1: Materiaali

Materiais
Materiais

Ohjelmoi Dragonboard 410c:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado USB: n kautta -Hiiri USB: n kautta -Monitori;

- Mezzanine 96 -levyt;

Suoritin tai projekti:

- Dragonboard 410c;

- Mezzanine 96 -levyt;

- Sensor Grove IMU 10DOF MPU - 9250 (não limitado ao uso de um único sensor);

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

- jumpperi fêmea-fêmea;

Vaihe 2: Dragonboard 410c Com Mezzanine 96 Laudat: Configuração E Pinagem

Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem

O Shield Mezzanine deve ser acoplado à placa Dragonboard 410c, para que haja fornecimento de saída 3.3V / 5V (tasonsiirto), myrkkyä 1,8 V. O -anturin käyttö magnetometro -anturi MPU -9250 Grove -IMU 10DOF, erityisesti:

Tensão de Entrada: 5V / 3,3V;

Toiminta -alue: 6mA;

Comunicação -sarja;

Pinot: VCC, GND, SDA ja SCL;

I2C -käyttöliittymä;

Esimerkkinä voidaan käyttää Grove I2C0 (5V) -laitetta, joka on suhteellinen ja kommunikoitu sarjaan ja joka on välttämätön anturin toiminnalle. (ver imagem)

Vaihe 3: Integração: Unity + Vuforia

Integraatio: Unity + Vuforia
Integraatio: Unity + Vuforia

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

2- Valitse välilehti Target Manager ja adicione uma textura para fazer o Tracking (quanto mais complexa melhor).

3- Feito isso baixe ja Unity e importen tietokanta.

4- Ei Unity konfiguroida um image target com tekstuurin escolhida ja hammaslääkärin halutessaan mallien 3D que deseja utilizar, os mesmos estarão ativos quando a imagem for localizada pelo app.

5- Unity-vuoren vuokrien lisenssin määrittäminen.

6- Apos isso modele os partses a aula em algum program 3D and prep as aulas em cima do image target (pode ser uma aula de Biologia ou Física…).

Vaihe 4: Unity: Määritä Android SDK

Unity: Määritä Android SDK
Unity: Määritä Android SDK

1- Baixe tai SDK Androidille, Unityn asetukset ja valinta tai seuranta.

2- Mude a build plataform do Unity for android, assim conseguiremos gerar o APK.

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

Vaihe 5: Criando Servidor Local E Recebendo Informaatio Em Python

Criando Servidor Local E Recebendo Informaatio Em Python
Criando Servidor Local E Recebendo Informaatio Em Python

Konkreettiset konfiguraatiot apresentadas, podemos acessar tai Sistema Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, etc., para criar or software que sera executado. Este -ohjelmisto ja vastaus vastaanottimeen os dados lidos pelo -anturi, prosessori ja tratar estes dados conforme solicitado pelo -ohjelma. Depois carrega esses dados para or 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. Osados são transferidos da Dragonboard 410c on Unity ja são apresentados em um app.

Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (Servidor local), Executável no Shell:

Código mag_python.py

#!/usr/bin/python

# Kirjoittaja: Jon Trulson

# Tekijänoikeus (c) 2015 Intel Corporation.

#

# Lupa myönnetään maksutta kenelle tahansa hakijalle

# kopio tästä ohjelmistosta ja siihen liittyvistä asiakirjatiedostoista (# "Ohjelmisto"), käsittelemään Ohjelmistoa ilman rajoituksia, mukaan lukien

# rajoituksetta oikeudet käyttää, kopioida, muokata, yhdistää, julkaista, # jakaa, lisensoida ja/tai myydä ohjelmiston kopioita ja

# sallia henkilöille, joille Ohjelmisto on toimitettu, tehdä niin

# seuraavat ehdot:

#

# Yllä oleva tekijänoikeusilmoitus ja tämä lupailmoitus ovat

# sisältyy kaikkiin ohjelmiston kopioihin tai merkittäviin osiin.

#

# OHJELMISTOT TOIMITETAAN "sellaisenaan" ilman minkäänlaisia takuita, # NIMENOMAINEN TAI EHDOTTOMAINEN, MUKAAN MUKAAN EI RAJOITU TAKUUIHIN

# KAUPALLISUUS, SOVELTUVUUS TIETTYYN TARKOITUKSEEN JA

# RIKKOMATON. TEKIJÄT JA TEKIJÄNOIKEUDEN HALTIJAT EI SAA OLLA missään tapauksessa

# VASTUU MISTÄ VAATIMUKSISTA, VAHINGOISTA TAI MUUSTA VASTUUSTA TOIMENPITEESSÄ

SOPIMUKSEN, KIINNITTÄMISEN TAI MUUTA TUOTETTA, JOTKA OVAT TULEVAT, OTTAVAT TAI YHTEYDESSÄ

# OHJELMISTON TAI OHJELMISTON KÄYTÖN TAI MUIDEN TARJOUKSIEN KANSSA.

_tulevaisuus_ tuonti tulostustoiminnosta

tuontiaika, sys, signaali, atexit, urllib, urllib2, matematiikka

upmista tuo pyupm_mpu9150 sensorObj

def main ():

# data = {}

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

# data = urlib.urlencode (data)

# post_request = urlib2. Request (post_url, data, headers)

# yrittää:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# paitsi URL Virhe muodossa e:

# tulosta "Virhe:", e. syy

# Asenna MPU9250 I2C -väylään 0

anturi = sensorObj. MPU9250 ()

## Poistumiskäsittelijät ##

# Tämä toiminto estää pythonia tulostamasta pinoraitaa, kun painat control-C

def SIGINTHandler (tunnus, kehys):

nosta SystemExit

# Tämän toiminnon avulla voit suorittaa koodin poistuttaessa

def exitHandler ():

tulosta ("Poistu")

sys.exit (0)

# Rekisteröi poistumiskäsittelijät

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

samalla (1):

sensor.update ()

sensor.getAcecelerometer (x, y, z)

# print ("Kiihtyvyysmittari:")

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

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

# 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

# print (modulo1)

modulo1 = (" %.1f" % abs (((modulo1 ** 0.5) -1)*9.8))

# print (modulo1)

#

# sensor.getGyroskooppi (x, y, z)

# print ("Gyroskooppi: GX:", sensorObj.floatp_value (x), end = '')

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

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

Magnetometri (x, y, z)

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

# print ("MY:", sensorObj.floatp_value (y), end = '')

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

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

# print (modulo2)

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

# print (modulo2)

arq = auki ('/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 (linkki)

# page = send.read ()

# tulosta (sivu)

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

# print ('enviando dados')

# send = urllib2.urlopen (linkki)

# page = send.read ()

# tulosta (sivu)

# print ("Lämpötila:", sensor.getTemperature ())

# Tulosta()

# aika.unen (.5)

jos _name_ == '_main_':

pää ()

Código do Servidor Local

tuonnin aika

Tuo BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! MUISTA MUUTTAA TÄTÄ !!!

PORT_NUMBER = 80 # Ehkä aseta tämä arvoksi 9000.

a = 0

luokka MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Sisältötyyppi", "teksti/html")

s.end_headers ()

def do_GET (s):

dados = le_dados ()

tulosta (dados)

"" "Vastaa GET -pyyntöön." ""

jos s.polku == "/1":

s.send_response (200)

s.send_header ("Sisältötyyppi", "teksti/tavallinen")

s.end_headers ()

s.wfile.write (isät)

elif s.path == "/2":

s.send_response (200)

s.send_header ("Sisältötyyppi", "teksti/tavallinen")

s.end_headers ()

s.wfile.write ("2")

muu:

s.send_response (200)

s.send_header ("Sisältötyyppi", "teksti/tavallinen")

s.end_headers ()

s.wfile.write (isät)

#s.wfile.write ("ei löydy !!")

def le_dados ():

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

texto = arq.readline ()

arq.close ()

paluu texto

jos _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime (), "Palvelin käynnistyy - %s: %s" %(HOST_NAME, PORT_NUMBER)

yrittää:

a = a+2

httpd.serve_forever ()

paitsi näppäimistö Keskeytys:

kulkea

httpd.server_close ()

print time.asctime (), "Palvelin pysähtyy - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "käynnistyvä mag_python"

sudo python mag_python.py &

echo "käynnistä palvelin"

sudo python server2.py

Vaihe 6: Tuloksen lopullinen

Tulos Finaali
Tulos Finaali

Feito isso as aulas poderão ser apuohjelmat ja lisälaitteet peliohjelma Smart Lesson desenvolvido com Dragonboard 410c. Palvelut helpottamiseksi ja suhteuttamiseksi maior aprendizado nos systemas de ensino tanto público quanto privado.

LINK Google Play -sovellukseen:

Linkki koodiin Py:

Suositeltava: