Съдържание:

Интелигентен урок: 6 стъпки
Интелигентен урок: 6 стъпки

Видео: Интелигентен урок: 6 стъпки

Видео: Интелигентен урок: 6 стъпки
Видео: НА КАКУЮ БУКВУ НАЧИНАЕТСЯ ТВОЕ ИМЯ? 2024, Ноември
Anonim
Интелигентен урок
Интелигентен урок

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 experiencias não sala presenciad de aula konvencional.

Стъпка 1: Материали

Материали
Материали

За програмиране на Dragonboard 410c:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado чрез USB -Мишка чрез USB -Монитор;

- Мецанин 96 табла;

Изпълнител или проектор:

- Dragonboard 410c;

- Мецанин 96 табла;

- Sensor Grove IMU 10DOF MPU - 9250 (няма ограничение за използване на умния сензор);

- Fonte de alimentação externa 11.1V;

- Джъмпер fêmea-fêmea;

Стъпка 2: Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem

Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem
Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem
Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem
Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem
Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem
Dragonboard 410c Com Мецанин 96 Табла: Configuração E Pinagem

O Shield Mezzanine de serco aplapla à placa Dragonboard 410c, който е предназначен за включване на захранване 3.3V / 5V (превключвател на ниво), разполага с платка за 1.8V детайл. Използване на сензора за магнитометър за сензор MPU -9250 Grove -IMU 10DOF, спецификации:

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

Функционални функции: 6mA;

Comunicação Serial;

Пино: VCC, GND, SDA и SCL;

I2C интерфейс;

Като пример за използване на домовете за свързване Grove I2C0 (5V), който е пропорционален и комуникационен сериен и алиментарно необходим за функционален сензор. (ver imagem)

Стъпка 3: Интеграция: Unity + Vuforia

Интеграция: Unity + Vuforia
Интеграция: Unity + Vuforia

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

2- В раздела Target Manager и допълнителна текстова информация за фаза или проследяване (Quanto mais complexa melhor).

3- Фейто е базирана база данни за Unity и импортиране.

4- Не Unity конфигурирайте um image target com a textura escolhida e dentro dele adicione os modelos 3D que deseja utilizar, os mesmos estarão ativos quando a imagem for localizada pelo app.

5- Добавете лицензионна лицензия към конфигурацията на нашите конфигурации за Unity.

6- Após isso modele os componentsntes da aula em algum program 3D и подгответе като aulas em cima do target image (настройка на servo uma aula de Biologia ou Física …).

Стъпка 4: Единство: Конфигурирайте O Android SDK

Unity: Конфигурирайте O Android SDK
Unity: Конфигурирайте O Android SDK

1- Baixe или SDK за Android, в предпочитанията на Unity и избраните за директното управление.

2- Трябва да създадете платформа за изграждане на Unity за android, да приемете consguiremos gerar или APK.

3- Инсталирайте apk em um dispositivo (não esqueça de allowir fontes desconhecidas nas configurações).

Стъпка 5: Criando Servidor Local E Recebendo Informações Em Python

Criando Servidor Local E Recebendo Информация Em Python
Criando Servidor Local E Recebendo Информация Em Python

Заключенията като конфигурации са представени, настроени за достъп до Sistema Linaro, за да бъдат използвани и използвани на езици за C ++, Java, Python и др. Това е софтуер, който отговаря на изискванията на сензора за сензори, обработва и препраща към програми, които отговарят на изискванията на програмата за пело. Depois carrega esses dados para o 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. Можете да прехвърлите Dragonboard 410c за Unity и да го представите в приложението.

Seguem os códigos mag_python.py (отчитане на сензора), server2.py (локален сървър), Executável без Shell:

Código mag_python.py

#!/usr/bin/python

# Автор: Джон Трулсън

# Авторско право (c) 2015 Intel Corporation.

#

# Разрешението се предоставя безплатно на всяко лице, което получава

# копие на този софтуер и свързаните с него файлове с документация (# "Софтуер"), за да се занимавате със Софтуера без ограничения, включително

# без ограничение правата за използване, копиране, промяна, сливане, публикуване, # разпространява, подлицензира и/или продава копия на Софтуера и на

# позволяват на лица, на които е предоставен Софтуерът, да го направят, при условие че

# следните условия:

#

# Горното известие за авторски права и това известие за разрешение трябва да бъде

# включени във всички копия или значителни части от Софтуера.

#

# СОФТУЕРЪТ се ПРЕДОСТАВЯ "КАКТО Е", БЕЗ ГАРАНЦИЯ ОТ ВСИЧКИ ВИД, # ИЗРИЧНО ИЛИ НАЛИЧНО, ВКЛЮЧВАЩО, НО НЕ ОГРАНИЧЕНО ОТ ГАРАНЦИИТЕ НА

# ТЪРГОВСКИ СЪОТВЕТСТВОСТ, ФИТЕНТНОСТ ЗА ОПРЕДЕЛЕНА ЦЕЛ И

# НЕ НАРУШЕНИЕ. В НИКАКЪВ СЛУЧАЙ АВТОРИТЕ И ПРИТЕЖАТЕЛИТЕ НА АВТОРСКИ ПРАВА

# ОТГОВОРНОСТ ЗА ВСИЧКИ ИСКОВЕ, УВРЕЖДАНИЯ ИЛИ ДРУГА ОТГОВОРНОСТ, ДАЛИ В ДЕЙСТВИЕ

№ НА ДОГОВОР, ИЗЛУЧЕНИЕ ИЛИ ИНАЧИ, ИЗВЪРШВАНИ ОТ, ИЗВЪН ИЛИ ВЪВ ВРЪЗКА

# С СОФТУЕРА ИЛИ ИЗПОЛЗВАНЕТО ИЛИ ДРУГИ СДЕЛКИ В СОФТУЕРА.

от _future_ импортиране print_function

време за импортиране, sys, сигнал, atexit, urllib, urllib2, математика

от upm внос pyupm_mpu9150 като sensorObj

def main ():

# данни = {}

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

# data = urlib.urlencode (данни)

# post_request = urlib2. Request (post_url, данни, заглавки)

# опитвам:

# post_response = urlib2.urlopen (post_request)

# печат post_response.read ()

# с изключение на URLError като e:

# отпечатайте „Грешка:“, e.reason

# Инсталирайте MPU9250 на I2C шина 0

сензор = сензорObj. MPU9250 ()

## Изход манипулатори ##

# Тази функция спира python да отпечатва stecktrace, когато натиснете control-C

def SIGINTHandler (регистрация, рамка):

повдигнете SystemExit

# Тази функция ви позволява да стартирате код при излизане

def exitHandler ():

print ("Излизане")

sys.exit (0)

# Регистрирайте манипулатори за излизане

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = сензорObj.new_floatp ()

y = сензорObj.new_floatp ()

z = сензорObj.new_floatp ()

докато (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print ("Акселерометър:")

# 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

# печат (по модул1)

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

# печат (по модул1)

#

# sensor.getГироскоп (x, y, z)

# print ("Жироскоп: GX:", sensorObj.floatp_value (x), end = '')

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

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

sensor.getМагнитометър (x, y, z)

# print ("Магнитометър: MX:", сензорObj.floatp_value (x), end = '')

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

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

modulo2 = сензорObj.floatp_value (x) ** 2+сензорObj.floatp_value (y) ** 2+сензорObj.floatp_value (z) ** 2

# печат (по модул2)

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

# печат (по модул2)

arq = отворен ('/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 (връзка)

# страница = send.read ()

# печат (страница)

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

# print ('enviando dados')

# send = urllib2.urlopen (връзка)

# страница = send.read ()

# печат (страница)

# print ("Температура:", sensor.getTemperature ())

# print ()

# time.sleep (.5)

ако _name_ == '_main_':

main ()

Código do Servidor Local

време за импортиране

импортирайте BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! ЗАПОМНЕТЕ ДА ИЗМЕНИТЕ ТОВА !!!

PORT_NUMBER = 80 # Може би задайте това на 9000.

а = 0

клас MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Тип съдържание", "текст/html")

s.end_headers ()

def do_GET (s):

dados = le_dados ()

печат (dados)

"" "Отговорете на GET заявка." ""

ако s.path == "/1":

s.send_response (200)

s.send_header ("Тип съдържание", "текст/обикновен")

s.end_headers ()

s.wfile.write (dados)

elif s.path == "/2":

s.send_response (200)

s.send_header ("Тип съдържание", "текст/обикновен")

s.end_headers ()

s.wfile.write ("2")

иначе:

s.send_response (200)

s.send_header ("Тип съдържание", "текст/обикновен")

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("не е намерен !!")

def le_dados ():

arq = отворен ('/tmp/dados.txt', 'r')

texto = arq.readline ()

arq.close ()

връщане на texto

ако _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime (), "Сървър стартира - %s: %s" %(HOST_NAME, PORT_NUMBER)

опитвам:

a = a+2

httpd.serve_forever ()

с изключение на KeyboardInterrupt:

пропуск

httpd.server_close ()

print time.asctime (), "Сървър спира - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

ехо "стартиране на mag_python"

sudo python mag_python.py &

ехо "стартиране на сървър"

sudo python server2.py

Стъпка 6: Резултат финал

Резултат финал
Резултат финал

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

ВРЪЗКА за приложение без Google Play:

Връзка за códigos Py:

Препоръчано: