Բովանդակություն:

Խելացի դաս. 6 քայլ
Խելացի դաս. 6 քայլ

Video: Խելացի դաս. 6 քայլ

Video: Խելացի դաս. 6 քայլ
Video: Այս 6 ՀԱՆԵԼՈւԿՆԵՐԸ և ԳԼՈւԽԿՈՏՐՈւԿՆԵՐԸ շատ ՔՉԵՐԸ կկարողանան ՃԻՇՏ լուծել 2024, Նոյեմբեր
Anonim
Խելացի դաս
Խելացի դաս

Եթե ցանկանում եք խելացի դասի վիզա տրամադրել, այն կարող է օգտագործվել առանց որևէ մասնագիտության, որը կօգնի ձեզ օգտագործել այն, ինչ կարող եք օգտագործել, քանի որ այն կարող է գերազանցել ձեր բոլոր հնարավորությունները, քանի որ դրանք գերազանցում են մեր ձևերը, որոնք օգտագործվում են, երբ մենք օգտագործում ենք մեր արտադրանքը, օգտագործում կամ օգտագործում ենք մեր արտադրանքը: de aula պայմանական.

Քայլ 1: Նյութեր

Նյութական
Նյութական

Նախագծեք Dragonboard 410c- ը

- Dragonboard 410c;

- Cabo HDMI;

-Teclado USB- ի միջոցով -Մկնիկի միջոցով USB -Monitor- ի միջոցով;

- միջհարկանի 96 տախտակ;

Նախագծի կատարման կամ նախագծման համար

- Dragonboard 410c;

- միջհարկանի 96 տախտակ;

- Sensor Grove IMU 10DOF MPU - 9250 (չի սահմանափակվում կամ օգտագործվում է único ցուցիչով);

- Fonte de alimentação externa 11.1V;

- Jumper fêmea-fêmea;

Քայլ 2: Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem

Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96 Տախտակներ. Configuração E Pinagem

O Shield Mezzanine deve ser acoplado à placa Dragonboard 410c, para que haja fornecimento de saída 3.3V / 5V (մակարդակի փոփոխիչ), pois a placa só fornece 1.8V de saída. O sensor utilizado foi um magnetômetro Sensor MPU -9250 Grove -IMU 10DOF, especificações:

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

Ֆունկցիոնալ կորենտ ՝ 6 մԱ;

Comunicação Սերիալ;

Pinos: VCC, GND, SDA և SCL;

I2C ինտերֆեյս;

Նախկինում մենք օգտագործում ենք Grove I2C0 (5V) կոնեկտորների օգտագործումը, որոնք օգտագործվում են որպես սերիալ և կոմունիկացիաներ անհրաժեշտ են սենսորային գործառույթների համար: (բանավոր պատկեր)

Քայլ 3: Ինտեգրում. Միասնություն + Վուֆորիա

Ինտեգրացիա: Միասնություն + Վուֆորիա
Ինտեգրացիա: Միասնություն + Վուֆորիա

1- Vá ao site da vuforia na área de desenvolvedor e crie uma chave.

2- Ներդիրում Թիրախային կառավարիչ և առաջարկներ, որոնք կօգնեն ձեզ հետևել տեքստին կամ հետևելուն (quanto mais complexa melhor):

3- Feito isso baixe տվյալների բազայի կամ Unity e importe- ի համար:

4- No Unity- ը կարգավորում է պատկերի թիրախը ՝ օգտագործելով տեքստային տարբերակներ և մեթոդներ, որոնք առաջարկում են օգտագործել 3D մոդելներ, որոնք կօգտագործվեն, եթե ցանկանում եք օգտագործել պատկերների տեղայնացման ծրագիրը:

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

6- Ներկայացնում ենք մոդելի բոլոր բաղադրիչները, որոնք նախատեսված են 3D ծրագրի համար և պատրաստում ենք որպես պատկերի թիրախ, ինչպես նաև մեր կենսաբանության կամ ֆասիկայի…

Քայլ 4: Միասնություն. Կարգավորեք O Android SDK- ն

Միասնություն. Կարգավորեք O Android SDK- ն
Միասնություն. Կարգավորեք O Android SDK- ն

1- Baixe կամ SDK- ը Android- ի համար, ինչպես նաև Unity- ի նախապատվությունները և ընտրված տարբերակները:

2- Mude a build plataform do Unity para o android, assim conseguiremos gerar o APK.

3- Տեղադրեք apk em um dispitivo (não esqueça de allowir fontes desconhecidas nas configurações) տեղադրումը:

Քայլ 5. Criando Servidor Local E Recebendo Informações Em Python

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

Եզրակացություններ կատարելով որպես ներկայացուցչական համակարգ, որը կարող է օգտագործվել համակարգային կապի միջոցով, որը կարող է օգտագործվել C ++, Java, Python և այլն օգտագործող լեզուներով, ինչպես նաև ծրագրային ապահովման միջոցով: Այս ծրագրաշարը պատասխանատու է ընդունող սարքի համար, որը թույլ է տալիս օգտագործել տվիչ, մշակել և կատարելագործել այն, ինչը թույլ է տալիս կատարել ծրագրային ապահովման պահանջներ: Depois carrega esses dados para or 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. Os dados são transferidos da Dragonboard 410c para o Unity e são apresentados em um հավելվածով:

Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (Servidor local), Executável no Shell:

Código mag_python.py

#!/usr/bin/python

# Հեղինակ ՝ onոն Թրուլսոն

# Հեղինակային իրավունք (գ) 2015 Intel Corporation.

#

# Սույնով թույլտվությունը տրվում է անվճար ՝ ցանկացած անձի, ով ստանում է

# այս ծրագրաշարի և դրան առնչվող փաստաթղթերի պատճենը (# «Softwareրագրային ապահովում»), առանց սահմանափակման գործարք իրականացնել Softwareրագրում, ներառյալ

# առանց սահմանափակման օգտագործման, պատճենման, փոփոխման, միաձուլման, հրապարակման իրավունքները, # տարածել, ենթալիցենզավորել և (կամ) վաճառել Softwareրագրաշարի պատճենները և

# թույլատրել այն անձանց, ում theրագրակազմը տրամադրված է դա անելու համար ՝ ենթակա

# հետևյալ պայմանները.

#

# Հեղինակային իրավունքի վերը նշված ծանուցումը և թույլտվության այս ծանուցումը պետք է լինեն

# ներառված է copiesրագրաշարի բոլոր պատճեններում կամ զգալի մասերում:

#

# SOՐԱԳԻՐԸ ՏՐԱՄԱԴՐՎՈՄ Է «ԻՆՉՊԵՍ», ԱՌԱՆ KԱՆԿԱԱՅԻՆ ԵՐԱՇԽԻՔԻ, # PRԱՌԱՅՈ ORԹՅՈ ORՆ ԿԱՄ ՆՇՎԱ, ներառյալ, բայց ոչ սահմանափակված ԵՐԱՇԽԻՔՆԵՐՈՎ

# ԱՌԵՎՏՐԱԿԱՆՈԹՅՈՆ, ՊԱՏԱՍԽԱՆՈԹՅՈՆ ՄԱՍՆԱԳԵՏ ՆՊԱՏԱԿԻ ՀԱՄԱՐ ԵՎ

# ՈՉ ԱՊՐԱՆՔ: ՈՉ ՄԻ ԱՊԱՀՈՎՈALLՄ ԼԻՆԵՆ ՀԵTHԻՆԱԿՆԵՐԸ ԵՎ ՀԵPԱՍՏԱՆԱԿԱՆ ԻՐԱՎՈՆՔՆԵՐԸ

# ՊԱՏԱՍԽԱՆ ԱՆԿԱԱ ՊԱՀԱՆՈ,ԹՅԱՆ, ՎESԱՌՆԵՐԻ ԵՎ ԱՅԼ ՊԱՇՏՊԱՆՈԹՅԱՆ ՀԱՄԱՐ, ԹԵՄ ԱԿIONԻԱ

# ՊԱՅՄԱՆԱԳԻՐԻ, TԱՆԳԱ ORԱՆԻ ԵՎ ԱՅԼ ԻՆՉՊԵՍ, ARԱՌԱՅՈԹՅՈՆ Նրանից, ԿԱՄ ԿԱՄ

# SOԱՌԱՅՈԹՅԱՆ ԿԱՄ, ՕԳՏԱԳՈՐՎՈ ORՄ, ԿԱՄ OTHERԱՌԱՅՈԹՅԱՆ ԱՅԼ DEԱՌԱՅՈԹՅՈՆՆԵՐՈՎ:

_ ապագա_ ներմուծման տպման գործառույթից

ներմուծման ժամանակը, sys, ազդանշանը, atexit, urllib, urllib2, մաթ

upm ներմուծումից pyupm_mpu9150 որպես sensorObj

def main ():

# տվյալ = {}

# data ['magnetrometro'] = raw_input («Տեղեկացնել ջերմաստիճանի մասին»)

# տվյալներ = urlib.urlencode (տվյալներ)

# փոստ_պահանջ = urlib2. Request (post_url, data, headers)

# փորձել:

# post_response = urlib2.urlopen (փոստ_պահանջ)

# տպել post_response.read ()

# բացառությամբ URLError- ի, ինչպես e:

# տպել «Սխալ.», էլ. պատճառ

# Տեղադրեք MPU9250 I2C ավտոբուսում 0

տվիչ = սենսոր Obb. MPU9250 ()

## Ելք կարգավարներ ##

# Այս գործառույթը խանգարում է python- ին տպել stacktrace- ը, երբ հարվածում եք control-C- ին

def SIGINTHandler (նշան, շրջանակ):

բարձրացնել SystemExit- ը

# Այս գործառույթը թույլ է տալիս ելքի վրա գործարկել կոդը

def exitHandler ():

տպել («Ելք»)

sys.exit (0)

# Գրանցեք ելքի մշակողներ

atexit.register (exitHandler)

ազդանշան. ազդանշան (ազդանշան. SIGINT, SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

մինչդեռ (1):

sensor.update ()

sensor.get արագացուցիչ (x, y, z)

# տպել («Արագացուցիչ».)

# տպել ("AX: %.4f" % sensorObj.floatp_value (x), end = "")

# տպել ("AY: %.4f" % sensorObj.floatp_value (y), վերջ = '')

# տպել ("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

# տպել (modulo1)

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

# տպել (modulo1)

#

# sensor.getGyroscope (x, y, z)

# տպել ("Gyroscope: GX:", sensorObj.floatp_value (x), end = "")

# տպել («GY:», sensorObj.floatp_value (y), վերջ = '')

# տպել ("GZ:", sensorObj.floatp_value (z))

sensor.getMagnetometer (x, y, z)

# տպել ("Մագնիսաչափ. MX:", sensorObj.floatp_value (x), վերջ = ")

# տպել («ԻՄ:», sensorObj.floatp_value (y), ավարտ = '')

# տպել ("MZ:", sensorObj.floatp_value (z))

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

# տպել (modulo2)

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

# տպել (modulo2)

arq = բաց ('/tmp/dados.txt', 'w')

տեքստ =

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

arq.writelines (texto)

arq.close ()

# հղում = ('https://data.sparkfun.com/input/0lwWlyRED5i7K0AZx4JO?private_key=D6v76yZrg9CM2DX8x97B&mag='+str(modulo2))

# տպել ('enviando dados')

# ուղարկել = urllib2.urlopen (հղում)

# էջ = send.read ()

# տպել (էջ)

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

# տպել ('enviando dados')

# ուղարկել = urllib2.urlopen (հղում)

# էջ = send.read ()

# տպել (էջ)

# տպել ("peratերմաստիճանը.", sensor.getTemperature ())

# տպել ()

# ժամանակ. քուն (.5)

եթե _name_ == '_ հիմնական_':

հիմնական ()

Código do Servidor Local

ներմուծման ժամանակը

ներմուծել BaseHTTPS սերվեր

HOST_NAME = '172.17.56.9' # !!! ՀԻՇԵՔ ԱՅՍ ՓՈԽԵԼ !!!

PORT_NUMBER = 80 # Գուցե սա սահմանեք 9000 -ի:

a = 0

դաս MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (ներ) ՝

s.send_response (200)

s.send_header («Բովանդակության տեսակ», «տեքստ/html»)

s.end_headers ()

def do_GET (ներ) ՝

dados = le_dados ()

տպել (հայրոս)

"" "Պատասխան GET հարցմանը" "":

եթե s.path == "/1":

s.send_response (200)

s.send_header («Բովանդակության տեսակ», «տեքստ/պարզ»)

s.end_headers ()

s.wfile.write (dados)

elif s.path == "/2":

s.send_response (200)

s.send_header («Բովանդակության տեսակ», «տեքստ/պարզ»)

s.end_headers ()

s.wfile.write («2»)

այլ:

s.send_response (200)

s.send_header («Բովանդակության տեսակ», «տեքստ/պարզ»)

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("չի գտնվել !!")

def le_dados ():

arq = բաց ('/tmp/dados.txt', 'r')

texto = arq.readline ()

arq.close ()

վերադարձնել տեքստը

եթե _name_ == '_ հիմնական_':

server_class = BaseHTTPServer. HTTPS սերվեր

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

տպման ժամանակ. asctime (), "Սերվերը սկսվում է - %s: %s" %(HOST_NAME, PORT_NUMBER)

փորձել:

a = a+2

httpd.serve_forever ()

բացառությամբ Ստեղնաշարի

անցնել

httpd.server_close ()

տպման ժամանակ. asctime (), "Սերվերի կանգառներ - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

արձագանք «սկսած mag_python»

sudo python mag_python.py &

echo «սկսել սերվեր»

sudo python server2.py

Քայլ 6: Արդյունքների եզրափակիչ

Արդյունքների եզրափակիչ
Արդյունքների եզրափակիչ

Feito isso as aulas poderão ser auxiliadas e incrementadas pelo projeto Smart դասի նպատակն է օգտագործել Dragonboard 410c- ը: Vառայությունների դյուրացման և աջակցության ծառայություններ, որոնք կարող են ծառայել մեր համակարգերի կողմից ՝ որպես մասնավոր մասնավոր պաշտպանություն:

LINK առանց Google Play հավելվածի ՝

Հղում դեպի Py Py:

Խորհուրդ ենք տալիս: