Inhoudsopgave:
- Stap 1: Materiaal
- Stap 2: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
- Stap 3: Integração: Unity + Vuforia
- Stap 4: Unity: Configureer O Android SDK
- Stap 5: Criando Servidor Local E Recebendo Informações Em Python
- Stap 6: Resultado Finale
Video: Slimme les: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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údo a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdosica a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdosica de seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os conteúdosica de forma de aula convencional.
Stap 1: Materiaal
Voor het programmeren van een Dragonboard 410c:
- Dragonboard 410c;
- Kabel HDMI;
- Teclado via USB -Muis via USB -Monitor;
- Mezzanine 96 borden;
Para executar of projeto:
- Dragonboard 410c;
- Mezzanine 96 borden;
- Sensor Grove IMU 10DOF MPU - 9250 (geen beperking en gebruik van de sensor);
- Voedingsbron externa 11.1V;
- Trui femea-fêmea;
Stap 2: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
O Shield Mezzanine is ontworpen voor Dragonboard 410c, voor de eerste keer dat de 3.3V / 5V (level shifter) wordt geplaatst, en voor de 1.8V voor de datum. O sensor utilizado foi um magnetômetro Sensor MPU – 9250 Grove -IMU 10DOF, especificações:
Tensão de Entrada: 5V / 3.3V;
Corrente de functie: 6mA;
Comunicação Serieel;
Pino's: VCC, GND, SDA en SCL;
I2C-interface;
Dit is een voorbeeld van een gebruiksvoorwerp van Grove I2C0 (5V), dat een comunicaço Serial e a alimentação necessária for funcionamento do sensor. (ver afbeelding)
Stap 3: Integração: Unity + Vuforia
1- Bekijk ook een site over een gebied van desenvolvedor en crie uma chave.
2- Bekijk het tabblad Target Manager en aanvullende tekst voor het volgen van tracking (quanto mais complexa melhor).
3- Feito isso baixe een database para o Unity e importe.
4- No Unity configureer een afbeeldingsdoel voor een tekstuele en adicione van 3D-modellen die gebruikt kunnen worden, voor een afbeelding van een afbeelding voor de localizada pelo-app.
5- Een chave de licença da vuforia nas configurações dentro do Unity.
6- Dit is een model van componenten van een aula en een programma van 3D en een voorbereiding als aulas em cima do image target (pode ser uma aula de Biologia of Física…).
Stap 4: Unity: Configureer O Android SDK
1- Baixe of SDK do Android, vá em Unity-voorkeuren e selecione of seu diretório.
2- Mude een build-platform voor Unity voor Android, assim conseguiremos gerar o APK.
3- Installeer apk em um dispositivo (no esqueça de permitir fontes desconhecidas nas configurações).
Stap 5: Criando Servidor Local E Recebendo Informações Em Python
Concluídas as configurações apresentadas, podemos acessar o Sistema Linaro dentro da placa en utilizar várias linguagens Como C++, Java, Python, etc., para criar o software que será executado. Este software é responsável por receber os dados lidos pelo sensor, processar en tratar estes dados conforme requestado pelo programa. Het is mogelijk om een dienst aan te bieden en een plaats te vinden om de aarde te beschermen tegen een platvorm van Unity. Een voorbeeld van een voorbeeld van een projeto estão em linguagem Phyton. U kunt ook gebruikmaken van Dragonboard 410c voor Unity en meer presenteren van de app.
Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (Servidor local), Executável no Shell:
Code mag_python.py
#!/usr/bin/python
# Auteur: Jon Trulson
# Copyright (c) 2015 Intel Corporation.
#
# Toestemming wordt hierbij gratis verleend aan elke persoon die
# een kopie van deze software en bijbehorende documentatiebestanden (de
# "Software"), om zonder beperking in de Software te handelen, inclusief:
# zonder beperking de rechten om te gebruiken, kopiëren, wijzigen, samenvoegen, publiceren, # distribueren, in sublicentie geven en/of verkopen van kopieën van de Software, en om
# personen aan wie de Software wordt geleverd, toestemming geven om dit te doen, onder voorbehoud van:
# de volgende voorwaarden:
#
# De bovenstaande copyrightkennisgeving en deze toestemmingskennisgeving zijn:
# opgenomen in alle kopieën of substantiële delen van de Software.
#
# DE SOFTWARE WORDT GELEVERD "AS IS", ZONDER ENIGE GARANTIE, # UITDRUKKELIJK OF IMPLICIET, INCLUSIEF MAAR NIET BEPERKT TOT DE GARANTIES VAN
# VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN
# NIET-INBREUK. IN GEEN GEVAL ZULLEN DE AUTEURS OF AUTEURSRECHTHOUDERS ZIJN
# AANSPRAKELIJK VOOR ENIGE CLAIM, SCHADE OF ANDERE AANSPRAKELIJKHEID, IN EEN ACTIE
# CONTRACT, ONRECHTMATIGE OF ANDERSZINS, VOORTVLOEIEND UIT, UIT OF IN VERBAND
# MET DE SOFTWARE OF HET GEBRUIK OF ANDERE HANDELINGEN IN DE SOFTWARE.
van _future_ import print_function
import tijd, sys, signaal, atexit, urllib, urllib2, math
van upm importeer pyupm_mpu9150 als sensorObj
def hoofd():
# gegevens = {}
# data['magnetrometro'] = raw_input ("Informeer een temperatuur")
# data = urlib.urlencode(data)
# post_request = urlib2. Request(post_url, data, headers)
# proberen:
# post_response = urlib2.urlopen(post_request)
# print post_respons.read()
# behalve URLError als e:
# print "Fout: ", e.reden
# Instantieer een MPU9250 op I2C-bus 0
sensor = sensorObj. MPU9250()
## Afhandelaars verlaten ##
# Deze functie voorkomt dat python een stacktrace afdrukt wanneer u op control-C. drukt
def SIGINTHandler(signum, frame):
verhoog SystemExit
# Met deze functie kun je code uitvoeren bij afsluiten
def exitHandler():
print("Afsluiten")
sys.exit(0)
# Registreer exit-handlers
atexit.register(exitHandler)
signaal.signaal(signaal. SIGINT, SIGINTHandler)
sensor.init()
x = sensorObj.new_floatp()
y = sensorObj.new_floatp()
z = sensorObj.new_floatp()
terwijl (1):
sensor.update()
sensor.getVersnellingsmeter(x, y, z)
# afdrukken ("Versnellingsmeter: ")
# 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))
# afdrukken (modulo1)
#
# sensor.getGyroscope(x, y, z)
# print("Gyroscoop: 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))
# afdrukken (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))
# afdrukken ('enviando dados')
# stuur = urllib2.urlopen(link)
# pagina = verzenden.lezen()
# print pagina)
# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# afdrukken ('enviando dados')
# stuur = urllib2.urlopen(link)
# pagina = verzenden.lezen()
# print pagina)
# print("Temperatuur:", sensor.getTemperature())
# print()
# tijd.slaap(.5)
if _name_ == '_main_':
hoofd()
Código do Servidor Local
import tijd
importeer BaseHTTPServer
HOST_NAME = '172.17.56.9' # !!!VERGEET NIET DIT TE WIJZIGEN!!!
PORT_NUMBER = 80 # Zet dit misschien op 9000.
a=0
klasse MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):
def do_HEAD(s):
s.send_response(200)
s.send_header("Inhoudstype", "tekst/html")
s.end_headers()
def do_GET(s):
dados = le_dados()
afdrukken (dados)
"""Reageer op een GET-verzoek."""
if s.path=="/1":
s.send_response(200)
s.send_header("Content-type", "text/plain")
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")
anders:
s.send_response(200)
s.send_header("Content-type", "text/plain")
s.end_headers()
s.wfile.write(dados)
#s.wfile.write("niet gevonden!!")
def le_dados():
arq = open('/tmp/dados.txt', 'r')
texto = arq.readline()
arq.close()
terug teksto
if _name_ == '_main_':
server_class = BaseHTTPServer. HTTPServer
httpd = server_class((HOST_NAME, PORT_NUMBER), MijnHandler)
print time.asctime(), "Server start - %s:%s" % (HOST_NAME, PORT_NUMBER)
proberen:
a=a+2
httpd.serve_forever()
behalve KeyboardInterrupt:
doorgang
httpd.server_close()
print time.asctime(), "Server stopt - %s:%s" % (HOST_NAME, PORT_NUMBER)
Código de Execução dos Códigos anteriores no Shell
#!/bin/bash
echo "mag_python starten"
sudo python mag_python.py &
echo "start server"
sudo python server2.py
Stap 6: Resultado Finale
Feito isso as aulas poderão ser auxiliadas e incrementadas pelo projeto Smart Lesson desenvolvido com a Dragonboard 410c. Servindo de facilitador and proporcionando um maior aprendizado nos sistemas de ensino tanto público quanto privado.
LINK voor app geen Google Play:
Link naar code Py:
Aanbevolen:
Slimme riem: 18 stappen
Slimme riem: het dragen van een gadget is een hele uitdaging. Eerlijk gezegd kreeg ik bij dit project hulp van mijn moeder om de hoes voor mij te naaien omdat ik niet alleen kan naaien. Wees voorzichtig bij het naaien met een naaimachine. Als je nooit ervaring hebt met naaien met een naaimachine, is het ook
Slimme bril: 4 stappen
Smart Glasses: Hallo allemaal vandaag ga ik je laten zien hoe je Smart Glasses thuis kunt maken! Een van de grootste dingen van slimme brillen is hoe nuttig het is om zoiets te hebben in de huidige wereld van technologie en dat er niet slechts één versie is
Slimme verkeerslichten: 6 stappen
Smart Traffic Lights: Waarom ik dit project heb gemaakt Ik ben student aan Howest Kortrijk. Het is een schoolproject voor mijn tweede semester MCT. Als ik in mijn auto rijd en het rustig is op straat, heeft het geen zin om voor rode lichten te gaan staan als er geen ander verkeer is
Slimme bureaulamp - Slimme verlichting met Arduino - Neopixels-werkruimte: 10 stappen (met afbeeldingen)
Slimme bureaulamp | Slimme verlichting met Arduino | Neopixels-werkruimte: tegenwoordig brengen we veel tijd thuis door, studeren en werken virtueel, dus waarom zouden we onze werkruimte niet groter maken met een aangepast en slim verlichtingssysteem op Arduino en Ws2812b-leds. Hier laat ik u zien hoe u uw Smart LED bureaulamp die
Slimme wekker: een slimme wekker gemaakt met Raspberry Pi - Ajarnpa
Slimme wekker: een slimme wekker gemaakt met Raspberry Pi: heb je ooit een slimme klok gewild? Dan is dit de oplossing voor jou! Ik heb Smart Alarm Clock gemaakt, dit is een klok waarvan je de wektijd kunt wijzigen volgens de website. Als het alarm afgaat, klinkt er een geluid (zoemer) en gaan er 2 lampjes