Sadržaj:
- Korak 1: Materijali
- Korak 2: Dragonboard 410c Com Međuspratne ploče 96: Daske: Konfiguracija E Pinagem
- Korak 3: Integracija: Unity + Vuforia
- Korak 4: Jedinstvo: Konfigurirajte O Android SDK
- Korak 5: Criando Servidor Local E Recebendo Informacije Em Python
- Korak 6: Rezultat finala
Video: Pametna lekcija: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
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
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
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
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
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
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:
Pametna kuća od Raspberry Pi: 5 koraka (sa slikama)
Pametna kuća od Raspberry Pi: Već postoji nekoliko proizvoda koji vaš stan čine pametnijim, ali većina njih su vlasnička rješenja. Ali zašto vam je potrebna internetska veza za uključivanje svjetla na pametnom telefonu? To je bio jedan od razloga zašto sam izgradio vlastiti Smar
Pametna futrola za Nexus 7 sa Sugruom i magnetom: 5 koraka
Pametna futrola za Nexus 7 sa Sugruom i magnetom: Ubrzo nakon što su ljudi prvi put dohvatili Nexus 7, neko je otkrio da reaguje na magnet postavljen na određeno područje, slično kao i pametne futrole za iPad. Nijedan slučaj koji sam vidio nije imao ovo, niti sam mogao pronaći slučaj koji se otvorio na vrhu poput
Lekcija 2: Korištenje Arduina kao izvora napajanja za krug: 6 koraka
Lekcija 2: Korištenje Arduina kao izvora napajanja za krug: Pozdrav ponovo, studenti, na moju drugu lekciju ovog kursa za podučavanje osnovne elektronike. Za one koji nisu vidjeli moju prvu lekciju, koja opisuje vrlo, vrlo, osnove kola, pogledajte to sada. Za one koji su već vidjeli moj prethodni letak
Java radionica - Lekcija #1: 9 koraka
Java radionica - Lekcija #1: Dobrodošli na Java radionicu - Lekcija #1. Ovu lekciju vam pruža klasa Code () na Virginia Tech
Arduino Tank Car Lekcija 6-Bluetooth i Wi-Fi Hot Spot Control: 4 koraka
Arduino Tank Car Lekcija 6-Bluetooth i Wifi Hot Spot kontrola: U ovoj lekciji učimo kako kontrolirati mobilnu aplikaciju Robot automobila putem WiFi-a i Bluetooth-a. Mi samo koristimo esp8266 wifi espasion ploču kao ploču za proširenje i kontroliramo auto cisternu putem IC prijemnika u prethodnim lekcijama. U ovoj lekciji naučit ćemo