Სარჩევი:

ჭკვიანი გაკვეთილი: 6 ნაბიჯი
ჭკვიანი გაკვეთილი: 6 ნაბიჯი

ვიდეო: ჭკვიანი გაკვეთილი: 6 ნაბიჯი

ვიდეო: ჭკვიანი გაკვეთილი: 6 ნაბიჯი
ვიდეო: ცვანციკას ონლაინ გაკვეთილები - VI კლასი: ნატურალური რიცხვები 2024, ნოემბერი
Anonim
ჭკვიანი გაკვეთილი
ჭკვიანი გაკვეთილი

გონივრული გაკვეთილის სავიზო კრიტერიუმების გარეშე შეგიძლიათ გამოიყენოთ არავითარი კვალიფიკაცია, რომელიც შეიძლება გამოყენებულ იქნას როგორც შემდგომში, ასევე შემდგომში, როდესაც ჩვენ ვგეგმავთ, რომ გამოვიყენოთ ის, რაც შეგვიძლია გამოვიყენოთ, გავზარდოთ და გავზარდოთ ჩვენი გამოცდილება de aula ჩვეულებრივი.

ნაბიჯი 1: მასალა

მატერია
მატერია

პროგრამირება Dragonboard 410c:

- Dragonboard 410c;

- Cabo HDMI;

-Teclado USB– თაგვის მეშვეობით USB -მონიტორი;

- ანტრესოლის 96 დაფა;

შემსრულებელი ან პროექტო:

- Dragonboard 410c;

- ანტრესოლის 96 დაფა;

- Sensor Grove IMU 10DOF MPU - 9250 (არ არის შეზღუდული ან გამოიყენება umnico სენსორი);

- Fonte de alimentação externa 11.1V;

- მხტუნავი 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 სენსორი იყენებს მაგნიტმეტრს სენსორი MPU -9250 Grove -IMU 10DOF, სპეციფიკური:

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

ფუნქციური კორექტირება: 6mA;

Comunicação სერიული;

კინო: VCC, GND, SDA e SCL;

I2C ინტერფეისი;

ჩვენ შეგვიძლია გამოვიყენოთ Grove I2C0 (5V), რომელიც გამოიყენება კომუნიკაციისთვის სერიული და საჭიროებისამებრ სენსორის ფუნქციონირებისთვის. (ver imagem)

ნაბიჯი 3: ინტეგრაცია: ერთობა + ვუფორია

ინტეგრაცია: ერთობა + ვუფორია
ინტეგრაცია: ერთობა + ვუფორია

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

2- ჩანართი სამიზნე მენეჯერი და ტექსტი ტექსტში შემავალი o Tracking (quanto mais complexa melhor).

3- Feito isso baixe მონაცემთა ბაზა ერთიანობისა და იმპორტისათვის.

4- No Unity დააკონფიგურიროთ სურათის სამიზნე და ტექსტურირებული გაფართოება, რომელიც გამოიყენება 3D მოდელის გამოყენებით და გამოიყენოს ის, რაც საშუალებას მოგცემთ გამოიყენოთ გამოსახულება ლოკალიზაციის პროგრამისთვის.

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

6- ეს არის მოდელი, რომელიც მოიცავს პროგრამის 3D პროგრამას და მოამზადეთ როგორც გამოსახულების სამიზნე (როგორც წესი, ბიოლოგია და ფიზიკა…).

ნაბიჯი 4: ერთობა: დააინსტალირეთ Android SDK

ერთობა: დააკონფიგურირეთ Android SDK
ერთობა: დააკონფიგურირეთ Android SDK

1- Baixe ან SDK Android- ისთვის და ერთიანობის პრეფერენციებისა და არჩევანის გაკეთების მიზნით.

2- Mude a build plataform do Unity para 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 და სხვა პროგრამები, რომლებიც გამოიყენება C ++, Java, Python და ა.შ., პროგრამული უზრუნველყოფის გამოყენებით. ეს არის პროგრამული უზრუნველყოფა, რომელიც პასუხობს მიმღებს, რომლითაც შეგიძლიათ გამოიყენოთ სენსორი, დამუშავდეს და შეაფასოს ის, რომ დააკმაყოფილოს თქვენი პროგრამის მოთხოვნა. Depois carrega esses dados para or servidor alocado na própria placa para enviar os dados já tratados para 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 soo apresentados em um app.

Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (Servidor local), შეასრულეთ no Shell:

Código mag_python.py

#!/usr/bin/პითონი

# ავტორი: ჯონ ტრულსონი

# საავტორო უფლება (გ) 2015 კორპორაცია ინტელი.

#

# ნებართვა მოცემულია უფასოდ, ნებისმიერი პირისთვის, ვინც იღებს მას

# ამ პროგრამული უზრუნველყოფის ასლი და მასთან დაკავშირებული დოკუმენტაციის ფაილები (# "პროგრამული უზრუნველყოფა"), შეასრულოს პროგრამული უზრუნველყოფა შეზღუდვის გარეშე, მათ შორის

# შეზღუდვის გარეშე გამოყენების, კოპირების, შეცვლის, შერწყმის, გამოქვეყნების უფლება, # გავრცელება, ქველიცენზირება და/ან გაყიდვა პროგრამული უზრუნველყოფის ასლები, და

# ნება დართეთ პირებს, ვისთვისაც აღჭურვილია პროგრამული უზრუნველყოფა, ექვემდებარება ამას

# შემდეგი პირობები:

#

# ზემოაღნიშნული საავტორო უფლებების ცნობა და ეს ნებართვის ცნობა უნდა იყოს

# შედის პროგრამის ყველა ასლში ან მნიშვნელოვან ნაწილში.

#

# პროგრამული უზრუნველყოფა უზრუნველყოფილია "როგორც არის", ყოველგვარი სახის გარანტიის გარეშე, # ექსპრესი ან იგულისხმება, მათ შორის, მაგრამ არ შემოიფარგლება გარანტიებით

# ვაჭრობა, ვარგისიანობა კონკრეტული მიზნისათვის და

# არასამთავრობო არავითარ შემთხვევაში არ უნდა იყვნენ ავტორები ან საავტორო უფლებების მფლობელები

# პასუხისმგებელია ნებისმიერი პრეტენზიის, ზიანის ან სხვა პასუხისმგებლობისათვის, მიუხედავად იმისა, რომ მოქმედებაში

# კონტრაქტის, ტრამვის ან სხვაგვარად, წარმოშობით, გარეთ ან კავშირში

# პროგრამულ უზრუნველყოფასთან ან გამოყენებასთან ან სხვა საქმეებთან ერთად პროგრამულ უზრუნველყოფაში.

_future_ იმპორტი print_function

იმპორტის დრო, sys, სიგნალი, atexit, urllib, urllib2, მათემატიკა

upm იმპორტი pyupm_mpu9150 როგორც sensorObj

def main ():

# მონაცემი = {}

# data ['magnetrometro'] = raw_input ("Informe a temperatura")

# მონაცემები = urlib.urlencode (მონაცემები)

# პოსტი_მოთხოვნა = urlib2. Request (post_url, data, headers)

# ცადე:

# post_response = urlib2.urlopen (პოსტის_თხოვნა)

# ამობეჭდვა post_response.read ()

# URLError როგორც e:

# ბეჭდვა "შეცდომა:", ე. მიზეზი

# დააინსტალირეთ MPU9250 I2C ავტობუსზე 0

სენსორი = სენსორიObj. MPU9250 ()

## დამმუშავებლების გასვლა ##

# ეს ფუნქცია აჩერებს პითონს დაბეჭდვისას 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):

სენსორი. განახლება ()

სენსორი. მიიღეთ აქსელერომეტრი (x, y, z)

# ბეჭდვა ("ამაჩქარებელი:")

# ბეჭდვა ("AX: %.4f" % sensorObj.floatp_value (x), დასასრული = "")

# ბეჭდვა ("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)

#

# სენსორი. მიიღეთ გიროსკოპი (x, y, z)

# print ("გიროსკოპი: GX:", sensorObj.floatp_value (x), დასასრული = "")

# ბეჭდვა ("GY:", sensorObj.floatp_value (y), დასასრული = '')

# ბეჭდვა ("GZ:", sensorObj.floatp_value (z))

sensor.getMagnetometer (x, y, z)

# print ("მაგნიტომეტრი: 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 =

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

arq.writelines (texto)

arq. დახურვა ()

# ბმული = ('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 ()

# ბეჭდვა (გვერდი)

# print ("ტემპერატურა:", 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):

s.send_response (200)

s.send_header ("შინაარსის ტიპი", "text/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. დახურვა ()

ტექსტის დაბრუნება

თუ _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 &

ექო "სერვერის დაწყება"

sudo python server2.py

ნაბიჯი 6: შედეგი საბოლოო

შედეგი საბოლოო
შედეგი საბოლოო

Feito isso როგორც aulas poderão ser auxiliadas და incrementadas pelo projeto Smart Lesson desenvolvido com a Dragonboard 410c. მომსახურების გაადვილება და პროპორციულობა და ჩვენი უმთავრესი აპრენდიზოდა ჩვენი სისტემების შემსუბუქებული რაოდენობის შეზღუდვის გარეშე.

LINK აპლიკაციის გარეშე Google Play:

ლინკები códigos Py- სთვის:

გირჩევთ: