Satura rādītājs:

Viedā nodarbība: 6 soļi
Viedā nodarbība: 6 soļi
Anonim
Gudra nodarbība
Gudra nodarbība

O projeto Smart Lesson Visa Criam 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 não presencia de aula konvencional.

1. solis: Materiāls

Materiais
Materiais

Programmējiet Dragonboard 410c:

- Dragonboard 410c;

- HDMI kabelis;

-Teclado, izmantojot USB -peli, izmantojot USB -monitoru;

- starpstāvu 96 dēļi;

Izpildītājs vai projekts:

- Dragonboard 410c;

- starpstāvu 96 dēļi;

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

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

- džemperis fêmea-fêmea;

2. darbība: 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 (līmeņa pārslēdzējs), indi a placa só fornece 1.8V de saída. O sensora izmantošana magneto metro sensors MPU -9250 Grove -IMU 10DOF, īpaši:

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

Funkcija Corrente de funcionamento: 6mA;

Comunicação sērija;

Pinos: VCC, GND, SDA un SCL;

I2C saskarne;

Para este example forfo utilizado um dos conectores Grove I2C0 (5V), que proporciona a comunicação Serial and a alimentação needária para funcionamento do sensor. (ver attēls)

3. solis: Integrācija: Unity + Vuforia

Integrācija: Unity + Vuforia
Integrācija: Unity + Vuforia

1- Vá ao site da vuforia na area of desenvolvedor e crie uma chave.

2- Izvēlēties tab Target Manager un adicione uma textura para fazer o Tracking (quanto mais complexa melhor).

3- Feito isso baixe un Unity e importe datu bāze.

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

5- Vienotības licence “Chave de licence da vuforia nas configurações dentro do”.

6- Apos isso modele os komponenti da aula em algum program 3D un sagatavot kā aulas em cima do image target (pode ser uma aula de Biologia ou Física…).

4. darbība. Vienotība: konfigurējiet Android SDK

Vienotība: konfigurējiet Android SDK
Vienotība: konfigurējiet Android SDK

1- Baixe vai SDK Android ierīcēm, Unity preferences un izvēle vai izvēle.

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

3- Instalējiet vai instalējiet emu izvietošanas rīku (nav atļauts izmantot atļauto fontu desconhecidas nas konfigurāciju).

5. darbība: Criando Servidor Local E Recebendo Informācija par Python

Criando Servidor Local E Recebendo Informācija par Python
Criando Servidor Local E Recebendo Informācija par Python

Konkurence kā konfigurācijas apresentadas, podemos acessar vai Sistema Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, etc., para criar o software que será executado. Este programmatūra un atbilde uz uztvērēju, lai saņemtu osos lidos pelo sensoru, procesu un tratar estes dados conforme solicitado pelo programmu. 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. Os dados são transferidos da Dragonboard 410c par Unity un 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

# Autors: Jons Trulsons

# Autortiesības (c) 2015 Intel Corporation.

#

# Atļauja tiek piešķirta bez maksas jebkurai personai, kas to iegūst

# šīs programmatūras kopija un saistītie dokumentācijas faili (# "Programmatūra"), lai bez ierobežojumiem nodarbotos ar Programmatūru, ieskaitot

# bez ierobežojumiem tiesības izmantot, kopēt, modificēt, apvienot, publicēt, # izplatīt, apakšlicencēt un/vai pārdot Programmatūras kopijas un

# atļaut to darīt personām, kurām Programmatūra ir nodrošināta, ievērojot

# šādus nosacījumus:

#

# Iepriekš minētais paziņojums par autortiesībām un šis atļaujas paziņojums ir

# iekļauts visās Programmatūras kopijās vai būtiskās daļās.

#

# PROGRAMMATŪRA tiek nodrošināta "TĀDA KĀDA", BEZ JEBKĀDU GARANTIJU, # IZTEIKTI VAI TIEŠI, IESKAITOT, bet neaprobežojoties ar GARANTIJĀM

# TIRDZNIECĪBA, PIEMĒROTĪBA KONKRETAM MĒRĶIEM UN

# NEPAKĀPŠANA. AUTORI UN AUTORTIESĪBU ĪPAŠNIEKI NEKĀDĀ GADĪJUMĀ NEBŪS

# ATBILDĪBA PAR JEBKURU PRASĪBU, KAITĒJUMU VAI CITU ATBILDĪBU, RĪCĪBĀ

LĪGUMA, SŪTĪBAS VAI CITA PĀRSKATS, CILVĒKI, IZŅEMTI VAI SAVIENOJUMĀ

# AR PROGRAMMATŪRU VAI LIETOŠANU VAI CITIEM PROGRAMMATŪRAS darījumiem.

no _future_ importēt drukas_funkciju

importēšanas laiks, sys, signāls, atexit, urllib, urllib2, math

no upm importēt pyupm_mpu9150 kā sensoruObj

def main ():

# dati = {}

# data ['magnetrometro'] = raw_input ("Informēt par temperatūru")

# dati = urlib.urlencode (dati)

# post_request = urlib2. Request (post_url, dati, galvenes)

# pamēģini:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# izņemot URL Kļūda kā e:

# drukāt "Kļūda:", e. iemesls

# Instalējiet MPU9250 I2C autobusā 0

sensors = sensorObj. MPU9250 ()

## Izejas apstrādātāji ##

# Šī funkcija neļauj python izdrukāt stecktrace, kad nospiežat taustiņu Control-C

def SIGINTHandler (signāls, rāmis):

paaugstināt SystemExit

# Šī funkcija ļauj palaist kodu, izejot

def exitHandler ():

drukāt ("Iziet")

sys.exit (0)

# Reģistrējiet izejas apstrādātājus

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorsObj.new_floatp ()

kamēr (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print ("Akselerometrs:")

# 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

# drukāt (modulo1)

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

# drukāt (modulo1)

#

# sensor.getGiroskops (x, y, z)

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

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

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

sensor.getMagnetometrs (x, y, z)

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

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

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

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

# drukāt (modulo2)

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

# drukāt (modulo2)

arq = atvērts ('/tmp/dados.txt', 'w')

teksto =

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

arq.writelines (teksto)

arq.close ()

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

# print ('enviando dados')

# send = urllib2.urlopen (saite)

# page = send.read ()

# izdruka (lapa)

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

# print ('enviando dados')

# send = urllib2.urlopen (saite)

# page = send.read ()

# izdruka (lapa)

# print ("Temperatūra:", sensor.getTemperature ())

# drukāt ()

# laiks.gulēt (.5)

ja _name_ == '_main_':

galvenais ()

Código do Servidor Local

importa laiks

importēt BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! ATCERIETIES MAINĪT ŠO !!!

PORT_NUMBER = 80 # Varbūt iestatiet to uz 9000.

a = 0

MyHandler klase (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 ()

drukāt (dados)

"" "Atbildiet uz GET pieprasījumu." ""

ja s.path == "/1":

s.send_response (200)

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

s.end_headers ()

s.wfile.write (dados)

elifs.path == "/2":

s.send_response (200)

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

s.end_headers ()

s.wfile.write ("2")

cits:

s.send_response (200)

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

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("nav atrasts !!")

def le_dados ():

arq = atvērts ('/tmp/dados.txt', 'r')

texto = arq.readline ()

arq.close ()

atgriešanās teksts

ja _name_ == '_main_':

server_class = BāzeHTTPServer. HTTPServer

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

print time.asctime (), "Servera palaišana - %s: %s" %(HOST_NAME, PORT_NUMBER)

pamēģini:

a = a+2

httpd.serve_forever ()

izņemot tastatūruPārtraukums:

iziet

httpd.server_close ()

print time.asctime (), "Servera apstāšanās - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

atbalss "sākuma mag_python"

sudo python mag_python.py &

echo "start server"

sudo python server2.py

6. solis: Rezultāta fināls

Rezultāts Fināls
Rezultāts Fināls

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

LINK lietotnei Google Play:

Saite uz códigos Py:

Ieteicams: