Tartalomjegyzék:

Intelligens lecke: 6 lépés
Intelligens lecke: 6 lépés

Videó: Intelligens lecke: 6 lépés

Videó: Intelligens lecke: 6 lépés
Videó: Answer The Question Of Albert Einstein | How To Solve This Equation | Can You Solve This Equation 2024, Július
Anonim
Intelligens lecke
Intelligens lecke

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 experiencecises não presencia de aula konvencional.

1. lépés: Anyagi kapcsolat

Materiais
Materiais

A Dragonboard 410c programozásához:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado USB -n keresztül -Egér USB -n keresztül -Monitor;

- félemeleti 96 deszkák;

Végrehajtó vagy projekt:

- Dragonboard 410c;

- félemeleti 96 deszkák;

- Érzékelő Grove IMU 10DOF MPU - 9250 (não limitado ao uso de um único sensor);

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

- Jumper fêmea-fêmea;

2. lépés: Dragonboard 410c Com Mezzanine 96 Táblák: 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 (szintváltó), mérgezi a helyét 1,8 V feszültség alatt. O érzékelő a magnetometro MPU érzékelővel -9250 Grove -IMU 10DOF, különösen:

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

Corrente de funcionamento: 6mA;

Comunicação sorozat;

Pinos: VCC, GND, SDA és SCL;

I2C interfész;

Para este example for foi utilizado um dos conectores Grove I2C0 (5V), que proporciona a comunicação Serial and a alimentação requiredária para funcionamento do sensor. (ver imagem)

3. lépés: Integráció: Unity + Vuforia

Integráció: Unity + Vuforia
Integráció: Unity + Vuforia

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

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

3- Feito isso baixe az Unity e importe adatbázishoz.

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

5- Az Unity licencének engedélyezése.

6- Após isso modele os komponens da aula em algum program 3D és készüljön fel aulas em cima do image target (pode ser uma aula de Biologia ou Física…).

4. lépés: Unity: Az Android SDK konfigurálása

Unity: Az Android SDK konfigurálása
Unity: Az Android SDK konfigurálása

1- Baixe vagy SDK az Androidhoz, vá Unity beállítások és kiválasztás vagy követés.

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

3- Telepítse vagy töltse le az em a rendelkezésére álló eszközöket (nem engedélyezett betűtípusok desconhecidas nas konfigurációhoz).

5. lépés: Criando Servidor Local E Recebendo Információ Em Python

Criando Servidor Local E Recebendo Információk Em Python
Criando Servidor Local E Recebendo Információk Em Python

Concluídas as configurações apresentadas, podemos acessar o Sistema Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, etc., para criar o software que sera executado. Ez a szoftver reagál a vevőkészülékre, mint a dados lidos pelo sensor, a processzor és a tratar estes dados conforme solicitado pelo program. 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. Ez az átruházás a Dragonboard 410c programhoz a Unity és az apresentados em um kb.

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

# Szerző: Jon Trulson

# Szerzői jog (c) 2015 Intel Corporation.

#

# Ezennel ingyenesen engedélyt adunk bármely megszerzett személynek

# a szoftver és a kapcsolódó dokumentációs fájlok másolata (# "Szoftver"), a Szoftver korlátozás nélküli kezelésére, beleértve

# korlátozás nélkül a használat, másolás, módosítás, egyesítés, közzététel joga, # terjeszteni, licencbe adni és/vagy eladni a Szoftver másolatait, és

# engedje meg azoknak a személyeknek, akiknek a Szoftvert rendelkezésre bocsátják, figyelemmel arra

# a következő feltételek:

#

# A fenti szerzői jogi nyilatkozat és ez az engedélyezési értesítés a következő

# a Szoftver minden példányában vagy jelentős részében szerepel.

#

# A SZOFTVERT „MEGJEGYZÉSBEN” SZOLGÁLTATJUK, MINDEN GARANCIA NÉLKÜL, # Kifejezett

# KERESHETŐSÉG, MEGHATÁROZOTT KÜLÖNLEGES CÉLRA ÉS

# MEGHATÁROZÁS. A SZERZŐK VAGY SZERZŐI JOGI TULAJDONOSOK SEMMILYEN esetben sem lehetnek

# FELELŐSSÉG MINDEN KÖVETELMÉNEK, KÁRRA VAGY MÁS FELELŐSSÉGRE VONATKOZÓAN, FELELŐSSÉGBEN

SZERZŐDÉS SZÁMA, TORT vagy VAGY MÁSHOZ, HOZZÁ, HOGY KAPCSOLATBAN, HOGY KAPCSOLATBAN

# A SZOFTVERrel VAGY A SZOFTVER HASZNÁLATÁVAL VAGY EGYÉB ÜZLETEKKEL.

from _future_ import print_function

import idő, sys, signal, atexit, urllib, urllib2, math

az upm -ből importálja a pyupm_mpu9150 érzékelőkéntObj

def main ():

# adat = {}

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

# data = urlib.urlencode (adatok)

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

# próbáld ki:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# az URL kivételével Hiba: e:

# print "Hiba:", e. ok

# Instantiate egy MPU9250 -et az I2C buszon

érzékelő = sensorObj. MPU9250 ()

## Kilépéskezelők ##

# Ez a funkció megakadályozza, hogy a python kinyomtassa a veremkövetést, ha megnyomja a Control-C billentyűt

def SIGINTHandler (jel, keret):

emelje fel a SystemExit -et

# Ez a funkció lehetővé teszi a kód futtatását kilépéskor

def exitHandler ():

print ("Kilépés")

sys.exit (0)

# Regisztrálja a kilépési kezelőket

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

míg (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print ("Gyorsulásmérő:")

# 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.getGyroscope (x, y, z)

# print ("Giroszkóp: GX:", sensorObj.floatp_value (x), end = '')

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

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

sensor.getMagnetometer (x, y, z)

# print ("Magnetométer: 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 = open ('/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 (link)

# page = send.read ()

# nyomtatás (oldal)

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

# print ('enviando dados')

# send = urllib2.urlopen (link)

# page = send.read ()

# nyomtatás (oldal)

# print ("Hőmérséklet:", sensor.getTemperature ())

# print ()

# time.sleep (.5)

ha _name_ == '_main_':

fő()

Código do Servidor Local

importálási idő

importálja a BaseHTTPServert

HOST_NAME = '172.17.56.9' # !!! NE feledje, hogy ezt meg kell változtatni !!!

PORT_NUMBER = 80 # Esetleg állítsa ezt 9000 -re.

a = 0

MyHandler osztály (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Content-type", "text/html")

s.end_headers ()

def do_GET (s):

dados = le_dados ()

nyomtatás (apa)

"" "Válaszoljon egy GET kérésre." ""

ha s.path == "/1":

s.send_response (200)

s.send_header ("Content-type", "text/plain")

s.end_headers ()

s.wfile.write (dados)

elif s.path == "/2":

s.send_response (200)

s.send_header ("Content-type", "text/plain")

s.end_headers ()

s.wfile.write ("2")

más:

s.send_response (200)

s.send_header ("Content-type", "text/plain")

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("nem található !!")

def le_dados ():

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

texto = arq.readline ()

arq.close ()

return texto

ha _name_ == '_main_':

szerver_osztály = BaseHTTPServer. HTTPServer

httpd = szerver_osztály ((HOST_NAME, PORT_NUMBER), MyHandler)

print time.asctime (), "A szerver elindul - %s: %s" %(HOST_NAME, PORT_NUMBER)

próbáld ki:

a = a+2

httpd.serve_forever ()

A billentyűzet megszakítása kivételével:

passz

httpd.server_close ()

print time.asctime (), "Szerver leáll - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "kezdő mag_python"

sudo python mag_python.py &

echo "szerver indítása"

sudo python server2.py

6. lépés: Eredmény

Eredmény Döntő
Eredmény Döntő

Feito is as aulas poderão ser segédeszközök és növekményes peló projeto Smart Lesson desenvolvido com a Dragonboard 410c. Servindo de facilitador e proporcionando um maior aprendizado nos systemas de ensino tanto público quanto privado.

LINK a Google Play alkalmazáshoz:

Link a códigos Py -hez:

Ajánlott: