Mục lục:

Bài học thông minh: 6 bước
Bài học thông minh: 6 bước

Video: Bài học thông minh: 6 bước

Video: Bài học thông minh: 6 bước
Video: Quy trình học thông minh - 6 bước chuẩn bị bài ở nhà 2024, Tháng bảy
Anonim
Bài học thông minh
Bài học thông minh

O projeto Bài học thông minh visa criar um produto không có trình độ chuyên môn về sở hữu tài sản có thể thực hiện được como um bối cảnh a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os Contúdos de forma dinâmica e interativa, em uma uma salacias em de aula convencional.

Bước 1: Vật liệu

Materiais
Materiais

Para programar a Dragonboard 410c:

- Ván rồng 410c;

- Cabo HDMI;

- Teclado qua USB -Mouse qua USB -Monitor;

- Thùng lửng 96 ván;

Para executive o projeto:

- Ván rồng 410c;

- Thùng lửng 96 ván;

- Cảm biến Grove IMU 10DOF MPU - 9250 (cảm biến não não hạn chế ao uso de um único);

- Fonte de alimentação externa 11.1V;

- Jumper fêmea-fêmea;

Bước 2: Dragonboard 410c Com Mezzanine 96

Dragonboard 410c Com Mezzanine 96
Dragonboard 410c Com Mezzanine 96
Dragonboard 410c Com Mezzanine 96
Dragonboard 410c Com Mezzanine 96
Dragonboard 410c Com Mezzanine 96
Dragonboard 410c Com Mezzanine 96

O Shield Mezzanine deve ser acoplado à nhauBảng rồng 410c, para que haja fornecimento de saída 3.3V / 5V (level shifter), độc a pana só fornece 1.8V de saída. Cảm biến O useizado foi um magnetômetro Sensor MPU - 9250 Grove -IMU 10DOF, đặc biệt

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

Corrente de funcionamento: 6mA;

Comunicação Serial;

Pinos: VCC, GND, SDA e SCL;

Giao diện I2C;

Para este exelo foi useizado um dos conectores Grove I2C0 (5V), que ratiociona a comunicação Serial e a alimentação needária para funcionamento do sensor. (ver imagem)

Bước 3: Tích hợp: 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- Vá na tab Target Manager e adicione uma textura para fazer o Theo dõi (quanto mais complexa melhor).

3- Feito isso baixe một cơ sở dữ liệu para o Unity e importe.

4- Không có Unity cấu hình um image target com a textura escolhida e dentro delete adicione os modelos 3D que deseja Pracizar, os mesmos estarão ativos quando a imagem cho ứng dụng pelo localizada.

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

6- Após isso modele os componentes da aula em algum Programa 3D e chuẩn bị như aulas em cima làm mục tiêu hình ảnh (pode ser uma aula de Biologia ou Física…).

Bước 4: Unity: Định cấu hình O Android SDK

Unity: Định cấu hình O Android SDK
Unity: Định cấu hình O Android SDK

1- Baixe o SDK do Android, vá em Tùy chọn Unity e selecione o seu diretório.

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

3- Instale o apk em um dispositivo (não esqueça de permitir fontes desconhecidas nas configurações).

Bước 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 perma e Pracizar várias linguagens como C ++, Java, Python, v.v., para criar o software que será executive. Phần mềm Este é đáp ứng bởi bộ phận cảm biến của bộ cảm biến bộ xử lý, bộ xử lý e tratar estes dados conforme solicitado pelo programma. Depois carrega esses dados para o servidor alocado na própria coroa para enviar os dados já tratados para a plataforma Unity. Os exelos de código deste projeto estão em linguagem Phyton. Os dados são transferidos da Dragonboard 410c para o Unity e são apresentados em um ứng dụng.

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

# Tác giả: Jon Trulson

# Bản quyền (c) 2015 Intel Corporation.

#

# Quyền theo đây được cấp miễn phí cho bất kỳ người nào có được

# bản sao của phần mềm này và các tệp tài liệu liên quan (# "Phần mềm"), để giao dịch trong Phần mềm mà không bị hạn chế, bao gồm

# không giới hạn quyền sử dụng, sao chép, sửa đổi, hợp nhất, xuất bản, # phân phối, cấp phép phụ và / hoặc bán các bản sao của Phần mềm và cho

# cho phép những người mà Phần mềm được cung cấp để làm như vậy, tùy thuộc vào

# điều kiện sau:

#

# Thông báo bản quyền ở trên và thông báo cấp phép này sẽ

# được bao gồm trong tất cả các bản sao hoặc các phần quan trọng của Phần mềm.

#

# PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG BẢO HÀNH BẤT KỲ HÌNH THỨC NÀO, # RÕ RÀNG HOẶC NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN ĐẢM BẢO CỦA

# KHẢ NĂNG LAO ĐỘNG, PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ VÀ

# KHÔNG VI PHẠM. TRONG SỰ KIỆN KHÔNG GÂY RA TÁC GIẢ HOẶC NGƯỜI GIỮ BẢN QUYỀN

# TRÁCH NHIỆM PHÁP LÝ ĐỐI VỚI BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC NÀO TRONG MỘT HÀNH ĐỘNG

SỐ HỢP ĐỒNG, KHOẢNG CÁCH HOẶC KHAI THÁC KHÁC, SẮP XẾP TỪ, NGOÀI HOẶC KẾT NỐI

# VỚI PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC KINH DOANH KHÁC TRONG PHẦN MỀM.

từ _future_ nhập print_ Chức năng

thời gian nhập, hệ thống, tín hiệu, atexit, urllib, urllib2, toán học

from upm import pyupm_mpu9150 as sensorObj

def main ():

# dữ liệu = {}

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

# data = urlib.urlencode (dữ liệu)

# post_request = urlib2. Request (post_url, dữ liệu, tiêu đề)

# cố gắng:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# ngoại trừ URLError as e:

# print "Error:", e.reason

# Khởi tạo MPU9250 trên I2C bus 0

sensor = sensorObj. MPU9250 ()

## Trình xử lý thoát ##

# Hàm này ngăn python in dấu xếp chồng khi bạn nhấn control-C

def SIGINTHandler (dấu hiệu, khung):

nâng SystemExit

# Chức năng này cho phép bạn chạy mã khi thoát

def exitHandler ():

print ("Đang thoát")

sys.exit (0)

# Đăng ký trình xử lý thoát

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

trong khi (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print ("Gia tốc kế:")

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

# print (modulo1)

#

# sensor.getGyroscope (x, y, z)

# print ("Con quay hồi chuyển: 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))

# print (modulo2)

arq = open ('/ 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 (liên kết)

# trang = send.read ()

# trang in)

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

# print ('enviando dados')

# send = urllib2.urlopen (liên kết)

# trang = send.read ()

# trang in)

# print ("Nhiệt độ:", sensor.getTempe Heat ())

# in()

# time.sleep (.5)

nếu _name_ == '_main_':

chủ chốt()

Código do Servidor Local

thời gian nhập khẩu

nhập BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! NHỚ THAY ĐỔI NÀY !!!

PORT_NUMBER = 80 # Có thể đặt giá trị này thành 9000.

a = 0

lớp MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Loại nội dung", "văn bản / html")

s.end_headers ()

def do_GET (s):

dados = le_dados ()

in (cha)

"" "Trả lời yêu cầu GET." ""

nếu s.path == "/ 1":

s.send_response (200)

s.send_header ("Loại nội dung", "văn bản / thuần túy")

s.end_headers ()

s.wfile.write (cha)

elif s.path == "/ 2":

s.send_response (200)

s.send_header ("Loại nội dung", "văn bản / thuần túy")

s.end_headers ()

s.wfile.write ("2")

khác:

s.send_response (200)

s.send_header ("Loại nội dung", "văn bản / thuần túy")

s.end_headers ()

s.wfile.write (cha)

# s.wfile.write ("không tìm thấy !!")

def le_dados ():

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

texto = arq.readline ()

arq.close ()

trả lại texto

nếu _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime (), "Máy chủ bắt đầu -% s:% s"% (HOST_NAME, PORT_NUMBER)

cố gắng:

a = a + 2

httpd.serve_forever ()

ngoại trừ KeyboardInterrupt:

đi qua

httpd.server_close ()

print time.asctime (), "Máy chủ dừng -% s:% s"% (HOST_NAME, PORT_NUMBER)

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

#! / bin / bash

echo "bắt đầu mag_python"

sudo python mag_python.py &

echo "bắt đầu máy chủ"

sudo python server2.py

Bước 6: Kết quả cuối cùng

Resultado Final
Resultado Final

Feito isso as aulas poderão ser auxiliadas e incrementadas pelo projeto Bài học Thông minh desenvolvido com a Dragonboard 410c. Servindo de seekador e ratiocionando um maior aprendizado nos sistemas de ensino tanto público quanto privado.

LINK para ứng dụng không có Google Play:

Liên kết para códigos Py:

Đề xuất: