Inhoudsopgave:

Slimme les: 6 stappen
Slimme les: 6 stappen

Video: Slimme les: 6 stappen

Video: Slimme les: 6 stappen
Video: Maak nu je droomkast zelf in 6 stappen! 2024, Juli-
Anonim
Slimme les
Slimme les

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údo a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdosica a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdosica de seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdosica de forma de aula convencional.

Stap 1: Materiaal

Materiais
Materiais

Voor het programmeren van een Dragonboard 410c:

- Dragonboard 410c;

- Kabel HDMI;

- Teclado via USB -Muis via USB -Monitor;

- Mezzanine 96 borden;

Para executar of projeto:

- Dragonboard 410c;

- Mezzanine 96 borden;

- Sensor Grove IMU 10DOF MPU - 9250 (geen beperking en gebruik van de sensor);

- Voedingsbron externa 11.1V;

- Trui femea-fêmea;

Stap 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 is ontworpen voor Dragonboard 410c, voor de eerste keer dat de 3.3V / 5V (level shifter) wordt geplaatst, en voor de 1.8V voor de datum. O sensor utilizado foi um magnetômetro Sensor MPU – 9250 Grove -IMU 10DOF, especificações:

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

Corrente de functie: 6mA;

Comunicação Serieel;

Pino's: VCC, GND, SDA en SCL;

I2C-interface;

Dit is een voorbeeld van een gebruiksvoorwerp van Grove I2C0 (5V), dat een comunicaço Serial e a alimentação necessária for funcionamento do sensor. (ver afbeelding)

Stap 3: Integração: Unity + Vuforia

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

1- Bekijk ook een site over een gebied van desenvolvedor en crie uma chave.

2- Bekijk het tabblad Target Manager en aanvullende tekst voor het volgen van tracking (quanto mais complexa melhor).

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

4- No Unity configureer een afbeeldingsdoel voor een tekstuele en adicione van 3D-modellen die gebruikt kunnen worden, voor een afbeelding van een afbeelding voor de localizada pelo-app.

5- Een chave de licença da vuforia nas configurações dentro do Unity.

6- Dit is een model van componenten van een aula en een programma van 3D en een voorbereiding als aulas em cima do image target (pode ser uma aula de Biologia of Física…).

Stap 4: Unity: Configureer O Android SDK

Unity: Configureer O Android SDK
Unity: Configureer O Android SDK

1- Baixe of SDK do Android, vá em Unity-voorkeuren e selecione of seu diretório.

2- Mude een build-platform voor Unity voor Android, assim conseguiremos gerar o APK.

3- Installeer apk em um dispositivo (no esqueça de permitir fontes desconhecidas nas configurações).

Stap 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

Concluídas as configurações apresentadas, podemos acessar o Sistema Linaro dentro da placa en utilizar várias linguagens Como C++, Java, Python, etc., para criar o software que será executado. Este software é responsável por receber os dados lidos pelo sensor, processar en tratar estes dados conforme requestado pelo programa. Het is mogelijk om een dienst aan te bieden en een plaats te vinden om de aarde te beschermen tegen een platvorm van Unity. Een voorbeeld van een voorbeeld van een projeto estão em linguagem Phyton. U kunt ook gebruikmaken van Dragonboard 410c voor Unity en meer presenteren van de app.

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

Code mag_python.py

#!/usr/bin/python

# Auteur: Jon Trulson

# Copyright (c) 2015 Intel Corporation.

#

# Toestemming wordt hierbij gratis verleend aan elke persoon die

# een kopie van deze software en bijbehorende documentatiebestanden (de

# "Software"), om zonder beperking in de Software te handelen, inclusief:

# zonder beperking de rechten om te gebruiken, kopiëren, wijzigen, samenvoegen, publiceren, # distribueren, in sublicentie geven en/of verkopen van kopieën van de Software, en om

# personen aan wie de Software wordt geleverd, toestemming geven om dit te doen, onder voorbehoud van:

# de volgende voorwaarden:

#

# De bovenstaande copyrightkennisgeving en deze toestemmingskennisgeving zijn:

# opgenomen in alle kopieën of substantiële delen van de Software.

#

# DE SOFTWARE WORDT GELEVERD "AS IS", ZONDER ENIGE GARANTIE, # UITDRUKKELIJK OF IMPLICIET, INCLUSIEF MAAR NIET BEPERKT TOT DE GARANTIES VAN

# VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN

# NIET-INBREUK. IN GEEN GEVAL ZULLEN DE AUTEURS OF AUTEURSRECHTHOUDERS ZIJN

# AANSPRAKELIJK VOOR ENIGE CLAIM, SCHADE OF ANDERE AANSPRAKELIJKHEID, IN EEN ACTIE

# CONTRACT, ONRECHTMATIGE OF ANDERSZINS, VOORTVLOEIEND UIT, UIT OF IN VERBAND

# MET DE SOFTWARE OF HET GEBRUIK OF ANDERE HANDELINGEN IN DE SOFTWARE.

van _future_ import print_function

import tijd, sys, signaal, atexit, urllib, urllib2, math

van upm importeer pyupm_mpu9150 als sensorObj

def hoofd():

# gegevens = {}

# data['magnetrometro'] = raw_input ("Informeer een temperatuur")

# data = urlib.urlencode(data)

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

# proberen:

# post_response = urlib2.urlopen(post_request)

# print post_respons.read()

# behalve URLError als e:

# print "Fout: ", e.reden

# Instantieer een MPU9250 op I2C-bus 0

sensor = sensorObj. MPU9250()

## Afhandelaars verlaten ##

# Deze functie voorkomt dat python een stacktrace afdrukt wanneer u op control-C. drukt

def SIGINTHandler(signum, frame):

verhoog SystemExit

# Met deze functie kun je code uitvoeren bij afsluiten

def exitHandler():

print("Afsluiten")

sys.exit(0)

# Registreer exit-handlers

atexit.register(exitHandler)

signaal.signaal(signaal. SIGINT, SIGINTHandler)

sensor.init()

x = sensorObj.new_floatp()

y = sensorObj.new_floatp()

z = sensorObj.new_floatp()

terwijl (1):

sensor.update()

sensor.getVersnellingsmeter(x, y, z)

# afdrukken ("Versnellingsmeter: ")

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

# afdrukken (modulo1)

#

# sensor.getGyroscope(x, y, z)

# print("Gyroscoop: 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("Magnetometer: 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))

# afdrukken (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))

# afdrukken ('enviando dados')

# stuur = urllib2.urlopen(link)

# pagina = verzenden.lezen()

# print pagina)

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

# afdrukken ('enviando dados')

# stuur = urllib2.urlopen(link)

# pagina = verzenden.lezen()

# print pagina)

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

# print()

# tijd.slaap(.5)

if _name_ == '_main_':

hoofd()

Código do Servidor Local

import tijd

importeer BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!!VERGEET NIET DIT TE WIJZIGEN!!!

PORT_NUMBER = 80 # Zet dit misschien op 9000.

a=0

klasse MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD(s):

s.send_response(200)

s.send_header("Inhoudstype", "tekst/html")

s.end_headers()

def do_GET(s):

dados = le_dados()

afdrukken (dados)

"""Reageer op een GET-verzoek."""

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

anders:

s.send_response(200)

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

s.end_headers()

s.wfile.write(dados)

#s.wfile.write("niet gevonden!!")

def le_dados():

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

texto = arq.readline()

arq.close()

terug teksto

if _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime(), "Server start - %s:%s" % (HOST_NAME, PORT_NUMBER)

proberen:

a=a+2

httpd.serve_forever()

behalve KeyboardInterrupt:

doorgang

httpd.server_close()

print time.asctime(), "Server stopt - %s:%s" % (HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "mag_python starten"

sudo python mag_python.py &

echo "start server"

sudo python server2.py

Stap 6: Resultado Finale

Resultaat Finale
Resultaat Finale

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

LINK voor app geen Google Play:

Link naar code Py:

Aanbevolen: