Sadržaj:

Pametna lekcija: 6 koraka
Pametna lekcija: 6 koraka

Video: Pametna lekcija: 6 koraka

Video: Pametna lekcija: 6 koraka
Video: Урок № 6: «Изхар» (إِظْهَار) Ясное чтение / 1-ое правило Нун-Сакина и Танвина 2024, Juli
Anonim
Pametna lekcija
Pametna lekcija

O projektu Smart Lesson visa criar um produto no qual os professores possam utilizar como um contextú 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, proporcionalndo experiencias em não prezentaciad de aula konvencional.

Korak 1: Materijali

Materiais
Materiais

Za programe Dragonboard 410c:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado preko USB -Miš preko USB -Monitor;

- međuspratne ploče 96;

Za izvršenje ili projekciju:

- Dragonboard 410c;

- međuspratne ploče 96;

- Sensor Grove IMU 10DOF MPU - 9250 (nema ograničenja za korištenje senzora za único);

- vanjska fonte de alimentação 11.1V;

- Džemper fêmea-fêmea;

Korak 2: Dragonboard 410c Com Međuspratne ploče 96: Daske: Konfiguracija E Pinagem

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

O Shield Mezzanine je opremljen Dragonboard 410c, za napajanje od 3.3V / 5V (prekidač nivoa), koji ima ploču od 1.8V za napajanje. O osjetnik koji se koristi za magnetski senzor Senzor MPU -9250 Grove -IMU 10DOF, specifikacije:

Napon ulaza: 5V / 3.3V;

Funkcionalno napajanje: 6mA;

Comunicação Serial;

Igre: VCC, GND, SDA i SCL;

I2C interfejs;

Za primjenu za korištenje Grove I2C0 (5V), koji je proporcionalno povezan sa serijskim uređajem i alimentacionom potrebom za funkcionisanje senzora. (ver imagem)

Korak 3: Integracija: Unity + Vuforia

Integracija: Unity + Vuforia
Integracija: Unity + Vuforia

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

2- Na kartici Target Manager i dodatna tekstualna tekstualna informacija o praćenju (kvanto mais complexa melhor).

3- Još jedna baza podataka za Unity e import.

4- Ne Unity konfigurira um ciljnu sliku sa tekstualnom eskolhidom ili briše dodatak za modele 3D koji se koristi za korištenje, ali je potrebno poslati sliku za lokalizaciju pelo aplikacije.

5- Dodajte licencu za prilagođavanje konfiguracije za Unity.

6- Após isso modele sa komponentama da aula em algum programa 3D i pripremite kao aulas em cima do mete slike (podešavanje uma aula de Biologia ili Física …).

Korak 4: Jedinstvo: Konfigurirajte O Android SDK

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

1- Baixe ili SDK za Android, u Unity preferencijama i odabiru direktnog upravljanja.

2- Treba izgraditi platforma za Unity za android, kao i za APK.

3- Instalirajte apk aplikaciju na svom dispozitivu (ne morate dopustiti fontes desconhecidas nas konfiguracije).

Korak 5: Criando Servidor Local E Recebendo Informacije Em Python

Criando Servidor Local E Recebendo Informacije Em Python
Criando Servidor Local E Recebendo Informacije Em Python

Zaključci kao konfiguracije apresentada, podešavanja pristupa ili Sistema Linaro dentro da se koriste i koriste jezičke jezike za C ++, Java, Python itd., Za programsko ili programsko izvršavanje. Ovaj softver je odgovoran za prijem senzora sa senzorima, procesore i traktore koji odgovaraju zahtjevima prilagođenih programa za pelo. Depois carrega esses dados para 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 je prenio Dragonboard 410c za Unity i predstavio aplikaciju u aplikaciji.

Odredite códigos mag_python.py (provjerite senzor), server2.py (lokalni poslužitelj), Izvrši bez ljuske:

Código mag_python.py

#!/usr/bin/python

# Autor: Jon Trulson

# Autorska prava (c) 2015 Intel Corporation.

#

# Ovim se dozvola daje besplatno, bilo kojoj osobi koja to dobije

# kopija ovog softvera i pripadajućih datoteka dokumentacije (# "Softver"), za rad sa Softverom bez ograničenja, uključujući

# bez ograničenja prava na korištenje, kopiranje, izmjenu, spajanje, objavljivanje, # distribuirati, podlicencirati i/ili prodavati kopije Softvera i

# dozvoljavaju osobama kojima je Softver namenjen da to učine, podložno

# sledeci uslovi:

#

# Gore navedeno obaveštenje o autorskim pravima i ovo obaveštenje o dozvoli biće

# uključeno u sve kopije ili značajne dijelove Softvera.

#

# SOFTVER SE DOSTAVA "KAKAV JESTE", BEZ BILO KAKVE JAMSTVE, # IZRIČITO ILI IMPLICIRANO, UKLJUČUJUĆI, ALI NISU OGRANIČENI GARANCIJAMA

# TRGOVINSKA SPOSOBNOST, POSLOVNOST ZA POSEBNU SVRHU I

# NENOVRŠENJE. AUTORI ILI NOSITELJI AUTORSKIH PRAVA NIKADA NE SMIJU BITI

# ODGOVORNOST ZA BILO KOJU POTRAŽIVANJE, ŠTETU ILI DRUGU ODGOVORNOST, BILO KOJU U AKCIJI

BROJ UGOVORA, POVREDE ILI NA DRUGI POGLED, POSTOJI IZ, IZ ILI POVEZANO

# S SOFTVEROM ILI KORIŠTENJEM ILI DRUGIM POGODBAMA U SOFTVERU.

from _future_ import print_function

vrijeme uvoza, sys, signal, atexit, urllib, urllib2, math

from upm import pyupm_mpu9150 kao sensorObj

def main ():

# podataka = {}

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

# data = urlib.urlencode (podaci)

# post_request = urlib2. Zahtjev (post_url, podaci, zaglavlja)

# pokušaj:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# osim URLError kao e:

# print "Greška:", e.reason

# Instancirajte MPU9250 na I2C sabirnici 0

senzor = senzorObj. MPU9250 ()

## Rukovanje izlazom ##

# Ova funkcija sprečava python da štampa stacktrace kada pritisnete control-C

def SIGINTHandler (prijava, okvir):

podići SystemExit

# Ova funkcija vam omogućuje pokretanje koda pri izlazu

def exitHandler ():

print ("Izlaz")

sys.exit (0)

# Registrirajte izlazne rukovatelje

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = senzorObj.new_floatp ()

dok (1):

sensor.update ()

sensor.getAccelerometar (x, y, z)

# print ("Akcelerometar:")

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

# 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

# ispis (modulo1)

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

# ispis (modulo1)

#

# sensor.getGiroskop (x, y, z)

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

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

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

sensor.getMagnetometar (x, y, z)

# print ("Magnetometar: MX:", sensorObj.floatp_value (x), kraj = '')

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

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

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

# ispis (modulo2)

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

# ispis (modulo2)

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

tekst =

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 (veza)

# stranica = send.read ()

# ispis (stranica)

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

# print ('enviando dados')

# send = urllib2.urlopen (veza)

# stranica = send.read ()

# ispis (stranica)

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

# print ()

# time.sleep (.5)

if _name_ == '_main_':

main ()

Código do Servidor Local

vreme uvoza

import BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! Upamtite da ovo promijenite !!!

PORT_NUMBER = 80 # Možda postavite ovo na 9000.

a = 0

klasa MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Vrsta sadržaja", "tekst/html")

s.end_headers ()

def do_GET (s):

dados = le_dados ()

print (dados)

"" "Odgovorite na GET zahtjev." ""

ako je s.path == "/1":

s.send_response (200)

s.send_header ("Vrsta sadržaja", "tekst/običan")

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

drugo:

s.send_response (200)

s.send_header ("Vrsta sadržaja", "tekst/običan")

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("nije pronađeno !!")

def le_dados ():

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

texto = arq.readline ()

arq.close ()

return texto

if _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime (), "Server počinje - %s: %s" %(HOST_NAME, PORT_NUMBER)

probaj:

a = a+2

httpd.serve_forever ()

osim KeyboardInterrupt:

pass

httpd.server_close ()

ispis time.asctime (), "Zaustavljanje servera - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "pokretanje mag_python"

sudo python mag_python.py &

echo "start server"

sudo python server2.py

Korak 6: Rezultat finala

Rezultat finale
Rezultat finale

Feito je također kao pomoćni poslužitelj i dodatak za projektovanje pametne lekcije za Lessonboard i Dragonboard 410c. Servindo de facilitador e proporcionando um maior aprendizado nos sistemes en ensino tanto público quanto privatedo.

LINK za aplikaciju bez Google Playa:

Link para códigos Py:

Preporučuje se: