Orodha ya maudhui:

Somo la Smart: Hatua 6
Somo la Smart: Hatua 6

Video: Somo la Smart: Hatua 6

Video: Somo la Smart: Hatua 6
Video: KITENZI CHA: TO HAVE (KUWA NA KITU FLANI): SOMO LA 6 2024, Novemba
Anonim
Somo mahiri
Somo mahiri

Msaada wa visa ya Somo la Smart unakadiriwa kuwa hakuna faida kwa wataalam wanaoweza kutumia vifaa hivi kwa njia inayowezekana kwa njia inayofaa kwa njia inayofaa kwa njia bora zaidi ya kutafakari juu ya mkutano, mazungumzo ya hali ya juu. de aula mkutano.

Hatua ya 1: Materia

Materia
Materia

Para programu ya Joka 410c:

- Joka 410c;

- Cabo HDMI;

- Teclado kupitia USB -Panya kupitia USB -Mchunguzi;

- Mezzanine 96 bodi;

Para executar o projeto:

- Joka 410c;

- Mezzanine 96 bodi;

- Sensor Grove IMU 10DOF MPU - 9250 (não limitado ao uso de um sensor sensor);

- Fonte de alimentação nje ya 11.1V;

- Jumper fêmea-fêmea;

Hatua ya 2: Joka la 410c Com Mezzanine 96Bodi: Sanidi E Pinagem

Joka 410c Com Mezzanine 96Bodi: Configuração E Pinagem
Joka 410c Com Mezzanine 96Bodi: Configuração E Pinagem
Joka 410c Com Mezzanine 96Bodi: Configuração E Pinagem
Joka 410c Com Mezzanine 96Bodi: Configuração E Pinagem
Joka 410c Com Mezzanine 96Bodi: Configuração E Pinagem
Joka 410c Com Mezzanine 96Bodi: Configuração E Pinagem

O Shield Mezzanine deve ser acoplado au placa Dragonboard 410c, para que haja fornecimento de saída 3.3V / 5V (level shifter), toa mahali pa kutengwa 1.8V de saída. O sensor utility toi um magnetômetro Sensor MPU - 9250 Grove -IMU 10DOF, especificações:

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

Corrente de funcionamento: 6mA;

Comunicação Serial;

Pinos: VCC, GND, SDA na SCL;

Kiolesura cha I2C;

Hii ni mfano wa matumizi ya matumizi ya Grove I2C0 (5V), ambayo inaleta mwongozo wa mawasiliano na utaftaji wa sensorer. (picha halisi)

Hatua ya 3: Integração: Umoja + Vuforia

Integração: Umoja + Vuforia
Integração: Umoja + Vuforia

1- Vá ao tovuti ya vuforia na área de desenvolveor na crie uma chave.

2- Vá na tab Meneja wa Lenga na ujumbe kwa maandishi kwa njia ya ufuatiliaji (Kufuatilia zaidi).

3- Feito ni baixe hifadhidata kwa Umoja na kuagiza.

4- Hakuna Umoja wa kusanidi lengo la picha ikiwa ni pamoja na matunzio na picha kutoka kwa mifano ya 3D ambayo itatumiwa, ili tuweze kutumia picha ya programu ya ndani.

5- Adicione a chave de licença da vuforia nas configurações dentro do Unity.

6- Mfumo huu ni mfano wa sehemu za mpango wa 3D na huandaa kama malengo ya kufanya taswira ya taswira (tafadhali angalia Biologia au Física…).

Hatua ya 4: Umoja: Sanidi O Android SDK

Umoja: Sanidi O Android SDK
Umoja: Sanidi O Android SDK

1- Baixe au SDK hufanya Android, na upendeleo wa Umoja na uchague.

2- Mude muundo wa muundo hufanya umoja kwa Android, assim conseguiremos gerar o APK.

3- Insta o apk em um dispositivo (não esqueça de permitir fontes desconhecidas nas configurações).

Hatua ya 5: Criando Servidor Mitaa E Recebendo Informações Em Python

Criando Servidor Mitaa E Recebendo Informações Em Python
Criando Servidor Mitaa E Recebendo Informações Em Python

Mikusanyiko kama mipangilio ya programu, podemos zinazopatikana katika Sistema Linaro dentro da placa na vifaa vya kutumia lugha za C ++, Java, Python, n.k., kwa programu inayofaa ya programu hii. Programu hii ni ya kujibu kwa kipokezi cha mioyo, inachakachuliwa kwa njia inayofaa. Depois carrega esses dados for o servidor alocado na própria placa para enviar os dados já tratados for a plataforma Unity. Mfano wa mfano wa código deste projeto ni lugha ya Phyton. Os dados são transferidos da Dragonboard 410c for o Unity and são apresentados em um app.

Je! Unakabiliwa na mag_python.py (leitor de dados do sensor), server2.py (Servidor local), Executável no Shell:

Código mag_python.py

#! / usr / bin / chatu

# Mwandishi: Jon Trulson

# Hakimiliki (c) 2015 Intel Corporation.

#

# Ruhusa hutolewa bure kwa mtu yeyote anayepata

# nakala ya programu hii na faili zinazohusiana za nyaraka (# "Software"), kushughulikia Programu bila kizuizi, pamoja

# bila kikomo haki za kutumia, kunakili, kurekebisha, kuunganisha, kuchapisha, # kusambaza, sublicense, na / au kuuza nakala za Programu, na kwa

# ruhusu watu ambao Programu hiyo imewezeshwa kufanya hivyo, chini ya

# masharti yafuatayo:

#

# Ilani ya hakimiliki hapo juu na ilani hii ya idhini itakuwa

# imejumuishwa katika nakala zote au sehemu kubwa za Programu.

#

