Turinys:

Išmanioji pamoka: 6 žingsniai
Išmanioji pamoka: 6 žingsniai

Video: Išmanioji pamoka: 6 žingsniai

Video: Išmanioji pamoka: 6 žingsniai
Video: 6 zingsniai 2024, Lapkritis
Anonim
Išmanioji pamoka
Išmanioji pamoka

O projeto „Smart Lesson“viza, skirta gamintojams, neturintiems kvalifikacijos profesoriams, turintiems galimybę naudotis komitetais ir gauti daugiau informacijos apie pirmąjį sezoną, bet ne iš anksto, o ne apie tai, kad aprendizado muito superior por conseguir mostrar os conteúdos de forma dinâmica e interativa, proporcingando experience não presencia de aula konvencional.

1 žingsnis: bendravimas

Materiais
Materiais

Programuokite „Dragonboard 410c“:

- „Dragonboard 410c“;

- „Cabo HDMI“;

-„Teclado“per USB -pelė per USB -monitorius;

- tarpinės 96 lentos;

Projektas:

- „Dragonboard 410c“;

- tarpinės 96 lentos;

- jutiklio giraitė IMU 10DOF MPU - 9250 (não limitado ao uso de um único sensor);

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

- megztinis fêmea-fêmea;

2 žingsnis: „Dragonboard 410c Com Mezzanine 96“Lentos: „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 (lygio perjungiklis), nuodija placą fornece 1.8V de saída. O jutiklis naudojamas magneto metro jutikliui MPU -9250 Grove -IMU 10DOF, konkrečiai:

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

Funkcija: 6mA;

Comunicação serialas;

Pinos: VCC, GND, SDA ir SCL;

I2C sąsaja;

Kaip pavyzdį galima naudoti naudojant Grove I2C0 (5V), kuri yra proporcinga komunikacinei serijai ir reikalinga aliarmo funkcijai. (ver imagem)

3 žingsnis: Integracija: „Unity + Vuforia“

Integracija: „Unity + Vuforia“
Integracija: „Unity + Vuforia“

1- V ao svetainė da vuforia na area de desenvolvedor e crie uma chave.

2- Paspauskite skirtuką „Target Manager“ir atidžiai stebėkite tekstūrą, skirtą fazerui arba stebėjimui („quanto mais complexa melhor“).

3- „Feito isso baixe“ir „Unity e importe“duomenų bazė.

4- Nėra „Unity“konfigūruoti vaizdo taikinio teksto ir eskizo modeliuose bei 3D modelių 3D modelių naudojimo įrankiuose, kur galima rasti vaizdą, skirtą vietinei pelos programai.

5- „Unity“licencijuotos licencijos suteikimas.

6- Após isso modele os komponentai da aula em algum program 3D ir pasiruošti kaip aulas em cima do image target (pode ser uma aula de Biologia ou Física…).

4 veiksmas: „Unity“: sukonfigūruokite „Android“SDK

„Unity“: sukonfigūruokite „Android“SDK
„Unity“: sukonfigūruokite „Android“SDK

1- „Baixe“arba „SDK“„Android“, „Unity“parinktys ir pasirinkimas.

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

3- Įdiekite arba įdiekite „em em dispozivo“(neleiskite šriftų, leidžiančių naudoti konfigūraciją).

5 veiksmas: „Criando Servidor Local E Recebendo“informacija apie „Python“

Criando Servidor Local E Recebendo Informacija apie „Python“
Criando Servidor Local E Recebendo Informacija apie „Python“

Sutelkti kaip konfigūracijos apresentadas, podemos acessar arba Sistema Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, etc., para criar o software que sera executado. Paleiskite programinę įrangą ir atsakykite į imtuvą, kad gautumėte pelės jutiklį, procesorių ir tratarinį estą, kad patikėtumėte pelės programą. 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. Yra „Dragonboard 410c“duomenų perdavimo programa, skirta „Unity“ir „apresentados“programoms.

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

# Autorius: Jonas Trulsonas

# Autorių teisės (c) 2015 m. „Intel Corporation“.

#

# Leidimas nemokamai suteikiamas bet kuriam gavusiam asmeniui

# šios programinės įrangos ir susijusių dokumentų failų kopija (# „Programinė įranga“), kad be apribojimų dirbtumėte su Programine įranga, įskaitant

# be apribojimų teisės naudoti, kopijuoti, keisti, sujungti, publikuoti, # platinti, sublicencijuoti ir (arba) parduoti Programinės įrangos kopijas ir

# leisti asmenims, kuriems suteikta Programinė įranga, tai padaryti

# šios sąlygos:

#

# Aukščiau pateiktas pranešimas apie autorių teises ir šis leidimas turi būti

# yra įtrauktas į visas programinės įrangos kopijas ar dideles dalis.

#

# PROGRAMINĖ ĮRANGA TEIKIAMA „tokia, kokia yra“, BE JOKIŲ GARANTIJŲ, # IŠSKIRTAS AR PATVIRTINTAS, ĮSKAIČIUOTAS, bet neapsiriboja GARANTIJOMIS

# PERKELBTINUMAS, TINKAMUMAS YPATINGAM TIKSLUI IR

# NEPAKALBIMAS. NIEKADA NEGALIMA BŪTI AUTORIŲ AR AUTORIŲ TEISIŲ

# ATSAKOMYBĖ UŽ BET KURĮ PRAŠYMĄ, ŽALĄ AR KITĄ ATSAKOMYBĘ VEIKSME

SUTARTIES, SKUNDINIMO AR KITO, KELIANČIO IŠ, NĖRA AR SUSIJĘ

# SU PROGRAMINE ĮRANGA AR NAUDOJIMUIS AR KITAIS PROGRAMINĖS ĮRANGOS PASIŪLYMAIS.

iš _future_ importavimo spausdinimo_funkcijos

importo laikas, sys, signalas, atexit, urllib, urllib2, math

iš upm importuoti pyupm_mpu9150 kaip sensorObj

def main ():

# duomenų = {}

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

# duomenys = urlib.urlencode (duomenys)

# post_request = urlib2. Request (post_url, duomenys, antraštės)

# bandyti:

# post_response = urlib2.urlopen (post_request)

# print post_response.read ()

# išskyrus URL Klaida kaip e:

# spausdinti „Klaida:“, e. priežastis

# Įveskite MPU9250 I2C magistralėje

jutiklis = sensorObj. MPU9250 ()

## Išėjimų tvarkytojai ##

# Ši funkcija neleidžia „python“spausdinti kamino sekos, kai paspaudžiate „Control-C“

def SIGINTHandler (ženklas, rėmas):

pakelti „SystemExit“

# Ši funkcija leidžia paleisti kodą išeinant

def exitHandler ():

spausdinti („Išeiti“)

sys.exit (0)

# Registruokite išėjimo tvarkytojus

atexit.register (exitHandler)

signal.signal (signal. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

tuo tarpu (1):

sensor.update ()

sensor.getAccelerometer (x, y, z)

# print („Akselerometras:“)

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

# print ("AY: %.4f" % sensorObj.floatp_value (y), pabaiga = '')

# 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

# spausdinimas (modulo1)

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

# spausdinimas (modulo1)

#

# sensor.getGiroskopas (x, y, z)

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

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

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

sensor.getMagnetometras (x, y, z)

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

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

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

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

# spausdinimas (modulo2)

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

# spausdinimas (modulo2)

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

tekstas =

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

arq.writelines (tekstas)

arq.close ()

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

# print ('enviando dados')

# send = urllib2.urlopen (nuoroda)

# puslapis = send.read ()

# spausdinimas (puslapis)

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

# print ('enviando dados')

# send = urllib2.urlopen (nuoroda)

# puslapis = send.read ()

# spausdinimas (puslapis)

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

# spausdinimas ()

# time.sleep (.5)

jei _vardas_ == '_main_':

pagrindinis ()

Código do Servidor Local

importo laikas

importuoti „BaseHTTPServer“

HOST_NAME = '172.17.56.9' # !!! PRISIMINKITE ŠĮ KEISTI !!!

PORT_NUMBER = 80 # Galbūt nustatykite tai į 9000.

a = 0

„MyHandler“klasė (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (-ai):

s.send_response (200)

s.send_header („Turinio tipas“, „tekstas/html“)

s.end_headers ()

def do_GET (-ai):

dados = le_dados ()

spausdinti (dados)

"" "Atsakykite į GET užklausą." ""

jei s.path == "/1":

s.send_response (200)

s.send_header („Turinio tipas“, „tekstas/paprastas“)

s.end_headers ()

s.wfile.write (dados)

elif s.path == "/2":

s.send_response (200)

s.send_header („Turinio tipas“, „tekstas/paprastas“)

s.end_headers ()

s.wfile.write ("2")

Kitas:

s.send_response (200)

s.send_header („Turinio tipas“, „tekstas/paprastas“)

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("nerasta !!")

def le_dados ():

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

texto = arq.readline ()

arq.close ()

grąžinti tekstą

jei _vardas_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime (), „Serveris paleidžiamas - %s: %s“%(HOST_NAME, PORT_NUMBER)

bandyti:

a = a+2

httpd.serve_forever ()

išskyrus klaviatūrąInterrupt:

praeiti

httpd.server_close ()

print time.asctime (), „Serverio sustojimai - %s: %s“%(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "pradedant mag_python"

sudo python mag_python.py &

echo "paleisti serverį"

sudo python server2.py

6 žingsnis: galutinis rezultatas

Rezultatas Finalas
Rezultatas Finalas

„Feito“taip pat yra aux poderão ser pagalbinis ir papildomas pelės projektas „Smart Lesson“, skirtas „Dragonboard 410c“. Paslaugų teikimo ir palengvinimo paslaugos ir proporcijos

LINK „Google Play“programoje:

Nuoroda į „Códigos Py“:

Rekomenduojamas: