Sadržaj:
- Korak 1: Materijali
- Korak 2: Dragonboard 410c Com Međuspratne ploče 96: Ploče: Konfiguracija E Pinagem
- Korak 3: Integração: Jedinstvo + Vuforia
- Korak 4: Jedinstvo: Konfigurirajte O Android SDK
- Korak 5: Criando Servidor Local E Recebendo Informações Em Python
- Korak 6: Rezultat finale
Video: Pametna lekcija: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
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, proporcionalndo experiencias em não sala presenciad de aula konvencional.
Korak 1: Materijali
Za programe Dragonboard 410c:
- Dragonboard 410c;
- Cabo HDMI;
-Teclado putem 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 (não limitado ao uso de um único sensor);
- Fonte de alimentação vanjski 11,1V;
- Džemper fêmea-fêmea;
Korak 2: Dragonboard 410c Com Međuspratne ploče 96: Ploče: Konfiguracija E Pinagem
O Shield Mezzanine je opremljen Dragonboard 410c, za koji je potrebno priključiti 3.3V / 5V (prekidač razine), a nalazi se na 1.8V naponu. O senzor koristi foi um magnetni senzor MPU -9250 Grove -IMU 10DOF, specifikacije:
Tensão de Entrada: 5V / 3.3V;
Funkcionalna ispravnost: 6mA;
Comunicação serijski;
Igre: VCC, GND, SDA i SCL;
I2C sučelje;
Za primjer, koristite utičnicu za povezivanje Grove I2C0 (5V), koja je proporcionalno povezana sa serijskim i alimentacijskim potrepštinama za funkcionalan senzor. (ver imagem)
Korak 3: Integração: Jedinstvo + Vuforia
1- Vá ao site da vuforia na área de desenvolvedor e crie uma chave.
2- Vá na kartici Target Manager e adicione uma textura para fazer o Tracking (quanto mais complexa melhor).
3- Feito isso baixe baza podataka za Unity e import.
4- No Unity configure um image target com a textura escolhida e dentro dele adicione os modelos 3D que deseja uselizar, os mesmos estarão ativos quando a imagem for localizada pelo app.
5- Dodati licencu za vuforiju nas konfiguracije za Unity.
6- Após isso modele os komponente da aula em algum programa 3D e pripremiti kao aulas em cima do cilja slike (pode ser uma aula de Biologia ou Física …).
Korak 4: Jedinstvo: Konfigurirajte O Android SDK
1- Baixe ili SDK za Android, odaberite Unity postavke i odabir o tome kako upravljati.
2- Treba izraditi platforma za Unity za android, kao dodatak za APK.
3- Instalirajte ili apk em um dispozitivo (não esqueça de allowir fontes desconhecidas nas configurações).
Korak 5: Criando Servidor Local E Recebendo Informações Em Python
Zaključci kao konfiguracije apresentadas, podemos acessar o Sistema Linaro dentro da placa i koriste jezike za C ++, Java, Python itd., Za programsko ili programsko izvršavanje. Este software é responseável por receber os dados lidos pelo sensor, processar e tratar estes dados conforme solicitado pelo programa. 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. Osados são transferidos da Dragonboard 410c para Unity e são apresentados em um app.
Seguem os 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 dopuštenje daje besplatno, bilo kojoj osobi koja to dobije
# kopija ovog softvera i povezane dokumentacijske datoteke (# "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
# dopustiti osobama kojima je Softver namijenjen da to učine, podložno
# sljedeći uvjeti:
#
# Gore navedena obavijest o autorskim pravima i ovo dopuštenje bit će
# uključeno u sve kopije ili značajne dijelove Softvera.
#
# SOFTVER SE DOSTAVLJA "KAKAV JESTE", BEZ BILO KAKVOG JAMSTVA, # IZRIČITO ILI IMPLICIRANO, UKLJUČUJUĆI, ALI NE OGRANIČENO NA JAMSTVA
# TRGOVINSKA SPOSOBNOST, POSLOVNOST ZA POSEBNU SVRHU I
# NEPOVREDA. AUTORI ILI NOSITELJI AUTORSKIH PRAVA NIKADA NE SMIJU BITI
# ODGOVORNOST ZA BILO KOJU POTRAŽNJU, ŠTETU ILI DRUGU ODGOVORNOST, BILO U POSTUPKU
# UGOVORA, POVREDE ILI DRUGOG POVEZANJA, POSTOJEĆI IZ, IZ ILI U VEZI
# S SOFTVEROM ILI KORIŠTENJEM ILI DRUGIM POSLOVIMA U SOFTVERU.
from _future_ import print_function
vrijeme uvoza, sys, signal, atexit, urllib, urllib2, matematika
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)
# ispis post_response.read ()
# osim URLError kao e:
# ispis "Pogreška:", e.razlog
# Instancirajte MPU9250 na I2C sabirnici 0
senzor = senzorObj. MPU9250 ()
## Izlazi iz obrađivača ##
# Ova funkcija sprječava python da ispiše stecktrace 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 = senzorObj.new_floatp ()
y = senzorObj.new_floatp ()
z = senzorObj.new_floatp ()
dok (1):
sensor.update ()
sensor.getAccelerometer (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), end = '')
# 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)
# page = send.read ()
# ispis (stranica)
# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# print ('enviando dados')
# send = urllib2.urlopen (veza)
# page = send.read ()
# ispis (stranica)
# print ("Temperatura:", sensor.getTemperature ())
# print ()
# vrijeme.spavanje (.5)
ako je _naziv_ == '_glavni_':
glavni()
Código do Servidor Local
vrijeme uvoza
uvozi 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 ()
ispis (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 ("Vrsta sadržaja", "tekst/običan")
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 = open ('/tmp/dados.txt', 'r')
texto = arq.readline ()
arq.close ()
vratiti texto
ako je _naziv_ == '_glavni_':
server_class = BaseHTTPServer. HTTPServer
httpd = server_class ((HOST_NAME, PORT_NUMBER), MyHandler)
print time.asctime (), "Pokretanje poslužitelja - %s: %s" %(HOST_NAME, PORT_NUMBER)
probati:
a = a+2
httpd.serve_forever ()
osim KeyboardInterrupt:
proći
httpd.server_close ()
print time.asctime (), "Poslužitelj se zaustavlja - %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 finale
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.
LINK za aplikaciju bez Google Playa:
Link para códigos Py:
Preporučeni:
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, netko je otkrio da reagira na magnet postavljen na određeno područje, slično kao i pametna kućišta iPada. 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 ponovno, studenti, na moju drugu lekciju ovog tečaja za podučavanje osnovne elektronike. Za one koji nisu vidjeli moju prvu lekciju koja opisuje vrlo, vrlo, osnove sklopova, molimo vas da to pogledate sada. Za one koji su već vidjeli moju prethodnu le
Java radionica - Lekcija #1: 9 koraka
Java radionica - Lekcija #1: Dobrodošli na Java radionicu - Lekcija #1. Ovu lekciju vam nudi klasa Code () na Virginia Tech
Arduino Tank Car Lekcija 6-Bluetooth i Wifi Hot Spot Control: 4 koraka
Arduino Tank Car Lekcija 6-Bluetooth i Wifi Hot Spot Control: U ovoj lekciji učimo kako kontrolirati mobilnu aplikaciju Robot za automobile 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