# SOFTWARE IMETOLEWA "KAMA ULIVYO", BILA KUHAKIKISHWA NA AINA YOYOTE, # KUONESHA AU KUIELEZWA, PAMOJA NA LAKINI SIYO WALIO NA UHAKIKI KWA Dhibitisho La

# Uuzaji, ustadi wa kusudi fulani na

# KUTOKUJIBU. WAANDISHI AU WENYE HAKI YA HAKI HAWAWEZI KUWA

# INAWAjibika kwa madai yoyote, uharibifu au dhima nyingine

# YA MIKATABA, MITEGO AU VINGINEVYO, INAYOTOKA, KUTOKA KWA AU KUUNGANISHA

# NA SOFTWARE AU MATUMIZI AU MAPENDEKEZO MENGINE KWENYE SOFTWA.

kutoka kwa _kufajiri_ kuagiza kazi_ya kuchapisha

wakati wa kuagiza, sys, ishara, exexit, urllib, urllib2, math

kutoka upm kuagiza pyupm_mpu9150 kama sensorObj

def kuu ():

# data = {}

# data ['magnetrometro'] = pembejeo_mbichi ("Fahamisha hasira")

# data = urlib.urlencode (data)

# post_request = urlib2. Omba (post_url, data, vichwa)

# jaribu:

# post_response = urlib2.urlopen (post_request)

# chapisha post_response.read ()

# isipokuwa kosa la URLE kama e:

# chapa "Kosa:", e. sababu

# Thibitisha MPU9250 kwenye basi ya I2C 0

sensor = sensorObj. MPU9250 ()

## Toka kwa washughulikiaji ##

# Kazi hii inasimamisha chatu kutoka kwa kuchapa laini wakati unapogonga kudhibiti-C

def SIGINTHandler (ishara, fremu):

kuongeza SystemExit

# Kazi hii inakuwezesha kuendesha nambari wakati wa kutoka

def exitHandler ():

chapisha ("Inatoka")

tembea (0)

# Sajili washughulikiaji wa kutoka

usajili.sajili (exitHandler)

ishara.saini (ishara. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

wakati (1):

sasisho la sensa ()

sensor.getAccelerometer (x, y, z)

# chapa ("Accelerometer:")

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

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

# kuchapisha ("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

# chapa (modulo1)

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

# chapa (modulo1)

#

sensa # pata Gyroscope (x, y, z)

# kuchapisha ("Gyroscope: GX:", sensorObj.floatp_value (x), end = '')

# kuchapisha ("GY:", sensorObj.floatp_value (y), end = '')

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

sensor.get Magnetometer (x, y, z)

# kuchapisha ("Magnetometer: MX:", sensorObj.floatp_value (x), end = '')

# kuchapisha ("YANGU:", sensorObj.floatp_value (y), end = '')

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

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

# chapa (modulo2)

modulo2 = ("%.2f"% (modulo2 ** 0.5))

# chapa (modulo2)

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

maandishi =

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

maandishi ya maandishi (maandishi)

arq karibu ()

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

# chapa ('enviando dados')

# tuma = urllib2.urlopen (kiungo)

# ukurasa = tuma soma ()

chapisho # (ukurasa)

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

# chapa ('enviando dados')

# tuma = urllib2.urlopen (kiungo)

# ukurasa = tuma soma ()

chapisho # (ukurasa)

# kuchapisha ("Joto:", sensor.get Joto ())

# chapa ()

Wakati # wa kulala (.5)

ikiwa _name_ == '_main_':

kuu ()

Código do Servidor Mitaa

muda wa kuagiza

kuagiza BaseHTTPServer

HOST_NAME = '172.17.56.9' # !!! KUMBUKA KUBADILI HII !!!

PORT_NUMBER = 80 # Labda weka hii iwe 9000.

a = 0

darasa MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

tuma jibu (200)

s.send_header ("Aina ya Maudhui", "maandishi / html")

vichwa vya mwisho.

def do_GET (s):

baba = le_dados ()

chapisha (dados)

"" "Jibu ombi la GET." ""

ikiwa s.path == "/ 1":

tuma jibu (200)

s.send_header ("Aina ya Maudhui", "maandishi / wazi")

vichwa vya mwisho.

s.wfile.write (dados)

elif s.path == "/ 2":

tuma jibu (200)

s.send_header ("Aina ya Maudhui", "maandishi / wazi")

vichwa vya mwisho.

s.wfile.write ("2")

mwingine:

tuma jibu (200)

s.send_header ("Aina ya Maudhui", "maandishi / wazi")

vichwa vya mwisho.

s.wfile.write (dados)

# s.file.write ("haikupatikana !!")

def le_dados ():

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

maandishi = arq. mstari wa kusoma ()

arq karibu ()

kurudi maandishi

ikiwa _name_ == '_main_':

seva_class = BaseHTTPServer. HTTPServer

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

wakati wa kuchapisha. saa ya saa (), "Seva Inaanza -% s:% s"% (HOST_NAME, PORT_NUMBER)

jaribu:

a = a + 2

httpd.serve_forever ()

isipokuwa KeyboardInterrupt:

kupita

httpd.server_close ()

wakati wa kuchapisha.asctime (), "Server Stops -% s:% s"% (HOST_NAME, PORT_NUMBER)

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

#! / bin / bash

mwangwi "kuanzia mag_python"

sudo chatu mag_python.py &

mwangwi "anza seva"

Sudo python server2.py

Hatua ya 6: Mwisho wa Resultado

Mwisho wa Matokeo
Mwisho wa Matokeo

Feito isso as aulas poderão ser auxiliadas and 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.

KIUNGO kwa programu hakuna Google Play:

Unganisha para códigos Py:

Ilipendekeza: