Obsah:

Inteligentní lekce: 6 kroků
Inteligentní lekce: 6 kroků

Video: Inteligentní lekce: 6 kroků

Video: Inteligentní lekce: 6 kroků
Video: Kurz angličtiny pro samouky: Lekce 6 2024, Červenec
Anonim
Inteligentní lekce
Inteligentní lekce

O projektu Inteligentní lekce vízum, které prodávají žádné kvalitní profesoři, kteří využívají více možností, než kolik a kolik lidí má více než jednu větší část, než jakákoli forma, která může mít vliv na vaši práci de aula konvenční.

Krok 1: Materiais

Materiais
Materiais

Jako program a Dragonboard 410c:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado přes USB -myš přes USB -monitor;

- Mezzanine 96boards;

Para executar o projeto:

- Dragonboard 410c;

- Mezzanine 96boards;

- Sensor Grove IMU 10DOF MPU - 9250 (omezený počet senzorů a senzorů);

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

- svetr fêmea-fêmea;

Krok 2: 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
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 (level shifter), pois a placa só fornece 1.8V de saída. Využití snímače pro magnetický snímač MPU -9250 Grove -IMU 10DOF, specifikace:

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

Základní proud: 6mA;

Comunicação Serial;

Pinos: VCC, GND, SDA a SCL;

Rozhraní I2C;

Jedná se zejména o použití konektorů Grove I2C0 (5V), jejichž proporce a komunikace jsou sériové a mají základní funkci senzoru. (ver imagem)

Krok 3: Integração: Unity + Vuforia

Integração: Unity + Vuforia
Integração: Unity + Vuforia

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

2– Záložka Target Manager a další textury pro sledování nebo sledování (velké množství komplexních melodií).

3- Feito isso baixe a database para o Unity e importe.

4- Žádná jednota konfiguruje cíl obrázku a texturu a barvu pozadí pro 3D modely, které využívají více než jeden měsíc, a proto mohou mít aplikace pro lokalizaci pelo.

5- Doporučené licence pro konfiguraci zařízení.

6- Další možnosti použití 3D programů pro přípravu 3D obrazu, které lze připravit jako cíl obrazu (pode ser uma aula de Biologia ou Física…).

Krok 4: Unity: Konfigurace O Android SDK

Unity: Konfigurace O Android SDK
Unity: Konfigurace O Android SDK

1- Baixe o SDK do Android, vá em Unity preference e selecione or seu diretório.

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

3- Instalovat všechny aplikace, které máte k dispozici (všechny typy povolených fontů desconhecidas nas configurações).

Krok 5: 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

Konkrétní konfigurace a zastoupení zahrnují všechny základní systémy, které využívají různé jazykové verze jako C ++, Java, Python atd., Para criar o software que será executado. Vlastní software a odpověď na váš osobní snímač, jeho zpracování, zpracování a výběr přizpůsobeného programu. Depois carrega eses dados para o servidor alocado na própria placa para enviar os dados já tratados para a plataforma Unity. Příkladem může být projednání projektu Phyton. Přenos dat z Dragonboardu 410c do aplikace Unity a všech aplikací.

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

# Autor: Jon Trulson

# Copyright (c) 2015 Intel Corporation.

#

# Oprávnění se uděluje bezplatně jakékoli osobě, která získá

# kopie tohoto softwaru a souvisejících souborů dokumentace (# „Software“), k obchodování se Softwarem bez omezení, včetně

# bez omezení práva používat, kopírovat, upravovat, sloučit, publikovat, # distribuovat, sublicencovat a/nebo prodávat kopie Softwaru a

# povolit osobám, kterým je Software poskytnut, aby tak učinily, s výhradou

# následující podmínky:

#

# Výše uvedené oznámení o autorských právech a toto oznámení o povolení budou

# je součástí všech kopií nebo podstatných částí Softwaru.

#

# SOFTWARE JE POSKYTOVÁN „TAK, JAK JE“, BEZ ZÁRUKY JAKÉHOKOLI DRUHU, # VYJÁDŘENÉ NEBO IMPLIKOVANÉ, VČETNĚ, ALE NE OMEZENÉ ZÁRUKAMI

# OBCHODOVATELNOST, VHODNOST PRO ZVLÁŠTNÍ ÚČEL A

# NEINFRINGEMENT. V ŽÁDNÉM PŘÍPADĚ NEBUDOU AUTORI NEBO DRŽITELÉ AUTORSKÝCH PRÁV

# ODPOVĚDNOST ZA JAKÉKOLI REKLAMY, ŠKODY NEBO JINOU ODPOVĚDNOST, JIŽ V AKCI

# SMLOUVY, MOHY NEBO JINAK, ZÍSKÁVAJÍCÍ SE Z, VNĚJŠÍ NEBO V PŘIPOJENÍ

# SO SOFTWAREM NEBO POUŽITÍM NEBO JINÝMI OBCHODY V SOFTWARU.

from _future_ import print_function

čas importu, sys, signál, atexit, urllib, urllib2, matematika

from upm import pyupm_mpu9150 as sensorObj

def main ():

# data = {}

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

# data = urlib.urlencode (data)

# post_request = urlib2. Request (post_url, data, záhlaví)

# Snaž se:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# kromě URLError jako e:

# tisk "Chyba:", e.reason

# Vytvořte instanci MPU9250 na sběrnici I2C 0

senzor = senzorObj. MPU9250 ()

## Ukončení obsluhy ##

# Tato funkce zastaví python v tisku stacktrace, když stisknete control-C

def SIGINTHandler (signum, rám):

zvýšit SystemExit

# Tato funkce vám umožní spustit kód při ukončení

def exitHandler ():

tisk ("Konec")

sys.exit (0)

# Zaregistrujte obslužné rutiny výstupu

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

zatímco (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print ("Accelerometer:")

# 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

# tisk (modulo1)

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

# tisk (modulo1)

#

# sensor.getGyroskop (x, y, z)

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

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

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

sensor.getMagnetometr (x, y, z)

# print ("Magnetometr: 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

# tisk (modulo2)

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

# tisk (modulo2)

arq = otevřeno ('/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 (odkaz)

# stránka = send.read ()

# tisk (stránka)

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

# print ('enviando dados')

# send = urllib2.urlopen (odkaz)

# stránka = send.read ()

# tisk (stránka)

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

# tisk()

# time.sleep (.5)

if _name_ == '_main_':

hlavní()

Código do Servidor Místní

čas importu

importovat BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! PAMATUJTE TO ZMĚNIT !!!

PORT_NUMBER = 80 # Možná to nastavíte na 9000.

a = 0

třída MyHandler (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 ()

tisk (dados)

"" "Odpovězte na požadavek GET." ""

pokud 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")

jiný:

s.send_response (200)

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

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write („not found !!“)

def le_dados ():

arq = otevřeno ('/tmp/dados.txt', 'r')

texto = arq.readline ()

arq.close ()

vrátit texto

if _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

httpd = třída_serveru ((HOST_NAME, PORT_NUMBER), MyHandler)

print time.asctime (), "Server začíná - %s: %s" %(HOST_NAME, PORT_NUMBER)

Snaž se:

a = a+2

httpd.serve_forever ()

kromě KeyboardInterrupt:

složit

httpd.server_close ()

print time.asctime (), "Server se zastaví - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "začínající mag_python"

sudo python mag_python.py &

echo "spustit server"

sudo python server2.py

Krok 6: Resultado Final

Výsledné finále
Výsledné finále

Některé z nich mohou obsahovat další pomocné a přidané položky a další inteligentní lekce, které jsou k dispozici na Dragonboardu 410c. Poskytovatel služeb a proporcí má více aprílových systémů, jako jsou soukromá vystoupení.

ODKAZ na aplikaci bez Google Play:

Odkaz na Py Py:

Doporučuje: