INHOUDSOPGAWE:
- Stap 1: Materiais
- Stap 2: Dragonboard 410c Com Mezzanine 96Borde: Configuração E Pinagem
- Stap 3: Integração: Eenheid + Vuforia
- Stap 4: Eenheid: Stel O Android SDK op
- Stap 5: Criando Servidor Local E Recebendo Informações Em Python
- Stap 6: Resultado Finale
Video: Slimles: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Vir 'n slim les kan u nie meer 'n beroep doen op ons professore wat ons kan gebruik nie, maar ook vir 'n volledige insameling kan ons 'n beter verwagting hê as 'n konsult vir die meeste van ons formate en interaktiewe ervarings de aula konvensioneel.
Stap 1: Materiais
Vir die programmeerder van Dragonboard 410c:
- Dragonboard 410c;
- Cabo HDMI;
-Teclado via USB -Mouse via USB -Monitor;
- Mezzanine 96 borde;
Byvoorbeeld:
- Dragonboard 410c;
- Mezzanine 96 borde;
- Sensor Grove IMU 10DOF MPU - 9250 (ons kan nie die sensor gebruik nie);
- Fonte de alimentação externa 11.1V;
- Trui fêmea-fêmea;
Stap 2: Dragonboard 410c Com Mezzanine 96Borde: Configuração E Pinagem
O Shield Mezzanine deve ser acoplado à placa Dragonboard 410c, para que haja fornecimento de saída 3.3V / 5V (level shifter), pois a placa so fornece 1.8V de saída. O sensor gebruik magnetiese sensor MPU -9250 Grove -IMU 10DOF, spesifiek:
Tensão de Entrada: 5V / 3.3V;
Corrente de funcionamento: 6mA;
Comunicação Reeks;
Pinos: VCC, GND, SDA en SCL;
I2C koppelvlak;
Byvoorbeeld, dit kan gebruik word vir die bou van Grove I2C0 (5V), wat 'n komende reeks en 'n noodsaaklike funksie vir die sensor kan bied. (verbeelding)
Stap 3: Integração: Eenheid + Vuforia
1- Dit is 'n goeie plek om van die webwerf af te sien.
2- Op die blad Doelbestuurder kan ook 'n teks vir 'n opsporingsproses volg.
3- Ons kan ook 'n databasis vir eenheid en importeer.
4- Geen eenheid stel 'n beelddoel in vir 'n teks of 'n ander model om 3D te gebruik nie, maar ons kan ook 'n prentjie vir 'n plaaslike app gebruik.
5- Adicione a chave de licença da vuforia nas configurações dentro do Unity.
6- Aansoeke is ook 'n model vir 'n volledige 3D-program en berei ons voor as 'n beeld vir die doelwit (pode ser uma aula de Biologia ou Física …).
Stap 4: Eenheid: Stel O Android SDK op
1- Gebruik SDK vir Android, en kies Unity-voorkeure.
2- Skep 'n platvorm vir Unity vir Android, of u kan 'n APK aflaai.
3- Installeer 'n apk vir 'n dispositivo (dit kan die lettertipes wat deur die konfigurasie ontwerp word) installeer.
Stap 5: Criando Servidor Local E Recebendo Informações Em Python
Concluídas as configurações apresentadas, podemos acessar of Sistema Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, etc., for criar of software que será executado. Este sagteware is verantwoordelik vir die ontvangs van ons sensor, verwerkers en e -posse. Ons kan hierdie e -posadres vir 'n alokado op die regte plek plaas vir ons as 'n positiewe eenheid vir 'n platvorm. Ons is 'n voorbeeld van 'n geskikte projet vir die taal van Phyton. Ons kan ook die Dragonboard 410c vir die eenheid oorskry.
Ons kan ons mag_python.py (sensor van die sensor), server2.py (lokaal servidor), uitvoer nie:
Gaan na mag_python.py
#!/usr/bin/python
# Skrywer: Jon Trulson
# Kopiereg (c) 2015 Intel Corporation.
#
# Toestemming word hieraan verleen gratis aan enige persoon wat dit verkry
# 'n afskrif van hierdie sagteware en gepaardgaande dokumentasie lêers (die
# "Sagteware"), om die sagteware sonder beperking te hanteer, insluitend
# sonder beperking die regte om te gebruik, te kopieer, te wysig, saam te smelt, te publiseer, # kopieë van die sagteware versprei, onderlisensieer en/of verkoop, en aan
# toestaan dat persone aan wie die sagteware voorsien is, dit onderhewig aan
# die volgende voorwaardes:
#
# Bogenoemde kopieregkennisgewing en hierdie toestemmingskennisgewing is
# ingesluit in alle kopieë of aansienlike gedeeltes van die sagteware.
#
# DIE SOFTWARE WORD VERSKAF SOOS IS, SONDER GARANTIE VAN ENIGE Soorte, # UITDRUKKIG OF ONDERSTEMMING, INSLUITEND, MAAR NIE Beperk tot die GARANTIES VAN
# VERKOOPBAARHEID, GESKIKTHEID VIR 'N BESONDERE DOEL EN
# NIETSKENDING. DIE SKRYWERS OF KOPIEREGHOUERS MOET GEEN GEBEURTENIS WEES NIE
# AANSPREEKLIK VIR ENIGE EIS, SKADE OF ANDER AANSPREEKLIKHEID, OF IN 'N AKSIE
# OVEREENKOMS, SKADE OF ANDERS
# MET DIE SOFTWARE OF DIE GEBRUIK OF ANDER HANDELINGE IN DIE SOFTWARE.
vanaf _future_ invoerafdrukfunksie
invoertyd, sys, sein, atexit, urllib, urllib2, wiskunde
vanaf upm invoer pyupm_mpu9150 as sensorObj
def main ():
# data = {}
# data ['magnetrometro'] = raw_input ("Gee temperatuur ')
# data = urlib.urlencode (data)
# post_request = urlib2. Request (post_url, data, headers)
# probeer:
# post_response = urlib2.urlopen (post_versoek)
# druk post_response.read ()
# behalwe URLError as e:
# druk "Fout:", e.reason
# Instantieer 'n MPU9250 op I2C -bus 0
sensor = sensorObj. MPU9250 ()
## Uitgangshanteerders ##
# Hierdie funksie keer dat luislang 'n stacktrack afdruk as u op beheer-C druk
def SIGINTHandler (teken, raam):
verhoog SystemExit
# Met hierdie funksie kan u kode by die uitgang laat loop
def exitHandler ():
print ("Uitgang")
sys.exit (0)
# Registreer uithanteerders
atexit.register (exitHandler)
sein.signaal (sein. SIGINT, SIGINTHandler)
sensor.init ()
x = sensorObj.new_floatp ()
y = sensorObj.new_floatp ()
z = sensorObj.new_floatp ()
terwyl (1):
sensor.opdateer ()
sensor.getAccelerometer (x, y, z)
# print ("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
# druk (modulo1)
modulo1 = (" %.1f" % abs ((((modulo1 ** 0.5) -1)*9.8))
# druk (modulo1)
#
# sensor.getGyroscope (x, y, z)
# print ("Gyroscope: 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_waarde (x) ** 2+sensorObj.floatp_waarde (y) ** 2+sensorObj.floatp_waarde (z) ** 2
# druk (modulo2)
modulo2 = (" %.2f" % (modulo2 ** 0.5))
# druk (modulo2)
arq = open ('/tmp/dados.txt', 'w')
texto =
texto.append (str (modulo2)+","+str (modulo1))
arq.writelines (teks)
arq.close ()
# link = ('https://data.sparkfun.com/input/0lwWlyRED5i7K0AZx4JO?private_key=D6v76yZrg9CM2DX8x97B&mag='+str(modulo2))
# print ('enviando dados')
# stuur = urllib2.urlopen (skakel)
# bladsy = stuur.lees ()
# druk (bladsy)
# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# print ('enviando dados')
# stuur = urllib2.urlopen (skakel)
# bladsy = stuur.lees ()
# druk (bladsy)
# druk ("Temperatuur:", sensor.getTemperature ())
# druk ()
# tyd.slaap (.5)
as _naam_ == '_hoof_':
hoof ()
Plaaslike diens
invoer tyd
voer BaseHTTPServer in
HOST_NAME = '172.17.56.9' # !!! ONTHOU OM DIT TE VERANDER !!!
PORT_NUMBER = 80 # Stel dit miskien op 9000.
a = 0
klas MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):
def do_HEAD (s):
s.send_response (200)
s.send_header ("Inhoudstipe", "teks/html")
s.end_headers ()
def do_GET (s):
dados = le_dados ()
druk (dados)
"" "Reageer op 'n AOO -versoek." ""
as s.path == "/1":
s.send_response (200)
s.send_header ("Inhoudstipe", "teks/vlakte")
s.end_headers ()
s.wfile.write (dados)
elif s.path == "/2":
s.send_response (200)
s.send_header ("Inhoudstipe", "teks/vlakte")
s.end_headers ()
s.wfile.write ("2")
anders:
s.send_response (200)
s.send_header ("Inhoudstipe", "teks/vlakte")
s.end_headers ()
s.wfile.write (dados)
#s.wfile.write ("nie gevind nie !!")
def le_dados ():
arq = open ('/tmp/dados.txt', 'r')
texto = arq.readline ()
arq.close ()
stuur teks terug
as _naam_ == '_hoof_':
server_class = BaseHTTPServer. HTTPServer
httpd = bedienerklas ((HOST_NAME, PORT_NUMBER), MyHandler)
print time.asctime (), "Bediener begin - %s: %s" %(HOST_NAME, PORT_NUMBER)
probeer:
a = a+2
httpd.serve_forever ()
behalwe KeyboardInterrupt:
slaag
httpd.server_close ()
print time.asctime (), "Bediener stop - %s: %s" %(HOST_NAME, PORT_NUMBER)
Código de Execução dos Códigos anteriores no Shell
#!/bin/bash
eggo "begin mag_python"
sudo python mag_python.py &
eggo "begin bediener"
sudo python server2.py
Stap 6: Resultado Finale
Ons kan ook 'n aantal hulpmiddels en 'n toename in die Smart Lesson van Dragonboard 410c gebruik. Die fasiliteerder en die proporsion van ons algemene administrasie kan 'n enkele stelsel van privaatheid bied.
LINK vir die app sonder Google Play:
Skakel na Py:
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies